所以,我想我有一個例子挖通的kubectl資源helper.go代碼之後的工作,那就是:
第一,創建一個結構是這樣的:
type ThingSpec struct {
Op string `json:"op"`
Path string `json:"path"`
Value string `json:"value"`
}
然後創建一個那些的數組:
things := make([]ThingSpec, 1)
things[0].Op = "replace"
things[0].Path = "/spec/ccpimagetag"
things[0].Value = "newijeff"
然後陣列轉換成一個字節陣列保持數據結構的JSON 版本:
patchBytes, err4 := json.Marshal(things)
最後,使此API調用來執行這種類型的補丁的:
result, err6 := tprclient.Patch(api.JSONPatchType).
Namespace(api.NamespaceDefault).
Resource("pgupgrades").
Name("junk").
Body(patchBytes).
Do().
Get()
這大致相當於此kubectl命令:
kubectl patch pgupgrades junk --type='json' -p='[{"op":"replace", "path":"/spec/ccpimagetag","value":"newimage"}]'