{
  "schemas": {
    "Status": {
      "id": "Status",
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://documentation.s3ns.fr/apis/design/errors).",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client."
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          },
          "type": "array"
        },
        "code": {
          "type": "integer",
          "format": "int32",
          "description": "The status code, which should be an enum value of google.rpc.Code."
        }
      }
    },
    "AssetEnrichment": {
      "description": "The enhanced metadata information for a resource.",
      "type": "object",
      "properties": {
        "resourceOwners": {
          "description": "The resource owners for a resource. Note that this field only contains the members that have \"roles/owner\" role in the resource's IAM Policy.",
          "$ref": "ResourceOwners"
        }
      },
      "id": "AssetEnrichment"
    },
    "VersionedResource": {
      "description": "Resource representation as defined by the corresponding service providing the resource for a given API version.",
      "id": "VersionedResource",
      "type": "object",
      "properties": {
        "assetExceptions": {
          "description": "The exceptions of a resource.",
          "type": "array",
          "items": {
            "$ref": "AssetException"
          }
        },
        "resource": {
          "description": "JSON representation of the resource as defined by the corresponding service providing this resource. Example: If the resource is an instance provided by Compute Engine, this field will contain the JSON representation of the instance as defined by Compute Engine: `https://documentation.s3ns.fr/compute/docs/reference/rest/v1/instances`. You can find the resource definition for each supported resource type in this table: `https://documentation.s3ns.fr/asset-inventory/docs/supported-asset-types`",
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "type": "object"
        },
        "version": {
          "description": "API version of the resource. Example: If the resource is an instance provided by Compute Engine v1 API as defined in `https://documentation.s3ns.fr/compute/docs/reference/rest/v1/instances`, version will be \"v1\".",
          "type": "string"
        }
      }
    },
    "RelatedResource": {
      "id": "RelatedResource",
      "description": "The detailed related resource.",
      "type": "object",
      "properties": {
        "fullResourceName": {
          "description": "The full resource name of the related resource. Example: `//compute.googleapis.com/projects/my_proj_123/zones/instance/instance123`",
          "type": "string"
        },
        "assetType": {
          "description": "The type of the asset. Example: `compute.googleapis.com/Instance`",
          "type": "string"
        }
      }
    },
    "RelatedResources": {
      "description": "The related resources of the primary resource.",
      "type": "object",
      "id": "RelatedResources",
      "properties": {
        "relatedResources": {
          "description": "The detailed related resources of the primary resource.",
          "items": {
            "$ref": "RelatedResource"
          },
          "type": "array"
        }
      }
    },
    "Tag": {
      "description": "The key and value for a [tag](https://documentation.s3ns.fr/resource-manager/docs/tags/tags-overview).",
      "properties": {
        "tagValue": {
          "type": "string",
          "description": "TagValue namespaced name, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}."
        },
        "tagKeyId": {
          "type": "string",
          "description": "TagKey ID, in the format of tagKeys/{TAG_KEY_ID}."
        },
        "tagKey": {
          "description": "TagKey namespaced name, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.",
          "type": "string"
        },
        "tagValueId": {
          "type": "string",
          "description": "TagValue ID, in the format of tagValues/{TAG_VALUE_ID}."
        }
      },
      "id": "Tag",
      "type": "object"
    },
    "EffectiveTagDetails": {
      "type": "object",
      "description": "The effective tags and the ancestor resources from which they were inherited.",
      "properties": {
        "attachedResource": {
          "type": "string",
          "description": "The [full resource name](https://documentation.s3ns.fr/asset-inventory/docs/resource-name-format) of the ancestor from which effective_tags are inherited, according to [tag inheritance](https://documentation.s3ns.fr/resource-manager/docs/tags/tags-overview#inheritance)."
        },
        "effectiveTags": {
          "items": {
            "$ref": "Tag"
          },
          "type": "array",
          "description": "The effective tags inherited from the attached_resource. Note that tags with the same key but different values may attach to resources at a different hierarchy levels. The lower hierarchy tag value will overwrite the higher hierarchy tag value of the same tag key. In this case, the tag value at the higher hierarchy level will be removed. For more information, see [tag inheritance](https://documentation.s3ns.fr/resource-manager/docs/tags/tags-overview#inheritance)."
        }
      },
      "id": "EffectiveTagDetails"
    },
    "ResourceOwners": {
      "description": "The resource owners information.",
      "type": "object",
      "id": "ResourceOwners",
      "properties": {
        "resourceOwners": {
          "description": "List of resource owners.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "SearchAllResourcesResponse": {
      "description": "Search all resources response.",
      "type": "object",
      "id": "SearchAllResourcesResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`."
        },
        "results": {
          "items": {
            "$ref": "ResourceSearchResult"
          },
          "type": "array",
          "description": "A list of Resources that match the search query. It contains the resource standard metadata information."
        }
      }
    },
    "AttachedResource": {
      "description": "Attached resource representation, which is defined by the corresponding service provider. It represents an attached resource's payload.",
      "type": "object",
      "id": "AttachedResource",
      "properties": {
        "assetType": {
          "description": "The type of this attached resource. Example: `osconfig.googleapis.com/Inventory` You can find the supported attached asset types of each resource in this table: `https://documentation.s3ns.fr/asset-inventory/docs/supported-asset-types`",
          "type": "string"
        },
        "versionedResources": {
          "items": {
            "$ref": "VersionedResource"
          },
          "type": "array",
          "description": "Versioned resource representations of this attached resource. This is repeated because there could be multiple versions of the attached resource representations during version migration."
        }
      }
    },
    "Empty": {
      "id": "Empty",
      "type": "object",
      "properties": {},
      "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); }"
    },
    "ListOperationsResponse": {
      "properties": {
        "operations": {
          "items": {
            "$ref": "Operation"
          },
          "type": "array",
          "description": "A list of operations that matches the specified filter in the request."
        },
        "unreachable": {
          "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "id": "ListOperationsResponse",
      "description": "The response message for Operations.ListOperations.",
      "type": "object"
    },
    "AssetException": {
      "id": "AssetException",
      "description": "An exception of an asset.",
      "properties": {
        "exceptionType": {
          "description": "The type of exception.",
          "enum": [
            "EXCEPTION_TYPE_UNSPECIFIED",
            "TRUNCATION"
          ],
          "enumDescriptions": [
            "exception_type is not applicable for the current asset.",
            "The asset content is truncated."
          ],
          "type": "string"
        },
        "details": {
          "type": "string",
          "description": "The details of the exception."
        }
      },
      "type": "object"
    },
    "CancelOperationRequest": {
      "description": "The request message for Operations.CancelOperation.",
      "properties": {},
      "id": "CancelOperationRequest",
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "id": "Operation",
      "properties": {
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "metadata": {
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "ResourceSearchResult": {
      "id": "ResourceSearchResult",
      "type": "object",
      "properties": {
        "description": {
          "description": "One or more paragraphs of text description of this resource. Maximum length could be up to 1M bytes. This field is available only when the resource's Protobuf contains it. To search against the `description`: * Use a field query. Example: `description:\"important instance\"` * Use a free text query. Example: `\"important instance\"`",
          "type": "string"
        },
        "versionedResources": {
          "items": {
            "$ref": "VersionedResource"
          },
          "description": "Versioned resource representations of this resource. This is repeated because there could be multiple versions of resource representations during version migration. This `versioned_resources` field is not searchable. Some attributes of the resource representations are exposed in `additional_attributes` field, so as to allow users to search on them.",
          "type": "array"
        },
        "tagKeys": {
          "description": "This field is only present for the purpose of backward compatibility. Use the `tags` field instead. TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}. To search against the `tagKeys`: * Use a field query. Example: - `tagKeys:\"123456789/env*\"` - `tagKeys=\"123456789/env\"` - `tagKeys:\"env\"` * Use a free text query. Example: - `env`",
          "type": "array",
          "deprecated": true,
          "items": {
            "type": "string"
          }
        },
        "folders": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The folder(s) that this resource belongs to, in the form of folders/{FOLDER_NUMBER}. This field is available when the resource belongs to one or more folders. To search against `folders`: * Use a field query. Example: `folders:(123 OR 456)` * Use a free text query. Example: `123` * Specify the `scope` field as this folder in your search request."
        },
        "location": {
          "type": "string",
          "description": "Location can be `global`, regional like `us-east1`, or zonal like `us-west1-b`. This field is available only when the resource's Protobuf contains it. To search against the `location`: * Use a field query. Example: `location:us-west*` * Use a free text query. Example: `us-west*`"
        },
        "state": {
          "description": "The state of this resource. Different resources types have different state definitions that are mapped from various fields of different resource types. This field is available only when the resource's Protobuf contains it. Example: If the resource is an instance provided by Compute Engine, its state will include PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. See `status` definition in [API Reference](https://documentation.s3ns.fr/compute/docs/reference/rest/v1/instances). If the resource is a project provided by Resource Manager, its state will include LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED and DELETE_IN_PROGRESS. See `lifecycleState` definition in [API Reference](https://documentation.s3ns.fr/resource-manager/reference/rest/v1/projects). To search against the `state`: * Use a field query. Example: `state:RUNNING` * Use a free text query. Example: `RUNNING`",
          "type": "string"
        },
        "additionalAttributes": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "description": "The additional searchable attributes of this resource. The attributes may vary from one resource type to another. Examples: `projectId` for Project, `dnsName` for DNS ManagedZone. This field contains a subset of the resource metadata fields that are returned by the List or Get APIs provided by the corresponding Cloud de Confiance service (e.g., Compute Engine). see [API references and supported searchable attributes](https://documentation.s3ns.fr/asset-inventory/docs/supported-asset-types) to see which fields are included. You can search values of these fields through free text search. However, you should not consume the field programically as the field names and values may change as the Cloud de Confiance service updates to a new incompatible API version. To search against the `additional_attributes`: * Use a free text query to match the attributes values. Example: to search `additional_attributes = { dnsName: \"foobar\" }`, you can issue a query `foobar`.",
          "type": "object"
        },
        "parentAssetType": {
          "type": "string",
          "description": "The type of this resource's immediate parent, if there is one. To search against the `parent_asset_type`: * Use a field query. Example: `parentAssetType:\"cloudresourcemanager.googleapis.com/Project\"` * Use a free text query. Example: `cloudresourcemanager.googleapis.com/Project`"
        },
        "networkTags": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Network tags associated with this resource. Like labels, network tags are a type of annotations used to group Cloud de Confiance resources. See [Labelling Cloud de Confiance resources](https://documentation.s3ns.fr/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information. This field is available only when the resource's Protobuf contains it. To search against the `network_tags`: * Use a field query. Example: `networkTags:internal` * Use a free text query. Example: `internal`"
        },
        "sccSecurityMarks": {
          "description": "The actual content of Security Command Center security marks associated with the asset. To search against SCC SecurityMarks field: * Use a field query: - query by a given key value pair. Example: `sccSecurityMarks.foo=bar` - query by a given key's existence. Example: `sccSecurityMarks.foo:*`",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "tagValueIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "deprecated": true,
          "description": "This field is only present for the purpose of backward compatibility. Use the `tags` field instead. TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}. To search against the `tagValueIds`: * Use a field query. Example: - `tagValueIds=\"tagValues/456\"` * Use a free text query. Example: - `456`"
        },
        "name": {
          "type": "string",
          "description": "The full resource name of this resource. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Cloud Asset Inventory Resource Name Format](https://documentation.s3ns.fr/asset-inventory/docs/resource-name-format) for more information. To search against the `name`: * Use a field query. Example: `name:instance1` * Use a free text query. Example: `instance1`"
        },
        "createTime": {
          "format": "google-datetime",
          "description": "The create timestamp of this resource, at which the resource was created. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource's Protobuf contains it. To search against `create_time`: * Use a field query. - value in seconds since unix epoch. Example: `createTime \u003e 1609459200` - value in date string. Example: `createTime \u003e 2021-01-01` - value in date-time string (must be quoted). Example: `createTime \u003e \"2021-01-01T00:00:00\"`",
          "type": "string"
        },
        "assetType": {
          "description": "The type of this resource. Example: `compute.googleapis.com/Disk`. To search against the `asset_type`: * Specify the `asset_type` field in your search request.",
          "type": "string"
        },
        "tagValues": {
          "description": "This field is only present for the purpose of backward compatibility. Use the `tags` field instead. TagValue namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}. To search against the `tagValues`: * Use a field query. Example: - `tagValues:\"env\"` - `tagValues:\"env/prod\"` - `tagValues:\"123456789/env/prod*\"` - `tagValues=\"123456789/env/prod\"` * Use a free text query. Example: - `prod`",
          "deprecated": true,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "effectiveTags": {
          "type": "array",
          "items": {
            "$ref": "EffectiveTagDetails"
          },
          "description": "The effective tags on this resource. All of the tags that are both attached to and inherited by a resource are collectively called the effective tags. For more information, see [tag inheritance](https://documentation.s3ns.fr/resource-manager/docs/tags/tags-overview#inheritance). To search against the `effective_tags`: * Use a field query. Example: - `effectiveTagKeys:\"123456789/env*\"` - `effectiveTagKeys=\"123456789/env\"` - `effectiveTagKeys:\"env\"` - `effectiveTagKeyIds=\"tagKeys/123\"` - `effectiveTagValues:\"env\"` - `effectiveTagValues:\"env/prod\"` - `effectiveTagValues:\"123456789/env/prod*\"` - `effectiveTagValues=\"123456789/env/prod\"` - `effectiveTagValueIds=\"tagValues/456\"`"
        },
        "updateTime": {
          "description": "The last update timestamp of this resource, at which the resource was last modified or deleted. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource's Protobuf contains it. To search against `update_time`: * Use a field query. - value in seconds since unix epoch. Example: `updateTime \u003c 1609459200` - value in date string. Example: `updateTime \u003c 2021-01-01` - value in date-time string (must be quoted). Example: `updateTime \u003c \"2021-01-01T00:00:00\"`",
          "type": "string",
          "format": "google-datetime"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "User labels associated with this resource. See [Labelling and grouping Cloud de Confiance resources](https://documentation.s3ns.fr/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information. This field is available only when the resource's Protobuf contains it. To search against the `labels`: * Use a field query: - query on any label's key or value. Example: `labels:prod` - query by a given label. Example: `labels.env:prod` - query by a given label's existence. Example: `labels.env:*` * Use a free text query. Example: `prod`"
        },
        "kmsKeys": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The Cloud KMS [CryptoKey](https://documentation.s3ns.fr/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys) names or [CryptoKeyVersion](https://documentation.s3ns.fr/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions) names. This field is available only when the resource's Protobuf contains it. To search against the `kms_keys`: * Use a field query. Example: `kmsKeys:key` * Use a free text query. Example: `key`"
        },
        "attachedResources": {
          "type": "array",
          "items": {
            "$ref": "AttachedResource"
          },
          "description": "Attached resources of this resource. For example, an OSConfig Inventory is an attached resource of a Compute Instance. This field is repeated because a resource could have multiple attached resources. This `attached_resources` field is not searchable. Some attributes of the attached resources are exposed in `additional_attributes` field, so as to allow users to search on them."
        },
        "displayName": {
          "description": "The display name of this resource. This field is available only when the resource's Protobuf contains it. To search against the `display_name`: * Use a field query. Example: `displayName:\"My Instance\"` * Use a free text query. Example: `\"My Instance\"`",
          "type": "string"
        },
        "organization": {
          "description": "The organization that this resource belongs to, in the form of organizations/{ORGANIZATION_NUMBER}. This field is available when the resource belongs to an organization. To search against `organization`: * Use a field query. Example: `organization:123` * Use a free text query. Example: `123` * Specify the `scope` field as this organization in your search request.",
          "type": "string"
        },
        "tags": {
          "items": {
            "$ref": "Tag"
          },
          "type": "array",
          "description": "The tags directly attached to this resource. To search against the `tags`: * Use a field query. Example: - `tagKeys:\"123456789/env*\"` - `tagKeys=\"123456789/env\"` - `tagKeys:\"env\"` - `tagKeyIds=\"tagKeys/123\"` - `tagValues:\"env\"` - `tagValues:\"env/prod\"` - `tagValues:\"123456789/env/prod*\"` - `tagValues=\"123456789/env/prod\"` - `tagValueIds=\"tagValues/456\"` * Use a free text query. Example: - `env/prod`"
        },
        "enrichments": {
          "description": "Enrichments of the asset. Currently supported enrichment types with SearchAllResources API: * RESOURCE_OWNERS The corresponding read masks in order to get the enrichment: * enrichments.resource_owners The corresponding required permissions: * cloudasset.assets.searchEnrichmentResourceOwners Example query to get resource owner enrichment: ``` scope: \"projects/my-project\" query: \"name: my-project\" assetTypes: \"cloudresourcemanager.googleapis.com/Project\" readMask: { paths: \"asset_type\" paths: \"name\" paths: \"enrichments.resource_owners\" } ```",
          "type": "array",
          "items": {
            "$ref": "AssetEnrichment"
          }
        },
        "kmsKey": {
          "type": "string",
          "deprecated": true,
          "description": "The Cloud KMS [CryptoKey](https://documentation.s3ns.fr/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys) name or [CryptoKeyVersion](https://documentation.s3ns.fr/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions) name. This field only presents for the purpose of backward compatibility. Use the `kms_keys` field to retrieve Cloud KMS key information. This field is available only when the resource's Protobuf contains it and will only be populated for [these resource types](https://documentation.s3ns.fr/asset-inventory/docs/legacy-field-names#resource_types_with_the_to_be_deprecated_kmskey_field) for backward compatible purposes. To search against the `kms_key`: * Use a field query. Example: `kmsKey:key` * Use a free text query. Example: `key`"
        },
        "project": {
          "type": "string",
          "description": "The project that this resource belongs to, in the form of projects/{PROJECT_NUMBER}. This field is available when the resource belongs to a project. To search against `project`: * Use a field query. Example: `project:12345` * Use a free text query. Example: `12345` * Specify the `scope` field as this project in your search request."
        },
        "relationships": {
          "additionalProperties": {
            "$ref": "RelatedResources"
          },
          "description": "A map of related resources of this resource, keyed by the relationship type. A relationship type is in the format of {SourceType}_{ACTION}_{DestType}. Example: `DISK_TO_INSTANCE`, `DISK_TO_NETWORK`, `INSTANCE_TO_INSTANCEGROUP`. See [supported relationship types](https://documentation.s3ns.fr/asset-inventory/docs/supported-asset-types#supported_relationship_types).",
          "type": "object"
        },
        "parentFullResourceName": {
          "description": "The full resource name of this resource's parent, if it has one. To search against the `parent_full_resource_name`: * Use a field query. Example: `parentFullResourceName:\"project-name\"` * Use a free text query. Example: `project-name`",
          "type": "string"
        }
      },
      "description": "A result of Resource Search, containing information of a cloud resource."
    }
  },
  "canonicalName": "Cloud Asset",
  "ownerDomain": "google.com",
  "resources": {
    "operations": {
      "methods": {
        "list": {
          "flatPath": "v1/operations",
          "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
          "response": {
            "$ref": "ListOperationsResponse"
          },
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "path": "v1/{+name}",
          "parameterOrder": [
            "name"
          ],
          "id": "cloudasset.operations.list",
          "parameters": {
            "filter": {
              "description": "The standard list filter.",
              "location": "query",
              "type": "string"
            },
            "name": {
              "type": "string",
              "pattern": "^operations$",
              "required": true,
              "description": "The name of the operation's parent resource.",
              "location": "path"
            },
            "pageToken": {
              "description": "The standard list page token.",
              "location": "query",
              "type": "string"
            },
            "returnPartialSuccess": {
              "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
              "type": "boolean",
              "location": "query"
            },
            "pageSize": {
              "type": "integer",
              "format": "int32",
              "description": "The standard list page size.",
              "location": "query"
            }
          }
        },
        "delete": {
          "parameterOrder": [
            "name"
          ],
          "flatPath": "v1/operations/{operationsId}",
          "parameters": {
            "name": {
              "pattern": "^operations/.*$",
              "type": "string",
              "location": "path",
              "description": "The name of the operation resource to be deleted.",
              "required": true
            }
          },
          "httpMethod": "DELETE",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "response": {
            "$ref": "Empty"
          },
          "id": "cloudasset.operations.delete",
          "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
          "path": "v1/{+name}"
        },
        "cancel": {
          "httpMethod": "POST",
          "id": "cloudasset.operations.cancel",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameters": {
            "name": {
              "pattern": "^operations/.*$",
              "description": "The name of the operation resource to be cancelled.",
              "type": "string",
              "location": "path",
              "required": true
            }
          },
          "parameterOrder": [
            "name"
          ],
          "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
          "path": "v1/{+name}:cancel",
          "response": {
            "$ref": "Empty"
          },
          "flatPath": "v1/operations/{operationsId}:cancel",
          "request": {
            "$ref": "CancelOperationRequest"
          }
        },
        "get": {
          "parameters": {
            "name": {
              "description": "The name of the operation resource.",
              "pattern": "^[^/]+/[^/]+/operations/[^/]+/.*$",
              "type": "string",
              "required": true,
              "location": "path"
            }
          },
          "httpMethod": "GET",
          "flatPath": "v1/{v1Id}/{v1Id1}/operations/{operationsId}/{operationsId1}",
          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
          "path": "v1/{+name}",
          "id": "cloudasset.operations.get",
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Operation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "v1": {
      "methods": {
        "searchAllResources": {
          "response": {
            "$ref": "SearchAllResourcesResponse"
          },
          "flatPath": "v1/{v1Id}/{v1Id1}:searchAllResources",
          "description": "Searches all Cloud de Confiance resources within the specified scope, such as a project, folder, or organization. The caller must be granted the `cloudasset.assets.searchAllResources` permission on the desired scope, otherwise the request will be rejected.",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "cloudasset.searchAllResources",
          "parameterOrder": [
            "scope"
          ],
          "httpMethod": "GET",
          "parameters": {
            "query": {
              "type": "string",
              "description": "Optional. The query statement. See [how to construct a query](https://documentation.s3ns.fr/asset-inventory/docs/searching-resources#how_to_construct_a_query) for more information. If not specified or empty, it will search all the resources within the specified `scope`. Examples: * `name:Important` to find Cloud de Confiance resources whose name contains `Important` as a word. * `name=Important` to find the Cloud de Confiance resource whose name is exactly `Important`. * `displayName:Impor*` to find Cloud de Confiance resources whose display name contains `Impor` as a prefix of any word in the field. * `location:us-west*` to find Cloud de Confiance resources whose location contains both `us` and `west` as prefixes. * `labels:prod` to find Cloud de Confiance resources whose labels contain `prod` as a key or value. * `labels.env:prod` to find Cloud de Confiance resources that have a label `env` and its value is `prod`. * `labels.env:*` to find Cloud de Confiance resources that have a label `env`. * `tagKeys:env` to find Cloud de Confiance resources that have directly attached tags where the [`TagKey.namespacedName`](https://documentation.s3ns.fr/resource-manager/reference/rest/v3/tagKeys#resource:-tagkey) contains `env`. * `tagValues:prod*` to find Cloud de Confiance resources that have directly attached tags where the [`TagValue.namespacedName`](https://documentation.s3ns.fr/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) contains a word prefixed by `prod`. * `tagValueIds=tagValues/123` to find Cloud de Confiance resources that have directly attached tags where the [`TagValue.name`](https://documentation.s3ns.fr/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) is exactly `tagValues/123`. * `effectiveTagKeys:env` to find Cloud de Confiance resources that have directly attached or inherited tags where the [`TagKey.namespacedName`](https://documentation.s3ns.fr/resource-manager/reference/rest/v3/tagKeys#resource:-tagkey) contains `env`. * `effectiveTagValues:prod*` to find Cloud de Confiance resources that have directly attached or inherited tags where the [`TagValue.namespacedName`](https://documentation.s3ns.fr/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) contains a word prefixed by `prod`. * `effectiveTagValueIds=tagValues/123` to find Cloud de Confiance resources that have directly attached or inherited tags where the [`TagValue.name`](https://documentation.s3ns.fr/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) is exactly `tagValues/123`. * `kmsKey:key` to find Cloud de Confiance resources encrypted with a customer-managed encryption key whose name contains `key` as a word. This field is deprecated. Use the `kmsKeys` field to retrieve Cloud KMS key information. * `kmsKeys:key` to find Cloud de Confiance resources encrypted with customer-managed encryption keys whose name contains the word `key`. * `relationships:instance-group-1` to find Cloud de Confiance resources that have relationships with `instance-group-1` in the related resource name. * `relationships:INSTANCE_TO_INSTANCEGROUP` to find Compute Engine instances that have relationships of type `INSTANCE_TO_INSTANCEGROUP`. * `relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1` to find Compute Engine instances that have relationships with `instance-group-1` in the Compute Engine instance group resource name, for relationship type `INSTANCE_TO_INSTANCEGROUP`. * `sccSecurityMarks.key=value` to find Cloud resources that are attached with security marks whose key is `key` and value is `value`. * `sccSecurityMarks.key:*` to find Cloud resources that are attached with security marks whose key is `key`. * `state:ACTIVE` to find Cloud de Confiance resources whose state contains `ACTIVE` as a word. * `NOT state:ACTIVE` to find Cloud de Confiance resources whose state doesn't contain `ACTIVE` as a word. * `createTime\u003c1609459200` to find Cloud de Confiance resources that were created before `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of `2021-01-01 00:00:00 UTC` in seconds. * `updateTime\u003e1609459200` to find Cloud de Confiance resources that were updated after `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of `2021-01-01 00:00:00 UTC` in seconds. * `Important` to find Cloud de Confiance resources that contain `Important` as a word in any of the searchable fields. * `Impor*` to find Cloud de Confiance resources that contain `Impor` as a prefix of any word in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Cloud de Confiance resources that contain `Important` as a word in any of the searchable fields and are also located in the `us-west1` region or the `global` location.",
              "location": "query"
            },
            "pageSize": {
              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero or a negative value, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.",
              "format": "int32",
              "type": "integer",
              "location": "query"
            },
            "assetTypes": {
              "location": "query",
              "type": "string",
              "repeated": true,
              "description": "Optional. A list of asset types that this request searches for. If empty, it will search all the asset types [supported by search APIs](https://documentation.s3ns.fr/asset-inventory/docs/supported-asset-types). Regular expressions are also supported. For example: * \"compute.googleapis.com.*\" snapshots resources whose asset type starts with \"compute.googleapis.com\". * \".*Instance\" snapshots resources whose asset type ends with \"Instance\". * \".*Instance.*\" snapshots resources whose asset type contains \"Instance\". See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned."
            },
            "readMask": {
              "format": "google-fieldmask",
              "type": "string",
              "description": "Optional. A comma-separated list of fields that you want returned in the results. The following fields are returned by default if not specified: * `name` * `assetType` * `project` * `folders` * `organization` * `displayName` * `description` * `location` * `labels` * `tags` * `effectiveTags` * `networkTags` * `kmsKeys` * `createTime` * `updateTime` * `state` * `additionalAttributes` * `parentFullResourceName` * `parentAssetType` Some fields of large size, such as `versionedResources`, `attachedResources`, `effectiveTags` etc., are not returned by default, but you can specify them in the `read_mask` parameter if you want to include them. If `\"*\"` is specified, all [available fields](https://documentation.s3ns.fr/asset-inventory/docs/reference/rest/v1/TopLevel/searchAllResources#resourcesearchresult) are returned. Examples: `\"name,location\"`, `\"name,versionedResources\"`, `\"*\"`. Any invalid field path will trigger INVALID_ARGUMENT error.",
              "location": "query"
            },
            "scope": {
              "description": "Required. A scope can be a project, a folder, or an organization. The search is limited to the resources within the `scope`. The caller must be granted the [`cloudasset.assets.searchAllResources`](https://documentation.s3ns.fr/asset-inventory/docs/access-control#required_permissions) permission on the desired scope. The allowed values are: * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\") * folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\") * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
              "type": "string",
              "pattern": "^[^/]+/[^/]+$",
              "location": "path",
              "required": true
            },
            "orderBy": {
              "location": "query",
              "type": "string",
              "description": "Optional. A comma-separated list of fields specifying the sorting order of the results. The default order is ascending. Add \" DESC\" after the field name to indicate descending order. Redundant space characters are ignored. Example: \"location DESC, name\". Only the following fields in the response are sortable: * name * assetType * project * displayName * description * location * createTime * updateTime * state * parentFullResourceName * parentAssetType"
            },
            "pageToken": {
              "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters, must be identical to those in the previous call.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/{+scope}:searchAllResources"
        }
      }
    }
  },
  "name": "cloudasset",
  "revision": "20261017",
  "parameters": {
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "prettyPrint": {
      "location": "query",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true"
    },
    "alt": {
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "description": "Data format for response.",
      "default": "json",
      "location": "query"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "key": {
      "location": "query",
      "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.",
      "type": "string"
    },
    "quotaUser": {
      "location": "query",
      "type": "string",
      "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."
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ],
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    }
  },
  "description": "The Cloud Asset API manages the history and inventory of Cloud de Confiance resources.",
  "fullyEncodeReservedExpansion": true,
  "kind": "discovery#restDescription",
  "batchPath": "batch",
  "servicePath": "",
  "ownerName": "Google",
  "icons": {
    "x16": "",
    "x32": ""
  },
  "basePath": "",
  "id": "cloudasset:v1",
  "documentationLink": "https://documentation.s3ns.fr/asset-inventory",
  "rootUrl": "https://cloudasset.s3nsapis.fr/",
  "version": "v1",
  "discoveryVersion": "v1",
  "title": "Cloud Asset API",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "version_module": true,
  "baseUrl": "https://cloudasset.s3nsapis.fr/",
  "protocol": "rest"
}
