From be62b3e0495d687f0d7e45bc73df6a6abef5f8ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Thu, 25 Apr 2024 11:44:20 +0800 Subject: [PATCH] fix(README): add apigateway endpoint example (#20129) --- pkg/mcclient/README.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/pkg/mcclient/README.md b/pkg/mcclient/README.md index b3ebfc434e..46da2e8cb5 100644 --- a/pkg/mcclient/README.md +++ b/pkg/mcclient/README.md @@ -58,3 +58,45 @@ func main() { fmt.Printf("%s", jsonutils.Marshal(result).PrettyString()) } ``` + +使用统一API入口调用 +文档说明: https://www.cloudpods.org/docs/development/apisdk/apigateway/ + +```golang +package main + +import ( + "context" + "fmt" + + "yunion.io/x/jsonutils" + + "yunion.io/x/onecloud/pkg/mcclient" + modules "yunion.io/x/onecloud/pkg/mcclient/modules/compute" +) + +func main() { + client := mcclient.NewClient("https://10.127.100.2/api/s/identity/v3", // 注意此地址不带端口 + 60, + true, + true, + "", + "") + token, err := client.Authenticate("sysadmin", "7AQMP9H2umQvbxxx", "Default", "system", "Default") + if err != nil { + panic(err) + } + s := client.NewSession(context.Background(), + "region0", + "", + "apigateway", // 注意此endpoint类型 + token, + ) + + result, err := modules.Servers.List(s, nil) + if err != nil { + panic(err) + } + fmt.Printf("%s", jsonutils.Marshal(result).PrettyString()) +} +```