Tool: list_assets
List assets from Cloud Asset Inventory
The following code sample shows how to use curl to call the list_assets MCP tool.
| Curl Request |
|---|
curl --location 'https://cloudasset.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_assets", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
ListAssets request.
ListAssetsRequest
| JSON representation |
|---|
{
"parent": string,
"readTime": string,
"assetTypes": [
string
],
"contentType": enum ( |
| Fields | |
|---|---|
parent |
Required. Name of the project the assets belong to. Format: "projects/[project-id]" (such as "projects/my-project-id") or "projects/[project-number]" (such as "projects/12345"). Folders and organizations aren't supported. |
readTime |
Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
assetTypes[] |
A list of asset types to take a snapshot for. For example: "compute.googleapis.com/Disk". Regular expression is also supported. For example:
See RE2 for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See Introduction to Cloud Asset Inventory for all supported asset types. |
contentType |
Asset content type. If not specified, no content but the asset name will be returned. |
pageSize |
The maximum number of assets to be returned in a single response. Default is 100, minimum is 1, and maximum is 1000. |
pageToken |
The |
relationshipTypes[] |
A list of relationship types to output, for example: |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
ContentType
Asset content type.
| Enums | |
|---|---|
CONTENT_TYPE_UNSPECIFIED |
Unspecified content type. |
RESOURCE |
Resource metadata. |
IAM_POLICY |
The actual IAM policy set on a resource. |
ORG_POLICY |
The organization policy set on an asset. |
ACCESS_POLICY |
The Access Context Manager policy set on an asset. |
OS_INVENTORY |
The runtime OS Inventory information. |
RELATIONSHIP |
The related resources. |
Output Schema
ListAssets response.
ListAssetsResponse
| JSON representation |
|---|
{
"readTime": string,
"assets": [
{
object ( |
| Fields | |
|---|---|
readTime |
Time the snapshot was taken. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
assets[] |
Assets. |
nextPageToken |
Token to retrieve the next page of results. It expires 72 hours after the page token for the first page is generated. Set to empty if there are no remaining results. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
Asset
| JSON representation |
|---|
{ "updateTime": string, "name": string, "assetType": string, "resource": { object ( |
| Fields | |
|---|---|
updateTime |
The last update timestamp of an asset. update_time is updated when create/update/delete operation is performed. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
name |
The full name of the asset. Example: See Resource names for more information. |
assetType |
The type of the asset. Example: See Supported asset types for more information. |
resource |
A representation of the resource. |
iamPolicy |
A representation of the IAM policy set on a Google Cloud resource. There can be a maximum of one IAM policy set on any given resource. In addition, IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See this topic for more information. |
orgPolicy[] |
A representation of an organization policy. There can be more than one organization policy with different constraints set on a given resource. |
osInventory |
A representation of runtime OS Inventory information. See this topic for more information. |
relatedAssets |
DEPRECATED. This field only presents for the purpose of backward-compatibility. The server will never generate responses with this field. The related assets of the asset of one relationship type. One asset only represents one type of relationship. |
relatedAsset |
One related asset of the current asset. |
ancestors[] |
The ancestry path of an asset in Google Cloud resource hierarchy, represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: |
assetExceptions[] |
The exceptions of a resource. |
Union field access_context_policy. A representation of an access policy. access_context_policy can be only one of the following: |
|
accessPolicy |
Also refer to the access policy user guide. |
accessLevel |
Also refer to the access level user guide. |
servicePerimeter |
Also refer to the service perimeter user guide. |
Resource
| JSON representation |
|---|
{ "version": string, "discoveryDocumentUri": string, "discoveryName": string, "resourceUrl": string, "parent": string, "data": { object }, "location": string } |
| Fields | |
|---|---|
version |
The API version. Example: |
discoveryDocumentUri |
The URL of the discovery document containing the resource's JSON schema. Example: This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable. |
discoveryName |
The JSON schema name listed in the discovery document. Example: This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable. |
resourceUrl |
The REST URL for accessing the resource. An HTTP This value is unspecified for resources without a REST API. |
parent |
The full name of the immediate parent of this resource. See Resource Names for more information. For Google Cloud assets, this value is the parent resource defined in the IAM policy hierarchy. Example: |
data |
The content of the resource, in which some sensitive fields are removed and may not be present. |
location |
The location of the resource in Google Cloud, such as its zone and region. For more information, see https://cloud.google.com/about/locations/. |
Struct
| JSON representation |
|---|
{ "fields": { string: value, ... } } |
| Fields | |
|---|---|
fields |
Unordered map of dynamically typed values. An object containing a list of |
FieldsEntry
| JSON representation |
|---|
{ "key": string, "value": value } |
| Fields | |
|---|---|
key |
|
value |
|
Value
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. The kind of value. kind can be only one of the following: |
|
nullValue |
Represents a JSON |
numberValue |
Represents a JSON number. Must not be |
stringValue |
Represents a JSON string. |
boolValue |
Represents a JSON boolean ( |
structValue |
Represents a JSON object. |
listValue |
Represents a JSON array. |
ListValue
| JSON representation |
|---|
{ "values": [ value ] } |
| Fields | |
|---|---|
values[] |
Repeated field of dynamically typed values. |
Policy
| JSON representation |
|---|
{ "version": integer, "bindings": [ { object ( |
| Fields | |
|---|---|
version |
Specifies the format of the policy. Valid values are Any operation that affects conditional role bindings must specify version
Important: If you use IAM Conditions, you must include the If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the IAM documentation. |
bindings[] |
Associates a list of The |
auditConfigs[] |
Specifies cloud audit logging configuration for this policy. |
etag |
Important: If you use IAM Conditions, you must include the A base64-encoded string. |
Binding
| JSON representation |
|---|
{
"role": string,
"members": [
string
],
"condition": {
object ( |
| Fields | |
|---|---|
role |
Role that is assigned to the list of For an overview of the IAM roles and permissions, see the IAM documentation. For a list of the available pre-defined roles, see here. |
members[] |
Specifies the principals requesting access for a Google Cloud resource.
|
condition |
The condition that is associated with this binding. If the condition evaluates to If the condition evaluates to To learn which resources support conditions in their IAM policies, see the IAM documentation. |
Expr
| JSON representation |
|---|
{ "expression": string, "title": string, "description": string, "location": string } |
| Fields | |
|---|---|
expression |
Textual representation of an expression in Common Expression Language syntax. |
title |
Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. |
description |
Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. |
location |
Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. |
AuditConfig
| JSON representation |
|---|
{
"service": string,
"auditLogConfigs": [
{
object ( |
| Fields | |
|---|---|
service |
Specifies a service that will be enabled for audit logging. For example, |
auditLogConfigs[] |
The configuration for logging of each type of permission. |
AuditLogConfig
| JSON representation |
|---|
{
"logType": enum ( |
| Fields | |
|---|---|
logType |
The log type that this config enables. |
exemptedMembers[] |
Specifies the identities that do not cause logging for this type of permission. Follows the same format of |
Policy
| JSON representation |
|---|
{ "version": integer, "constraint": string, "etag": string, "updateTime": string, // Union field |
| Fields | |
|---|---|
version |
Version of the |
constraint |
The name of the A list of available constraints is available. Immutable after creation. |
etag |
An opaque tag indicating the current version of the When the When the When the A base64-encoded string. |
updateTime |
The time stamp the Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
Union field A Providing a *_policy that is incompatible with the Attempting to set a |
|
listPolicy |
List of values either allowed or disallowed. |
booleanPolicy |
For boolean |
restoreDefault |
Restores the default behavior of the constraint; independent of |
ListPolicy
| JSON representation |
|---|
{
"allowedValues": [
string
],
"deniedValues": [
string
],
"allValues": enum ( |
| Fields | |
|---|---|
allowedValues[] |
List of values allowed at this resource. Can only be set if |
deniedValues[] |
List of values denied at this resource. Can only be set if |
allValues |
The policy all_values state. |
suggestedValue |
Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this |
inheritFromParent |
Determines the inheritance behavior for this By default, a Setting For example, suppose you have a The following examples demonstrate different possible layerings for Example 1 (no inherited values): Example 2 (inherited values): Example 3 (inheriting both allowed and denied values): Example 4 (RestoreDefault): Example 5 (no policy inherits parent policy): Example 6 (ListConstraint allowing all): Example 7 (ListConstraint allowing none): Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, |
BooleanPolicy
| JSON representation |
|---|
{ "enforced": boolean } |
| Fields | |
|---|---|
enforced |
If Suppose you have a The following examples demonstrate the different possible layerings: Example 1 (nearest Example 2 (enforcement gets replaced): Example 3 (RestoreDefault): |
AccessPolicy
| JSON representation |
|---|
{ "name": string, "parent": string, "title": string, "scopes": [ string ], "etag": string } |
| Fields | |
|---|---|
name |
Output only. Identifier. Resource name of the |
parent |
Required. The parent of this |
title |
Required. Human readable title. Does not affect behavior. |
scopes[] |
The scopes of the
If no scopes are provided, then any resource within the organization can be restricted. Scopes cannot be modified after a policy is created. Policies can only have a single scope. Format: list of |
etag |
Output only. An opaque identifier for the current version of the |
AccessLevel
| JSON representation |
|---|
{ "name": string, "title": string, "description": string, // Union field |
| Fields | |
|---|---|
name |
Identifier. Resource name for the The After you create an |
title |
Human readable title. Must be unique within the Policy. |
description |
Description of the |
Union field level. Required. Describes the necessary conditions for the level to apply. level can be only one of the following: |
|
basic |
A |
custom |
A |
BasicLevel
| JSON representation |
|---|
{ "conditions": [ { object ( |
| Fields | |
|---|---|
conditions[] |
Required. A list of requirements for the |
combiningFunction |
How the |
Condition
| JSON representation |
|---|
{ "ipSubnetworks": [ string ], "devicePolicy": { object ( |
| Fields | |
|---|---|
ipSubnetworks[] |
CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed. |
devicePolicy |
Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed. |
requiredAccessLevels[] |
A list of other access levels defined in the same |
negate |
Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields. Any non-empty field criteria evaluating to false will result in the Condition to be satisfied. Defaults to false. |
members[] |
The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: |
regions[] |
The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes. |
vpcNetworkSources[] |
The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with |
DevicePolicy
| JSON representation |
|---|
{ "requireScreenlock": boolean, "allowedEncryptionStatuses": [ enum ( |
| Fields | |
|---|---|
requireScreenlock |
Whether or not screenlock is required for the DevicePolicy to be true. Defaults to |
allowedEncryptionStatuses[] |
Allowed encryptions statuses, an empty list allows all statuses. |
osConstraints[] |
Allowed OS versions, an empty list allows all types and all versions. |
allowedDeviceManagementLevels[] |
Allowed device management levels, an empty list allows all management levels. |
requireAdminApproval |
Whether the device needs to be approved by the customer admin. |
requireCorpOwned |
Whether the device needs to be corp owned. |
OsConstraint
| JSON representation |
|---|
{
"osType": enum ( |
| Fields | |
|---|---|
osType |
Required. The allowed OS type. |
minimumVersion |
The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: |
requireVerifiedChromeOs |
Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request. |
VpcNetworkSource
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
vpcSubnetwork |
Sub-segment ranges of a VPC network. |
VpcSubNetwork
| JSON representation |
|---|
{ "network": string, "vpcIpSubnetworks": [ string ] } |
| Fields | |
|---|---|
network |
Required. Network name. If the network is not part of the organization, the |
vpcIpSubnetworks[] |
CIDR block IP subnetwork specification. The IP address must be an IPv4 address and can be a public or private IP address. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. If empty, all IP addresses are allowed. |
CustomLevel
| JSON representation |
|---|
{
"expr": {
object ( |
| Fields | |
|---|---|
expr |
Required. A Cloud CEL expression evaluating to a boolean. |
ServicePerimeter
| JSON representation |
|---|
{ "name": string, "title": string, "description": string, "perimeterType": enum ( |
| Fields | |
|---|---|
name |
Identifier. Resource name for the The After you create a |
title |
Human readable title. Must be unique within the Policy. |
description |
Description of the |
perimeterType |
Perimeter type indicator. A single project or VPC network is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty. |
status |
Current ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries. |
spec |
Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the "use_explicit_dry_run_spec" flag is set. |
useExplicitDryRunSpec |
Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration ("spec") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config ("status") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values. |
etag |
Optional. An opaque identifier for the current version of the |
ServicePerimeterConfig
| JSON representation |
|---|
{ "resources": [ string ], "accessLevels": [ string ], "restrictedServices": [ string ], "vpcAccessibleServices": { object ( |
| Fields | |
|---|---|
resources[] |
A list of Google Cloud resources that are inside of the service perimeter. Currently only projects and VPCs are allowed. Project format: |
accessLevels[] |
A list of |
restrictedServices[] |
Google Cloud services that are subject to the Service Perimeter restrictions. For example, if |
vpcAccessibleServices |
Configuration for APIs allowed within Perimeter. |
ingressPolicies[] |
List of |
egressPolicies[] |
List of |
VpcAccessibleServices
| JSON representation |
|---|
{ "enableRestriction": boolean, "allowedServices": [ string ], "allowedServicePatterns": [ { object ( |
| Fields | |
|---|---|
enableRestriction |
Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'. |
allowedServices[] |
The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter. |
allowedServicePatterns[] |
Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter. |
servicePatternsEnforcementScopes[] |
Defines the enforcement scopes of service patterns. |
ServicePattern
| JSON representation |
|---|
{ "modifiers": [ { object ( |
| Fields | |
|---|---|
modifiers[] |
Modifiers to apply to the requests that match the URL pattern. |
Union field kind. The service or pattern to allow. kind can be only one of the following: |
|
service |
Supported service to allow. |
pattern |
URL pattern to allow. Only patterns of " |
Modifier
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. Modifier to apply to the API requests. kind can be only one of the following: |
|
addRequestHeader |
Adds an additional HTTP request header. |
AddRequestHeader
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
HTTP header key. |
value |
HTTP header value. |
IngressPolicy
| JSON representation |
|---|
{ "ingressFrom": { object ( |
| Fields | |
|---|---|
ingressFrom |
Defines the conditions on the source of a request causing this |
ingressTo |
Defines the conditions on the |
title |
Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. |
IngressFrom
| JSON representation |
|---|
{ "sources": [ { object ( |
| Fields | |
|---|---|
sources[] |
Sources that this |
identities[] |
A list of identities that are allowed access through [IngressPolicy]. Identities can be an individual user, service account, Google group, third-party identity, or agent identity. For the list of supported identity types, see https://docs.cloud.google.com/vpc-service-controls/docs/supported-identities. |
identityType |
Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of |
IngressSource
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field source. Allowed ingress source. It can be one of AccessLevel or Google Cloud resource or a PrivateServiceConnectEndpoint. source can be only one of the following: |
|
accessLevel |
An |
resource |
A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects and VPCs are allowed. Project format: |
pscEndpoint |
A |
PrivateServiceConnectEndpoint
| JSON representation |
|---|
{ "forwardingRule": string } |
| Fields | |
|---|---|
forwardingRule |
The full resource name of the global forwarding rule that identifies a Private Service Connect endpoint. Forwarding rule format: |
IngressTo
| JSON representation |
|---|
{
"operations": [
{
object ( |
| Fields | |
|---|---|
operations[] |
A list of |
resources[] |
A list of resources, currently only projects in the form |
roles[] |
IAM roles that represent the set of operations that the sources specified in the corresponding |
ApiOperation
| JSON representation |
|---|
{
"serviceName": string,
"methodSelectors": [
{
object ( |
| Fields | |
|---|---|
serviceName |
The name of the API whose methods or permissions the |
methodSelectors[] |
API methods or permissions to allow. Method or permission must belong to the service specified by |
MethodSelector
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. The API method name or Cloud IAM permission name to allow. kind can be only one of the following: |
|
method |
A valid method name for the corresponding |
permission |
A valid Cloud IAM permission for the corresponding |
EgressPolicy
| JSON representation |
|---|
{ "egressFrom": { object ( |
| Fields | |
|---|---|
egressFrom |
Defines conditions on the source of a request causing this |
egressTo |
Defines the conditions on the |
title |
Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. |
EgressFrom
| JSON representation |
|---|
{ "identities": [ string ], "identityType": enum ( |
| Fields | |
|---|---|
identities[] |
A list of identities that are allowed access through [EgressPolicy]. Identities can be an individual user, service account, Google group, third-party identity, or agent identity. For the list of supported identity types, see https://docs.cloud.google.com/vpc-service-controls/docs/supported-identities. |
identityType |
Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of |
sources[] |
Sources that this [EgressPolicy]
[google.identity.accesscontextmanager.v1alpha.ServicePerimeterConfig.EgressPolicy] authorizes access from. If this field is not empty, then |
sourceRestriction |
Whether to enforce traffic restrictions based on |
EgressSource
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field source. Allowed egress source. source can be only one of the following: |
|
accessLevel |
An [AccessLevel]
[google.identity.accesscontextmanager.v1alpha.AccessLevel] resource name that allows protected resources inside the [ServicePerimeters]
[google.identity.accesscontextmanager.v1alpha.ServicePerimeter] to access outside the [ServicePerimeter]
[google.identity.accesscontextmanager.v1alpha.ServicePerimeter] boundaries. [AccessLevels]
[google.identity.accesscontextmanager.v1alpha.AccessLevel] listed must be in the same policy as this [ServicePerimeter]
[google.identity.accesscontextmanager.v1alpha.ServicePerimeter]. Referencing a nonexistent [AccessLevel]
[google.identity.accesscontextmanager.v1alpha.AccessLevel] will cause an error. If an [AccessLevel]
[google.identity.accesscontextmanager.v1alpha.AccessLevel] name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: |
resource |
A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is |
pscEndpoint |
A |
EgressTo
| JSON representation |
|---|
{
"resources": [
string
],
"operations": [
{
object ( |
| Fields | |
|---|---|
resources[] |
A list of resources, currently only projects in the form |
operations[] |
A list of |
externalResources[] |
A list of external resources that are allowed to be accessed. Only AWS and Azure resources are supported. For Amazon S3, the supported formats are s3://BUCKET_NAME, s3a://BUCKET_NAME, and s3n://BUCKET_NAME. For Azure Storage, the supported format is azure://myaccount.blob.core.windows.net/CONTAINER_NAME. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed. |
roles[] |
IAM roles that represent the set of operations that the sources specified in the corresponding |
Inventory
| JSON representation |
|---|
{ "name": string, "osInfo": { object ( |
| Fields | |
|---|---|
name |
Output only. The Format: |
osInfo |
Base level operating system information for the VM. |
items |
Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version. An object containing a list of |
updateTime |
Output only. Timestamp of the last reported inventory for the VM. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
OsInfo
| JSON representation |
|---|
{ "hostname": string, "longName": string, "shortName": string, "version": string, "architecture": string, "kernelVersion": string, "kernelRelease": string, "osconfigAgentVersion": string } |
| Fields | |
|---|---|
hostname |
The VM hostname. |
longName |
The operating system long name. For example 'Debian GNU/Linux 9' or 'Microsoft Window Server 2019 Datacenter'. |
shortName |
The operating system short name. For example, 'windows' or 'debian'. |
version |
The version of the operating system. |
architecture |
The system architecture of the operating system. |
kernelVersion |
The kernel version of the operating system. |
kernelRelease |
The kernel release of the operating system. |
osconfigAgentVersion |
The current version of the OS Config agent running on the VM. |
ItemsEntry
| JSON representation |
|---|
{
"key": string,
"value": {
object ( |
| Fields | |
|---|---|
key |
|
value |
|
Item
| JSON representation |
|---|
{ "id": string, "originType": enum ( |
| Fields | |
|---|---|
id |
Identifier for this item, unique across items for this VM. |
originType |
The origin of this inventory item. |
createTime |
When this inventory item was first detected. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
When this inventory item was last modified. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
type |
The specific type of inventory, correlating to its specific details. |
Union field details. Specific details of this inventory item based on its type. details can be only one of the following: |
|
installedPackage |
Software package present on the VM instance. |
availablePackage |
Software package available to be installed on the VM instance. |
SoftwarePackage
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field details. Information about the different types of software packages. details can be only one of the following: |
|
yumPackage |
Yum package info. For details about the yum package manager, see https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum. |
aptPackage |
Details of an APT package. For details about the apt package manager, see https://wiki.debian.org/Apt. |
zypperPackage |
Details of a Zypper package. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual. |
googetPackage |
Details of a Googet package. For details about the googet package manager, see https://github.com/google/googet. |
zypperPatch |
Details of a Zypper patch. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual. |
wuaPackage |
Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update. |
qfePackage |
Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering. |
cosPackage |
Details of a COS package. |
windowsApplication |
Details of Windows Application. |
VersionedPackage
| JSON representation |
|---|
{ "packageName": string, "architecture": string, "version": string } |
| Fields | |
|---|---|
packageName |
The name of the package. |
architecture |
The system architecture this package is intended for. |
version |
The version of the package. |
ZypperPatch
| JSON representation |
|---|
{ "patchName": string, "category": string, "severity": string, "summary": string } |
| Fields | |
|---|---|
patchName |
The name of the patch. |
category |
The category of the patch. |
severity |
The severity specified for this patch |
summary |
Any summary information provided about this patch. |
WindowsUpdatePackage
| JSON representation |
|---|
{
"title": string,
"description": string,
"categories": [
{
object ( |
| Fields | |
|---|---|
title |
The localized title of the update package. |
description |
The localized description of the update package. |
categories[] |
The categories that are associated with this update package. |
kbArticleIds[] |
A collection of Microsoft Knowledge Base article IDs that are associated with the update package. |
supportUrl |
A hyperlink to the language-specific support information for the update. |
moreInfoUrls[] |
A collection of URLs that provide more information about the update package. |
updateId |
Gets the identifier of an update package. Stays the same across revisions. |
revisionNumber |
The revision number of this update package. |
lastDeploymentChangeTime |
The last published date of the update, in (UTC) date and time. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
WindowsUpdateCategory
| JSON representation |
|---|
{ "id": string, "name": string } |
| Fields | |
|---|---|
id |
The identifier of the windows update category. |
name |
The name of the windows update category. |
WindowsQuickFixEngineeringPackage
| JSON representation |
|---|
{ "caption": string, "description": string, "hotFixId": string, "installTime": string } |
| Fields | |
|---|---|
caption |
A short textual description of the QFE update. |
description |
A textual description of the QFE update. |
hotFixId |
Unique identifier associated with a particular QFE update. |
installTime |
Date that the QFE update was installed. Mapped from installed_on field. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
WindowsApplication
| JSON representation |
|---|
{
"displayName": string,
"displayVersion": string,
"publisher": string,
"installDate": {
object ( |
| Fields | |
|---|---|
displayName |
The name of the application or product. |
displayVersion |
The version of the product or application in string format. |
publisher |
The name of the manufacturer for the product or application. |
installDate |
The last time this product received service. The value of this property is replaced each time a patch is applied or removed from the product or the command-line option is used to repair the product. |
helpLink |
The internet address for technical support. |
Date
| JSON representation |
|---|
{ "year": integer, "month": integer, "day": integer } |
| Fields | |
|---|---|
year |
Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. |
month |
Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. |
day |
Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. |
RelatedAssets
| JSON representation |
|---|
{ "relationshipAttributes": { object ( |
| Fields | |
|---|---|
relationshipAttributes |
The detailed relationship attributes. |
assets[] |
The peer resources of the relationship. |
RelationshipAttributes
| JSON representation |
|---|
{ "type": string, "sourceResourceType": string, "targetResourceType": string, "action": string } |
| Fields | |
|---|---|
type |
The unique identifier of the relationship type. Example: |
sourceResourceType |
The source asset type. Example: |
targetResourceType |
The target asset type. Example: |
action |
The detail of the relationship, e.g. |
RelatedAsset
| JSON representation |
|---|
{ "asset": string, "assetType": string, "ancestors": [ string ], "relationshipType": string } |
| Fields | |
|---|---|
asset |
The full name of the asset. Example: See Resource names for more information. |
assetType |
The type of the asset. Example: See Supported asset types for more information. |
ancestors[] |
The ancestors of an asset in Google Cloud resource hierarchy, represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. Example: |
relationshipType |
The unique identifier of the relationship type. Example: |
AssetException
| JSON representation |
|---|
{
"exceptionType": enum ( |
| Fields | |
|---|---|
exceptionType |
The type of exception. |
details |
The details of the exception. |
NullValue
Represents a JSON null.
NullValue is a sentinel, using an enum with only one value to represent the null value for the Value type union.
A field of type NullValue with any value other than 0 is considered invalid. Most ProtoJSON serializers will emit a Value with a null_value set as a JSON null regardless of the integer value, and so will round trip to a 0 value.
| Enums | |
|---|---|
NULL_VALUE |
Null value. |
LogType
The list of valid permission types for which logging can be configured. Admin writes are always logged, and are not configurable.
| Enums | |
|---|---|
LOG_TYPE_UNSPECIFIED |
Default case. Should never be this. |
ADMIN_READ |
Admin reads. Example: CloudIAM getIamPolicy |
DATA_WRITE |
Data writes. Example: CloudSQL Users create |
DATA_READ |
Data reads. Example: CloudSQL Users list |
AllValues
This enum can be used to set Policies that apply to all possible configuration values rather than specific values in allowed_values or denied_values.
Setting this to ALLOW will mean this Policy allows all values. Similarly, setting it to DENY will mean no values are allowed. If set to either ALLOW or DENY,allowed_valuesanddenied_values
must be unset. Setting this toALL_VALUES_UNSPECIFIEDallows for
settingallowed_valuesanddenied_values`.
| Enums | |
|---|---|
ALL_VALUES_UNSPECIFIED |
Indicates that allowed_values or denied_values must be set. |
ALLOW |
A policy with this set allows all values. |
DENY |
A policy with this set denies all values. |
DeviceEncryptionStatus
The encryption state of the device.
| Enums | |
|---|---|
ENCRYPTION_UNSPECIFIED |
The encryption status of the device is not specified or not known. |
ENCRYPTION_UNSUPPORTED |
The device does not support encryption. |
UNENCRYPTED |
The device supports encryption, but is currently unencrypted. |
ENCRYPTED |
The device is encrypted. |
OsType
The operating system type of the device.
| Enums | |
|---|---|
OS_UNSPECIFIED |
The operating system of the device is not specified or not known. |
DESKTOP_MAC |
A desktop Mac operating system. |
DESKTOP_WINDOWS |
A desktop Windows operating system. |
DESKTOP_LINUX |
A desktop Linux operating system. |
DESKTOP_CHROME_OS |
A desktop ChromeOS operating system. |
ANDROID |
An Android operating system. |
IOS |
An iOS operating system. |
DeviceManagementLevel
The degree to which the device is managed by the Cloud organization.
| Enums | |
|---|---|
MANAGEMENT_UNSPECIFIED |
The device's management level is not specified or not known. |
NONE |
The device is not managed. |
BASIC |
Basic management is enabled, which is generally limited to monitoring and wiping the corporate account. |
COMPLETE |
Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform. |
ConditionCombiningFunction
Options for how the conditions list should be combined to determine if this AccessLevel is applied. Default is AND.
| Enums | |
|---|---|
AND |
All Conditions must be true for the BasicLevel to be true. |
OR |
If at least one Condition is true, then the BasicLevel is true. |
PerimeterType
Specifies the type of the Perimeter. There are two types: regular and bridge. Regular Service Perimeter contains resources, access levels, and restricted services. Every resource can be in at most ONE regular Service Perimeter.
In addition to being in a regular service perimeter, a resource can also be in zero or more perimeter bridges. A perimeter bridge only contains resources. Cross project operations are permitted if all effected resources share some perimeter (whether bridge or regular). Perimeter Bridge does not contain access levels or services: those are governed entirely by the regular perimeter that resource is in.
Perimeter Bridges are typically useful when building more complex toplogies with many independent perimeters that need to share some data with a common perimeter, but should not be able to share data among themselves.
| Enums | |
|---|---|
PERIMETER_TYPE_REGULAR |
Regular Perimeter. When no value is specified, the perimeter uses this type. |
PERIMETER_TYPE_BRIDGE |
Perimeter Bridge. |
ServicePatternsEnforcementScope
Defines the enforcement scope of service patterns.
| Enums | |
|---|---|
SERVICE_PATTERNS_ENFORCEMENT_SCOPE_UNSPECIFIED |
Default value. This cannot be used. |
GOOGLE_APIS_VIA_PRIVATE_PATH |
Enables VPC Accessible Services enforcement for all APIs (including unsupported APIs) for Private Google Access configured with Private VIP and Private Service Connect Endpoint for Global Google APIs that uses 'all-apis' bundle. |
IdentityType
Specifies the types of identities that are allowed access in either IngressFrom or EgressFrom rules.
| Enums | |
|---|---|
IDENTITY_TYPE_UNSPECIFIED |
No blanket identity group specified. |
ANY_IDENTITY |
Authorize access from all identities outside the perimeter. |
ANY_USER_ACCOUNT |
Authorize access from all human users outside the perimeter. |
ANY_SERVICE_ACCOUNT |
Authorize access from all service accounts outside the perimeter. |
SourceRestriction
Whether to enable the enforcement of traffic based on on the sources field. Only applies to [EgressFrom]
[google.identity.accesscontextmanager.v1alpha.ServicePerimeterConfig.EgressFrom].
| Enums | |
|---|---|
SOURCE_RESTRICTION_UNSPECIFIED |
Enforcement preference unspecified, will not enforce traffic restrictions based on |
SOURCE_RESTRICTION_ENABLED |
Enforcement preference enabled, traffic restrictions will be enforced based on |
SOURCE_RESTRICTION_DISABLED |
Enforcement preference disabled, will not enforce traffic restrictions based on |
OriginType
The origin of a specific inventory item.
| Enums | |
|---|---|
ORIGIN_TYPE_UNSPECIFIED |
Invalid. An origin type must be specified. |
INVENTORY_REPORT |
This inventory item was discovered as the result of the agent reporting inventory via the reporting API. |
Type
The different types of inventory that are tracked on a VM.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Invalid. A type must be specified. |
INSTALLED_PACKAGE |
This represents a package that is installed on the VM. |
AVAILABLE_PACKAGE |
This represents an update that is available for a package. |
ExceptionType
The type of exception.
| Enums | |
|---|---|
EXCEPTION_TYPE_UNSPECIFIED |
exception_type is not applicable for the current asset. |
TRUNCATION |
The asset content is truncated. |
Tool Annotations
Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.
Along with the title string, the following boolean hints are defined as follows:
readOnlyHint: If true, the tool doesn't modify its environment. Default: false.destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌