工具:create_connectivity_test
创建并运行从来源到目标端点的连接测试。项目超出免费限额后,测试运行会产生费用。请注意,只有结果不是“UNDETERMINED”的测试运行才会产生费用。AI 代理应使用 get_connectivity_test 轮询结果,然后使用 delete_connectivity_test 删除测试资源。
以下示例演示了如何使用 curl 调用 create_connectivity_test MCP 工具。
| Curl 请求 |
|---|
curl --location 'https://networkmanagement.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "create_connectivity_test", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
对 CreateConnectivityTest 方法的请求。
CreateConnectivityTestRequest
| JSON 表示法 |
|---|
{
"parent": string,
"testId": string,
"resource": {
object ( |
| 字段 | |
|---|---|
parent |
必需。要创建的连接测试的父级资源: |
testId |
必需。项目中连接测试的逻辑名称具有以下限制:
|
resource |
必需。 |
ConnectivityTest
| JSON 表示法 |
|---|
{ "name": string, "description": string, "source": { object ( |
| 字段 | |
|---|---|
name |
标识符。资源的唯一名称,格式为: |
description |
用户提供的连接测试说明。最多 512 个字符。 |
source |
必需。连接测试的来源规范。 您可以结合使用来源 IP 地址、受支持端点的 URI、项目 ID 或 VPC 网络来标识来源位置。 即使来源位置不明确,可达性分析仍可能继续进行。但是,测试结果可能包含端点或使用您不打算测试的来源。 |
destination |
必需。连接测试的目标规范。 您可以结合使用目标 IP 地址、受支持端点的 URI、项目 ID 或 VPC 网络来标识目标位置。 即使目标位置不明确,可达性分析仍会继续进行。但是,测试结果可能包含端点或使用您不打算测试的目标。 |
protocol |
测试的 IP 协议。如果未提供,则假定为“TCP”。 |
relatedProjects[] |
与可达性分析可能相关的其他项目。这适用于测试可能跨越项目边界的情景。 |
displayName |
仅限输出。连接测试的显示名称。 |
labels |
用于表示用户提供的元数据的资源标签。 包含一系列 |
createTime |
仅限输出。测试的创建时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
updateTime |
仅限输出。测试配置的更新时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
reachabilityDetails |
仅限输出。最近一次运行该测试的可达性详情。在创建新测试,更新现有测试或触发现有测试的一次性重新运行时,系统将更新该详情。 |
probingDetails |
仅限输出。最近一次运行该测试的探测详情(仅适用于相关测试)。在创建新测试,更新现有测试或触发现有测试的一次性重新运行时,系统将更新该详情。 |
roundTrip |
是否运行从目的地到来源的返回路径分析。默认值为 false。 |
returnReachabilityDetails |
仅限输出。最近一次针对返回路径运行该测试的可达性详情。在创建新测试,更新现有测试或触发现有测试的一次性重新运行时,系统将更新该详情。 |
bypassFirewallChecks |
分析是否应跳过防火墙检查。默认值为 false。 |
端点
| JSON 表示法 |
|---|
{ "ipAddress": string, "port": integer, "instance": string, "forwardingRule": string, "gkeMasterCluster": string, "fqdn": string, "cloudSqlInstance": string, "redisInstance": string, "redisCluster": string, "gkePod": string, "cloudFunction": { object ( |
| 字段 | |
|---|---|
ipAddress |
端点的 IP 地址,可以是外部 IP 或内部 IP。 |
port |
端点的 IP 协议端口。仅在协议为 TCP 或 UDP 时适用。 |
instance |
Compute Engine 实例 URI。 |
forwardingRule |
转发规则及其对应的 IP 地址构成 Google Cloud 负载均衡器的前端配置。转发规则还用于协议转发、Private Service Connect 和其他网络服务,以在控制平面中提供转发信息。仅适用于目标端点。格式: |
gkeMasterCluster |
Google Kubernetes Engine 集群控制平面的集群 URI。 |
fqdn |
Google Kubernetes Engine 集群控制平面的 DNS 端点。需要设置 gke_master_cluster,不能同时与 ip_address 或 network 搭配使用。仅适用于目标端点。 |
cloudSqlInstance |
Cloud SQL 实例 URI。 |
redisInstance |
Redis 实例 URI。仅适用于目标端点。 |
redisCluster |
Redis 集群 URI。仅适用于目标端点。 |
gkePod |
GKE Pod URI。 |
cloudFunction |
Cloud Functions 函数。仅适用于来源端点。 |
appEngineVersion |
App Engine 服务版本。仅适用于来源端点。 |
cloudRunRevision |
|
network |
VPC 网络 URI。对于源端点,根据 |
networkType |
对于来源端点,端点所在的网络的类型。与目标端点无关。 |
projectId |
对于源端点,为端点项目 ID。根据 |
联合字段
|
|
forwardingRuleTarget |
仅限输出。指定转发规则的目标类型。 |
联合字段
|
|
loadBalancerId |
仅限输出。转发规则指向的负载均衡器的 ID。对于与负载均衡器无关的转发规则,此字段为空。 |
联合字段
|
|
loadBalancerType |
仅限输出。转发规则指向的负载均衡器的类型。 |
CloudFunctionEndpoint
| JSON 表示法 |
|---|
{ "uri": string } |
| 字段 | |
|---|---|
uri |
|
AppEngineVersionEndpoint
| JSON 表示法 |
|---|
{ "uri": string } |
| 字段 | |
|---|---|
uri |
App Engine 服务版本名称。 |
CloudRunRevisionEndpoint
| JSON 表示法 |
|---|
{ "uri": string, "serviceUri": string } |
| 字段 | |
|---|---|
uri |
Cloud Run 修订版本 URI。格式为:projects/{project}/locations/{location}/revisions/{revision} |
serviceUri |
仅限输出。相应修订版本所属的 Cloud Run 服务的 URI。格式为:projects/{project}/locations/{location}/services/{service} |
LabelsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
ReachabilityDetails
| JSON 表示法 |
|---|
{ "result": enum ( |
| 字段 | |
|---|---|
result |
测试的配置分析的总体结果。 |
verifyTime |
配置分析的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
error |
可达性分析失败或取消可达性分析的详细信息。 |
traces[] |
如果一项测试在网络中具有多个可能的路径(例如当目标端点是具有多个后端的负载均衡器时),则结果可能包含跟踪记录列表。 |
状态
| JSON 表示法 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 字段 | |
|---|---|
code |
状态代码,应为 |
message |
面向开发者的错误消息(应采用英语)。任何向用户显示的错误消息都应进行本地化并通过 |
details[] |
包含错误详细信息的消息列表。有一组通用的消息类型可供 API 使用。 可以包含任意类型字段的对象。附加字段 |
不限
| JSON 表示法 |
|---|
{ "typeUrl": string, "value": string } |
| 字段 | |
|---|---|
typeUrl |
通过 URI 引用(包含以斜杠结尾的前缀和完全限定的类型名称)来标识序列化 Protobuf 消息的类型。 示例:type.googleapis.com/google.protobuf.StringValue 此字符串必须包含至少一个 前缀是任意的,Protobuf 实现应仅剥离最后一个 所有类型网址字符串都必须是合法的 URI 引用,并且(对于文本格式)还必须满足以下额外限制:引用的内容只能包含字母数字字符、百分号编码的转义字符以及以下集合中的字符(不包括外侧的反引号): 在 |
value |
包含由 type_url 描述的类型的 Protobuf 序列化。 使用 base64 编码的字符串。 |
Trace
| JSON 表示法 |
|---|
{ "endpointInfo": { object ( |
| 字段 | |
|---|---|
endpointInfo |
从用户请求指定的来源和目标端点定义派生,并由数据平面模型验证。如果存在从不同来源位置开始的多个跟踪记录,则跟踪记录之间的 endpoint_info 可能会有所不同。 |
steps[] |
测试的跟踪记录包含从初始状态到最终状态(已递送、已丢弃、已转发或已中止)的多个步骤。 这些步骤按模拟网络状态机内的处理顺序排序。保留这些步骤的顺序,并避免对它们进行重新排列或排序,这一点至关重要。 |
forwardTraceId |
轨迹的 ID。对于转发跟踪记录,此 ID 对每个跟踪记录都是唯一的。对于返回跟踪记录,它会与关联的转发跟踪记录的 ID 匹配。单个转发跟踪记录可以与一个或多个返回跟踪记录相关联,也可以与任何返回跟踪记录都不关联。 |
EndpointInfo
| JSON 表示法 |
|---|
{ "sourceIp": string, "destinationIp": string, "protocol": string, "sourcePort": integer, "destinationPort": integer, "sourceNetworkUri": string, "destinationNetworkUri": string, "sourceAgentUri": string } |
| 字段 | |
|---|---|
sourceIp |
来源 IP 地址。 |
destinationIp |
目标 IP 地址。 |
protocol |
字符串格式的 IP 协议,例如:“TCP”、“UDP”、“ICMP”。 |
sourcePort |
来源端口。仅在协议为 TCP 或 UDP 时有效。 |
destinationPort |
目标端口。仅在协议为 TCP 或 UDP 时有效。 |
sourceNetworkUri |
此数据包源自的网络的 URI。 |
destinationNetworkUri |
此数据包发送到的网络的 URI。 |
sourceAgentUri |
相应数据包来自的来源遥测代理的 URI。 |
步骤
| JSON 表示法 |
|---|
{ "description": string, "state": enum ( |
| 字段 | |
|---|---|
description |
步骤说明。通常,这是状态的摘要。 |
state |
每个步骤都处于某种预定义状态。 |
causesDrop |
这是通向最终状态“丢弃”的步骤。 |
projectId |
包含此步骤正在验证的配置的项目 ID。 |
联合字段 step_info。与每个步骤关联的配置或元数据。根据查看者的许可过滤配置。如果查看者无权在此步骤中查看相应配置,则对于非最终状态,将填充特殊状态 (VIEWER_PERMISSION_MISSING);对于最终状态,将清除该配置。step_info 只能是下列其中一项: |
|
instance |
显示 Compute Engine 实例的信息。 |
firewall |
显示 Compute Engine 防火墙规则的信息。 |
route |
显示 Compute Engine 路由的信息。 |
endpoint |
显示正在分析的来源和目标的信息。处于中间状态的端点信息可能与初始输入有所不同,因为它可能会被 NAT 或连接代理之类的状态所修改。 |
googleService |
显示 Google 服务的信息 |
forwardingRule |
显示 Compute Engine 转发规则的信息。 |
hybridSubnet |
显示混合子网的信息。 |
vpnGateway |
显示 Compute Engine VPN 网关的信息。 |
vpnTunnel |
显示 Compute Engine VPN 隧道的信息。 |
interconnectAttachment |
显示互连连接的信息。 |
vpcConnector |
显示 VPC 连接器的信息。 |
directVpcEgressConnection |
显示无服务器直接 VPC 出站流量连接的信息。 |
serverlessExternalConnection |
显示无服务器公共(外部)连接的信息。 |
deliver |
显示最终状态“递送”和原因的信息。 |
forward |
显示最终状态“转发”和原因的信息。 |
abort |
显示最终状态“中止”和原因的信息。 |
drop |
显示最终状态“丢弃”和原因的信息。 |
loadBalancer |
显示负载均衡器的信息。已弃用,取而代之的是 |
network |
显示 Google Cloud 网络的信息。 |
gkeMaster |
显示 Google Kubernetes Engine 集群主服务器的信息。 |
gkePod |
显示 Google Kubernetes Engine Pod 的信息。 |
ipMasqueradingSkipped |
显示跳过 GKE Pod IP 伪装的原因信息。 |
gkeNetworkPolicy |
显示 GKE 网络政策的信息。 |
gkeNetworkPolicySkipped |
显示跳过 GKE 网络政策评估的原因的相关信息。 |
cloudSqlInstance |
显示 Cloud SQL 实例的信息。 |
redisInstance |
显示 Redis 实例的信息。 |
redisCluster |
显示 Redis 集群的信息。 |
cloudFunction |
显示 Cloud Functions 函数的信息。 |
appEngineVersion |
显示 App Engine 服务版本的信息。 |
cloudRunRevision |
显示 Cloud Run 修订版本的信息。 |
nat |
显示 NAT 的信息。 |
proxyConnection |
显示 ProxyConnection 的信息。 |
loadBalancerBackendInfo |
显示特定负载均衡器后端的信息。 |
storageBucket |
显示存储桶的信息。仅用于返回跟踪记录。 |
serverlessNeg |
显示无服务器网络端点群组后端的信息。仅用于返回跟踪记录。 |
ngfwPacketInspection |
显示防火墙执行的第 7 层数据包检查的相关信息。 |
InstanceInfo
| JSON 表示法 |
|---|
{
"displayName": string,
"uri": string,
"interface": string,
"networkUri": string,
"internalIp": string,
"externalIp": string,
"networkTags": [
string
],
"serviceAccount": string,
"pscNetworkAttachmentUri": string,
"running": boolean,
"status": enum ( |
| 字段 | |
|---|---|
displayName |
Compute Engine 实例的名称。 |
uri |
Compute Engine 实例的 URI。 |
interface |
Compute Engine 实例的网络接口的名称。 |
networkUri |
Compute Engine 网络的 URI。 |
internalIp |
网络接口的内部 IP 地址。 |
externalIp |
网络接口的外部 IP 地址。 |
networkTags[] |
在实例上配置的网络标记。 |
serviceAccount |
为实例授权的服务账号。 |
pscNetworkAttachmentUri |
NIC 连接到的 PSC 网络的 URI(如果相关)。 |
running |
指示 Compute Engine 实例是否正在运行。已弃用:请改用 |
status |
实例的状态。 |
FirewallInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "direction": string, "action": string, "priority": integer, "networkUri": string, "targetTags": [ string ], "targetServiceAccounts": [ string ], "policy": string, "policyUri": string, "firewallRuleType": enum ( |
| 字段 | |
|---|---|
displayName |
防火墙规则的显示名称。对于防火墙政策规则,此字段可能为空。 |
uri |
防火墙规则的 URI。此字段不适用于隐式 VPC 防火墙规则。 |
direction |
可能的值:INGRESS、EGRESS |
action |
可能的值:ALLOW、DENY、APPLY_SECURITY_PROFILE_GROUP |
priority |
防火墙规则的优先级。 |
networkUri |
防火墙规则所关联的 VPC 网络的 URI。此字段不适用于分层防火墙政策规则。 |
targetTags[] |
VPC 防火墙规则定义的目标标记。此字段不适用于防火墙政策规则。 |
targetServiceAccounts[] |
防火墙规则指定的目标服务账号。 |
policy |
相应规则所关联的防火墙政策的名称。此字段不适用于 VPC 防火墙规则和隐式 VPC 防火墙规则。 |
policyUri |
相应规则所关联的防火墙政策的 URI。此字段不适用于 VPC 防火墙规则和隐式 VPC 防火墙规则。 |
firewallRuleType |
防火墙规则的类型。 |
policyPriority |
相应规则所关联的防火墙政策的优先级。此字段不适用于 VPC 防火墙规则和隐式 VPC 防火墙规则。 |
targetType |
防火墙规则的目标类型。 |
RouteInfo
| JSON 表示法 |
|---|
{ "routeType": enum ( |
| 字段 | |
|---|---|
routeType |
路由类型。 |
nextHopType |
下一个跃点的类型。 |
routeScope |
指明路由适用的位置。已弃用,在新的测试中,具有 NCC_HUB 范围的路由不会包含在跟踪记录中。 |
displayName |
路由的名称。 |
uri |
路由的 URI。仅限 SUBNET、STATIC、PEERING_SUBNET(仅适用于对等互连网络)和 POLICY_BASED 路由。 |
region |
路由所在的区域。仅限 DYNAMIC、PEERING_DYNAMIC、POLICY_BASED 和 ADVERTISED 路由。如果为 POLICY_BASED 路由设置,则表示该路由适用的 Cloud Interconnect 的 VLAN 连接的区域。如果为 POLICY_BASED 路由设置为“all”,则表示该路由适用于所有区域中 Cloud Interconnect 的 VLAN 连接。 |
destIpRange |
路由的目标 IP 范围。 |
nextHop |
路由的下一个跃点的字符串类型(例如,“VPN 隧道”)。已弃用,改为使用 next_hop_type 和 next_hop_uri 字段,在新测试中不使用。 |
networkUri |
路由所在的 VPC 网络的 URI。 |
priority |
路由的优先级。 |
instanceTags[] |
路由的实例标记。 |
srcIpRange |
相应路由的来源 IP 地址范围。仅适用于 POLICY_BASED 路由。 |
destPortRanges[] |
相应路由的目标端口范围。仅适用于 POLICY_BASED 路由。 |
srcPortRanges[] |
相应路由的源端口范围。仅适用于 POLICY_BASED 路由。 |
protocols[] |
路由的协议。仅适用于 POLICY_BASED 路由。 |
nextHopUri |
下一个跃点资源的 URI。 |
nextHopNetworkUri |
下一个跃点资源所在的 VPC 网络的 URI。 |
originatingRouteUri |
对于 PEERING_SUBNET 和 PEERING_STATIC 路由,为发起 SUBNET/STATIC 路由的 URI。 |
originatingRouteDisplayName |
对于 PEERING_SUBNET、PEERING_STATIC 和 PEERING_DYNAMIC 路由,为发起 SUBNET/STATIC/DYNAMIC 路由的名称。 |
nccHubRouteUri |
对于由 NCC Hub 通告的 PEERING_SUBNET 和 PEERING_DYNAMIC 路由,为 NCC Hub 路由表中相应路由的 URI。 |
联合字段
|
|
nccHubUri |
通告路由的 NCC Hub 的 URI。仅由 NCC Hub 通告的 PEERING_SUBNET 和 PEERING_DYNAMIC 路由。 |
联合字段
|
|
nccSpokeUri |
目标 NCC Spoke 的 URI。仅由 NCC Hub 通告的 PEERING_SUBNET 和 PEERING_DYNAMIC 路由。 |
联合字段
|
|
advertisedRouteSourceRouterUri |
对于 ADVERTISED 动态路由,是通告相应 IP 前缀的 Cloud Router 路由器的 URI。 |
联合字段
|
|
advertisedRouteNextHopUri |
对于 ADVERTISED 路由,其下一个跃点的 URI,即通告前缀的混合端点(VPN 隧道、互连连接、NCC 路由器设备)的 URI,或来源对等互连网络的 URI。已弃用,改为使用 next_hop_uri 字段,在新测试中不使用。 |
GoogleServiceInfo
| JSON 表示法 |
|---|
{
"sourceIp": string,
"googleServiceType": enum ( |
| 字段 | |
|---|---|
sourceIp |
来源 IP 地址。 |
googleServiceType |
已识别的 Google 服务类型。 |
ForwardingRuleInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "matchedProtocol": string, "matchedPortRange": string, "vip": string, "target": string, "networkUri": string, "region": string, "loadBalancerName": string, "pscServiceAttachmentUri": string, "pscGoogleApiTarget": string } |
| 字段 | |
|---|---|
displayName |
转发规则的名称。 |
uri |
转发规则的 URI。 |
matchedProtocol |
在转发规则中定义的与数据包匹配的协议。 |
matchedPortRange |
在转发规则中定义的与数据包匹配的端口范围。 |
vip |
转发规则的 VIP。 |
target |
转发规则的目标类型。 |
networkUri |
网络 URI。 |
region |
转发规则的区域。仅适用于区域转发规则。 |
loadBalancerName |
转发规则所属的负载均衡器的名称。对于与负载均衡器无关的转发规则(例如 PSC 转发规则),此字段为空。 |
pscServiceAttachmentUri |
此转发规则的目标 PSC 服务连接的 URI(如果适用)。 |
pscGoogleApiTarget |
此转发规则所针对的 PSC Google API 目标(如果适用)。 |
HybridSubnetInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "region": string } |
| 字段 | |
|---|---|
displayName |
混合子网的名称。 |
uri |
混合子网的 URI。 |
region |
配置了混合子网的 Google Cloud 区域的名称。 |
VpnGatewayInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "networkUri": string, "ipAddress": string, "vpnTunnelUri": string, "region": string } |
| 字段 | |
|---|---|
displayName |
VPN 网关的名称。 |
uri |
VPN 网关的 URI。 |
networkUri |
配置了 VPN 网关的 Compute Engine 网络的 URI。 |
ipAddress |
VPN 网关的 IP 地址。 |
vpnTunnelUri |
与该 VPN 网关关联的 VPN 隧道。一个 VPN 网关上可能配置了多个 VPN 隧道,并且仅显示与测试相关的那个。 |
region |
配置了此 VPN 网关的 Google Cloud 区域的名称。 |
VpnTunnelInfo
| JSON 表示法 |
|---|
{
"displayName": string,
"uri": string,
"sourceGateway": string,
"remoteGateway": string,
"remoteGatewayIp": string,
"sourceGatewayIp": string,
"networkUri": string,
"region": string,
"routingType": enum ( |
| 字段 | |
|---|---|
displayName |
VPN 隧道的名称。 |
uri |
VPN 隧道的 URI。 |
sourceGateway |
隧道本地端 VPN 网关的 URI。 |
remoteGateway |
隧道远程端 VPN 网关的 URI。 |
remoteGatewayIp |
远程 VPN 网关的 IP 地址。 |
sourceGatewayIp |
本地 VPN 网关的 IP 地址。 |
networkUri |
配置了 VPN 隧道的 Compute Engine 网络的 URI。 |
region |
配置了此 VPN 隧道的 Google Cloud 区域的名称。 |
routingType |
路由政策的类型。 |
InterconnectAttachmentInfo
| JSON 表示法 |
|---|
{
"displayName": string,
"uri": string,
"interconnectUri": string,
"region": string,
"cloudRouterUri": string,
"type": enum ( |
| 字段 | |
|---|---|
displayName |
互连连接的名称。 |
uri |
互连连接的 URI。 |
interconnectUri |
配置互连连接的互连的 URI。 |
region |
配置了互连连接的 Google Cloud 区域的名称。 |
cloudRouterUri |
用于动态路由的 Cloud Router 的 URI。 |
type |
互连附件的类型。 |
l2AttachmentMatchedIpAddress |
为 L2_DEDICATED 连接匹配的设备 IP 地址。 |
VpcConnectorInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "location": string } |
| 字段 | |
|---|---|
displayName |
VPC 连接器的名称。 |
uri |
VPC 连接器的 URI。 |
location |
VPC 连接器的部署位置。 |
DirectVpcEgressConnectionInfo
| JSON 表示法 |
|---|
{ "networkUri": string, "subnetworkUri": string, "selectedIpRange": string, "selectedIpAddress": string, "region": string } |
| 字段 | |
|---|---|
networkUri |
直接访问网络的 URI。 |
subnetworkUri |
直接访问子网的 URI。 |
selectedIpRange |
所选 IP 范围。 |
selectedIpAddress |
从所选 IP 范围中选择的起始 IP 地址。 |
region |
直接 VPC 出站流量的部署区域。 |
ServerlessExternalConnectionInfo
| JSON 表示法 |
|---|
{ "selectedIpAddress": string } |
| 字段 | |
|---|---|
selectedIpAddress |
从 Google 动态地址池中选择的起始 IP 地址。 |
DeliverInfo
| JSON 表示法 |
|---|
{ "target": enum ( |
| 字段 | |
|---|---|
target |
数据包递送到的目标类型。 |
resourceUri |
数据包递送到的资源的 URI。 |
ipAddress |
目标的 IP 地址(如果适用)。 |
storageBucket |
数据包传输到的 Cloud Storage 存储桶的名称(如果适用)。 |
pscGoogleApiTarget |
数据包递送到的 PSC Google API 目标(如果适用)。 |
googleServiceType |
数据包递送到的 Google 服务的已识别类型(如果适用)。 |
ForwardInfo
| JSON 表示法 |
|---|
{
"target": enum ( |
| 字段 | |
|---|---|
target |
该数据包转发到的目标类型。 |
resourceUri |
数据包转发到的资源的 URI。 |
ipAddress |
目标的 IP 地址(如果适用)。 |
AbortInfo
| JSON 表示法 |
|---|
{
"cause": enum ( |
| 字段 | |
|---|---|
cause |
导致分析中止的原因。 |
resourceUri |
导致中止的资源的 URI。 |
ipAddress |
导致中止的 IP 地址。 |
projectsMissingPermission[] |
用户在请求中指定但无权访问的项目 ID 列表。在这种情况下,分析会因 PERMISSION_DENIED 原因而中止。 |
DropInfo
| JSON 表示法 |
|---|
{
"cause": enum ( |
| 字段 | |
|---|---|
cause |
导致数据包被丢弃的原因。 |
resourceUri |
导致丢弃的资源的 URI。 |
sourceIp |
丢弃的数据包的来源 IP 地址(如果相关)。 |
destinationIp |
丢弃的数据包的目标 IP 地址(如果相关)。 |
region |
丢弃的数据包的区域(如果相关)。 |
sourceGeolocationCode |
来源 IP 地址的地理定位(区域代码,如果相关)。 |
destinationGeolocationCode |
目标 IP 地址的地理定位(区域代码,如果相关)。 |
LoadBalancerInfo
| JSON 表示法 |
|---|
{ "loadBalancerType": enum ( |
| 字段 | |
|---|---|
loadBalancerType |
负载平衡器的类型。 |
healthCheckUri |
针对负载均衡器的健康检查的 URI。 已弃用且不再填充,因为不同的负载均衡器后端可能具有不同的健康检查。 |
backends[] |
负载平衡器后端的信息。 |
backendType |
负载平衡器的后端配置类型。 |
backendUri |
后端配置 URI。 |
LoadBalancerBackend
| JSON 表示法 |
|---|
{
"displayName": string,
"uri": string,
"healthCheckFirewallState": enum ( |
| 字段 | |
|---|---|
displayName |
Compute Engine 实例或网络端点的名称。 |
uri |
Compute Engine 实例或网络端点的 URI。 |
healthCheckFirewallState |
健康检查防火墙配置的状态。 |
healthCheckAllowingFirewallRules[] |
允许从健康检查 IP 范围进行探测的防火墙规则 URI 的列表。 |
healthCheckBlockingFirewallRules[] |
禁止从健康检查 IP 范围进行探测的防火墙规则 URI 的列表。 |
NetworkInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "matchedSubnetUri": string, "matchedIpRange": string, "region": string } |
| 字段 | |
|---|---|
displayName |
Compute Engine 网络的名称。 |
uri |
Compute Engine 网络的 URI。 |
matchedSubnetUri |
与测试的来源 IP 地址匹配的子网的 URI。 |
matchedIpRange |
与测试的来源 IP 地址匹配的子网的 IP 范围。 |
region |
与测试的来源 IP 地址匹配的子网的区域。 |
GKEMasterInfo
| JSON 表示法 |
|---|
{ "clusterUri": string, "clusterNetworkUri": string, "internalIp": string, "externalIp": string, "dnsEndpoint": string } |
| 字段 | |
|---|---|
clusterUri |
GKE 集群的 URI。 |
clusterNetworkUri |
GKE 集群网络的 URI。 |
internalIp |
GKE 集群控制平面的内部 IP 地址。 |
externalIp |
GKE 集群控制平面的外部 IP 地址。 |
dnsEndpoint |
GKE 集群控制平面的 DNS 端点。 |
GkePodInfo
| JSON 表示法 |
|---|
{ "podUri": string, "ipAddress": string, "networkUri": string } |
| 字段 | |
|---|---|
podUri |
GKE Pod 的 URI。对于区域集群中的 Pod,URI 格式为: |
ipAddress |
GKE Pod 的 IP 地址。如果 Pod 是双栈,则这是与轨迹相关的 IP 地址。 |
networkUri |
包含 GKE Pod 的网络的 URI。 |
IpMasqueradingSkippedInfo
| JSON 表示法 |
|---|
{
"reason": enum ( |
| 字段 | |
|---|---|
reason |
未应用 IP 伪装的原因。 |
nonMasqueradeRange |
匹配的非伪装 IP 范围。仅当原因是 DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE 或 DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE 时设置。 |
GkeNetworkPolicyInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "direction": string, "action": string } |
| 字段 | |
|---|---|
displayName |
网络政策的名称。 |
uri |
网络政策的 URI。区域集群中的网络政策格式: |
direction |
可能的值:INGRESS、EGRESS |
action |
可能的值:ALLOW、DENY |
GkeNetworkPolicySkippedInfo
| JSON 表示法 |
|---|
{
"reason": enum ( |
| 字段 | |
|---|---|
reason |
跳过网络政策评估的原因。 |
CloudSQLInstanceInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "networkUri": string, "internalIp": string, "externalIp": string, "region": string } |
| 字段 | |
|---|---|
displayName |
Cloud SQL 实例的名称。 |
uri |
Cloud SQL 实例的 URI。 |
networkUri |
Cloud SQL 实例网络的 URI;如果实例没有网络,则为空字符串。 |
internalIp |
Cloud SQL 实例的内部 IP 地址。 |
externalIp |
Cloud SQL 实例的外部 IP 地址。 |
region |
Cloud SQL 实例运行的区域。 |
RedisInstanceInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "networkUri": string, "primaryEndpointIp": string, "readEndpointIp": string, "region": string } |
| 字段 | |
|---|---|
displayName |
Cloud Redis 实例的名称。 |
uri |
Cloud Redis 实例的 URI。 |
networkUri |
Cloud Redis 实例网络的 URI。 |
primaryEndpointIp |
Cloud Redis 实例的主端点 IP 地址。 |
readEndpointIp |
Cloud Redis 实例的读取端点 IP 地址(如果适用)。 |
region |
在其中定义 Cloud Redis 实例的区域。 |
RedisClusterInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "networkUri": string, "discoveryEndpointIpAddress": string, "secondaryEndpointIpAddress": string, "location": string } |
| 字段 | |
|---|---|
displayName |
Redis 集群的名称。 |
uri |
Redis 集群的 URI,格式为“projects/{project_id}/locations/{location}/clusters/{cluster_id}” |
networkUri |
包含 Redis 集群端点的网络的 URI,格式为“projects/{project_id}/global/networks/{network_id}”。 |
discoveryEndpointIpAddress |
Redis 集群的发现端点 IP 地址。 |
secondaryEndpointIpAddress |
Redis 集群的次要端点 IP 地址。 |
location |
定义 Redis 集群的区域的名称。例如:“us-central1”。 |
CloudFunctionInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "location": string, "versionId": string } |
| 字段 | |
|---|---|
displayName |
Cloud Functions 函数的名称。 |
uri |
Cloud Functions 函数的 URI。 |
location |
Cloud Functions 函数的部署位置。 |
versionId |
最新成功部署的 Cloud Functions 函数版本 ID。 |
AppEngineVersionInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "runtime": string, "environment": string } |
| 字段 | |
|---|---|
displayName |
App Engine 版本的名称。 |
uri |
App Engine 版本的 URI。 |
runtime |
App Engine 版本的运行时。 |
environment |
版本的 App Engine 执行环境。 |
CloudRunRevisionInfo
| JSON 表示法 |
|---|
{ "displayName": string, "uri": string, "location": string, "serviceUri": string } |
| 字段 | |
|---|---|
displayName |
Cloud Run 修订版本的名称。 |
uri |
Cloud Run 修订版本的 URI。 |
location |
相应修订版本的部署位置。 |
serviceUri |
相应修订版本所属的 Cloud Run 服务的 URI。 |
NatInfo
| JSON 表示法 |
|---|
{ "type": enum ( |
| 字段 | |
|---|---|
type |
NAT 类型。 |
protocol |
字符串格式的 IP 协议,例如:“TCP”、“UDP”、“ICMP”。 |
networkUri |
发生 NAT 转换的网络的 URI。 |
oldSourceIp |
NAT 转换之前的来源 IP 地址。 |
newSourceIp |
NAT 转换后的来源 IP 地址。 |
oldDestinationIp |
NAT 转换之前的目标 IP 地址。 |
newDestinationIp |
NAT 转换后的目标 IP 地址。 |
oldSourcePort |
NAT 转换之前的来源端口。仅在协议为 TCP 或 UDP 时有效。 |
newSourcePort |
NAT 转换后的来源端口。仅在协议为 TCP 或 UDP 时有效。 |
oldDestinationPort |
NAT 转换之前的目标端口。仅在协议为 TCP 或 UDP 时有效。 |
newDestinationPort |
NAT 转换后的目标端口。仅在协议为 TCP 或 UDP 时有效。 |
routerUri |
Cloud Router 的 URI。仅在类型为 CLOUD_NAT 时有效。 |
natGatewayName |
Cloud NAT 网关的名称。仅在类型为 CLOUD_NAT 时有效。 |
cloudNatGatewayType |
Cloud NAT 网关的类型。仅在 |
ProxyConnectionInfo
| JSON 表示法 |
|---|
{ "protocol": string, "oldSourceIp": string, "newSourceIp": string, "oldDestinationIp": string, "newDestinationIp": string, "oldSourcePort": integer, "newSourcePort": integer, "oldDestinationPort": integer, "newDestinationPort": integer, "subnetUri": string, "networkUri": string } |
| 字段 | |
|---|---|
protocol |
字符串格式的 IP 协议,例如:“TCP”、“UDP”、“ICMP”。 |
oldSourceIp |
原始连接的来源 IP 地址。 |
newSourceIp |
新连接的来源 IP 地址。 |
oldDestinationIp |
原始连接的目标 IP 地址 |
newDestinationIp |
新连接的目标 IP 地址。 |
oldSourcePort |
原始连接的来源端口。仅在协议为 TCP 或 UDP 时有效。 |
newSourcePort |
新连接的来源端口。仅在协议为 TCP 或 UDP 时有效。 |
oldDestinationPort |
原始连接的目标端口。仅在协议为 TCP 或 UDP 时有效。 |
newDestinationPort |
新连接的目标端口。仅在协议为 TCP 或 UDP 时有效。 |
subnetUri |
代理子网的 URI。 |
networkUri |
连接代理的网络的 URI。 |
LoadBalancerBackendInfo
| JSON 表示法 |
|---|
{
"name": string,
"instanceUri": string,
"backendServiceUri": string,
"instanceGroupUri": string,
"networkEndpointGroupUri": string,
"backendBucketUri": string,
"pscServiceAttachmentUri": string,
"pscGoogleApiTarget": string,
"healthCheckUri": string,
"healthCheckFirewallsConfigState": enum ( |
| 字段 | |
|---|---|
name |
后端的显示名称。例如,对于实例组后端,它可能是实例名称;对于可用区网络端点组后端,它可能是 IP 地址和端口。 |
instanceUri |
后端实例的 URI(如果适用)。针对实例群组后端和可用区级 NEG 后端填充。 |
backendServiceUri |
相应后端所属的后端服务的 URI(如果适用)。 |
instanceGroupUri |
相应后端所属的实例群组的 URI(如果适用)。 |
networkEndpointGroupUri |
相应后端所属的网络端点组的 URI(如果适用)。 |
backendBucketUri |
此后端的目标后端存储桶的 URI(如果适用)。 |
pscServiceAttachmentUri |
相应 PSC NEG 后端所针对的 PSC 服务连接的 URI(如果适用)。 |
pscGoogleApiTarget |
相应 PSC NEG 后端所针对的 PSC Google API 目标(如果适用)。 |
healthCheckUri |
附加到此后端的健康检查的 URI(如果适用)。 |
healthCheckFirewallsConfigState |
仅限输出。后端的健康检查防火墙配置状态。这是静态防火墙分析(验证是否允许从必需 IP 地址范围到后端的健康检查流量)的结果。即使配置了这些防火墙,后端可能仍处于不健康状态。如需了解详情,请参阅相关文档:https://cloud.google.com/load-balancing/docs/firewall-rules |
StorageBucketInfo
| JSON 表示法 |
|---|
{ "bucket": string } |
| 字段 | |
|---|---|
bucket |
Cloud Storage 存储桶名称。 |
ServerlessNegInfo
| JSON 表示法 |
|---|
{ "negUri": string } |
| 字段 | |
|---|---|
negUri |
无服务器网络端点群组的 URI。 |
NgfwPacketInspectionInfo
| JSON 表示法 |
|---|
{ "securityProfileGroupUri": string } |
| 字段 | |
|---|---|
securityProfileGroupUri |
与此防火墙数据包检查关联的安全配置文件组的 URI。 |
ProbingDetails
| JSON 表示法 |
|---|
{ "result": enum ( |
| 字段 | |
|---|---|
result |
主动探测的总体结果。 |
verifyTime |
通过主动探测评估可达性的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
error |
有关内部故障或取消主动探测的详细信息。 |
abortCause |
探测中止的原因。 |
sentProbeCount |
已发送的探测次数。 |
successfulProbeCount |
到达目标的探测次数。 |
endpointInfo |
从测试输入中提取并用于主动探测的来源端点和目标端点。 |
probingLatency |
通过单向主动探测测得的延迟时间:从源端点到目标端点。 |
destinationEgressLocation |
数据包(以互联网为目的地)将从 Google 网络传出的边缘位置。仅当连接测试具有互联网目标地址时,才会填充此字段。不得将缺少此字段作为表明目标属于 Google 网络的指示。 |
edgeResponses[] |
所有边缘设备的探测结果。 |
probedAllDevices |
是否探测了所有相关的边缘设备。 |
LatencyDistribution
| JSON 表示法 |
|---|
{
"latencyPercentiles": [
{
object ( |
| 字段 | |
|---|---|
latencyPercentiles[] |
代表性延迟时间百分位。 |
LatencyPercentile
| JSON 表示法 |
|---|
{ "percent": integer, "latencyMicros": string } |
| 字段 | |
|---|---|
percent |
相应数据点适用的示例百分比。 |
latencyMicros |
观察到的延迟时间的百分位(以微秒为单位)。样本中延迟时间低于或等于此字段值的百分比。 |
EdgeLocation
| JSON 表示法 |
|---|
{ "metropolitanArea": string } |
| 字段 | |
|---|---|
metropolitanArea |
都市区域的名称。 |
SingleEdgeResponse
| JSON 表示法 |
|---|
{ "result": enum ( |
| 字段 | |
|---|---|
result |
相应出站流量设备的主动探测的总体结果。 |
sentProbeCount |
已发送的探测次数。 |
successfulProbeCount |
到达目标的探测次数。 |
probingLatency |
通过单向主动探测测得的延迟时间:从源端点到目标端点。 |
destinationEgressLocation |
数据包(以互联网为目的地)将从 Google 网络传出的边缘位置。仅当连接测试具有互联网目标地址时,才会填充此字段。不得将缺少此字段作为表明目标属于 Google 网络的指示。 |
destinationRouter |
路由器的名称,格式为“{router}.{metroshard}”。例如:pf01.aaa01、pr02.aaa01。 |
输出架构
此资源表示由网络 API 调用引发的长时间运行的操作。
操作
| JSON 表示法 |
|---|
{ "name": string, "metadata": { "@type": string, field1: ..., ... }, "done": boolean, // Union field |
| 字段 | |
|---|---|
name |
由服务器分配的名称,该名称仅在最初返回它的那项服务中是唯一的。如果您使用默认 HTTP 映射,则 |
metadata |
与操作关联的服务专属元数据。它通常包含进度信息和常见元数据(如创建时间)。一些服务可能不会提供此类元数据。任何返回长时间运行操作的方法都应记录元数据类型(如果有的话)。 此对象可以包含任意类型的字段。附加字段 |
done |
如果值为 |
联合字段 result。操作结果,可以是 error,也可以是有效的 response。如果 done == false,则既不会设置 error,也不会设置 response。如果 done == true,则只能设置 error 或 response 中的一项。部分服务可能不会提供结果。result 只能是下列其中一项: |
|
error |
操作失败或被取消时表示有错误发生的结果。 |
response |
操作的常规成功响应。如果原始方法在成功时不返回任何数据(如 此对象可以包含任意类型的字段。附加字段 |
不限
| JSON 表示法 |
|---|
{ "typeUrl": string, "value": string } |
| 字段 | |
|---|---|
typeUrl |
通过 URI 引用(包含以斜杠结尾的前缀和完全限定的类型名称)来标识序列化 Protobuf 消息的类型。 示例:type.googleapis.com/google.protobuf.StringValue 此字符串必须包含至少一个 前缀是任意的,Protobuf 实现应仅剥离最后一个 所有类型网址字符串都必须是合法的 URI 引用,并且(对于文本格式)还必须满足以下额外限制:引用的内容只能包含字母数字字符、百分号编码的转义字符以及以下集合中的字符(不包括外侧的反引号): 在 |
value |
包含由 type_url 描述的类型的 Protobuf 序列化。 使用 base64 编码的字符串。 |
状态
| JSON 表示法 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 字段 | |
|---|---|
code |
状态代码,应为 |
message |
面向开发者的错误消息(应采用英语)。任何向用户显示的错误消息都应进行本地化并通过 |
details[] |
包含错误详细信息的消息列表。有一组通用的消息类型可供 API 使用。 可以包含任意类型字段的对象。附加字段 |
工具注释
破坏性提示:❌ | 等幂性提示:❌ | 只读提示:❌ | 开放世界提示:❌