登录
首页 >  Golang >  Go问答

如何通过 Go Cloud 功能将计费标签添加到 VM 上?

来源:stackoverflow

时间:2024-03-16 23:00:27 301浏览 收藏

通过 Go Cloud Functions 将计费标签添加到 VM 在某些触发器情况下,用户希望从 Go113 云函数执行类似于 `gcloud compute instances add-labels --zone asia-east1-c foobar --labels=hostname=foobar` 的操作,并指定 `protoPayload.methodName="v1.compute.instances.insert"`。尽管存在一个用于此目的的 API(https://cloud.google.com/compute/docs/reference/rest/v1/instances/setLabels),但用户希望找到一种更简单的 SDK 方法,特别是考虑到对 Oauth 工作原理的了解有限。

问题内容

我希望能够在给定触发器的情况下,从 go113 云函数执行相当于: gcloud 计算实例 add-labels --zone asia-east1-c foobar --labels=ho​​stname=foobar通过 protoPayload.methodName="v1.compute.instances.insert"

我可以看到这里有一个 API https://cloud.google.com/compute/docs/reference/rest/v1/instances/setLabels,但我希望某种 SDK 可以使这变得更容易,特别是因为我不太清楚 Oauth 是如何工作的,所以我希望找到一个简单的例子来解决这个问题。


解决方案


我在 go link 中找到了方法 id compute.instances.setlabels

type InstancesSetLabelsCall struct {
    s                         *Service
    project                   string
    zone                      string
    instance                  string
    instancessetlabelsrequest *InstancesSetLabelsRequest
    urlParams_                gensupport.URLParams
    ctx_                      context.Context
    header_                   http.Header
}

// SetLabels: Sets labels on an instance. To learn more about labels,
// read the Labeling Resources documentation.
func (r *InstancesService) SetLabels(project string, zone string, instance string, instancessetlabelsrequest *InstancesSetLabelsRequest) *InstancesSetLabelsCall {
    c := &InstancesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
    c.project = project
    c.zone = zone
    c.instance = instance
    c.instancessetlabelsrequest = instancessetlabelsrequest
    return c
}

您可以找到一个简单的示例here

理论要掌握,实操不能落!以上关于《如何通过 Go Cloud 功能将计费标签添加到 VM 上?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>