如何通过REST API查询应用于GCP GCE实例的OSConfig访客策略
解决方案
你找错了对应API的资源路径,gcloud beta compute os-config guest-policies lookup 命令对应的REST接口并不在projects.guestPolicies资源下,而是属于实例层级的lookupEffectiveGuestPolicy方法,具体调用方式如下:
- 接口基本信息
请求方法为POST,v1beta版本的接口路径为:https://osconfig.googleapis.com/v1beta/{instance=projects/*/locations/*/instances/*}:lookupEffectiveGuestPolicy - 请求参数说明
路径参数instance需要替换为你目标实例的完整资源标识,格式为projects/$GCP_PROJECT_ID/locations/$GCE_INSTANCE_ZONE/instances/$GCE_INSTANCE_NAME,请求体可以留空,也可以按需添加过滤条件缩小返回范围。 - 调用示例(curl)
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://osconfig.googleapis.com/v1beta/projects/$GCP_PROJECT_ID/locations/$GCE_INSTANCE_ZONE/instances/$GCE_INSTANCE_NAME:lookupEffectiveGuestPolicy" - 返回结果对应说明
返回结果中的softwareRecipes字段就是你在gcloud命令输出中看到的SOFTWARE RECIPES表格内容,每个条目直接对应SOURCE、NAME、VERSION、DESIRED_STATE几个字段,和gcloud输出完全一致。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

