Go以Google API Client Libraries來建立GCP Partner Interconnect connection的VLAN attachment。
事前要求
參考「GCP 設定本機應用程式存取憑證 Application Default Credentials」設定credential。
參考「Golang 建立GCP Interconnect Cloud Router」建立Cloud Router。
建立Partner Interconnect connection VLAN attachment
呼叫compute.InterconnectAttachmentsService.Insert輸入project id、region、compute.InterconnectAttachment參數來建立VLAN attachment。
compute.InterconnectAttachment參數屬性如下:
Name- 輸入VLAN atachment的名稱。EdgeAvailabilityDomain- 輸入AVAILABILITY_DOMAIN_ANY。Router- 輸入cloud router的URL。Type- 輸入PARTNER。
main.go
package main
import (
"context"
compute "google.golang.org/api/compute/v1"
)
func main() {
ctx := context.Background()
service, err := compute.NewService(ctx)
if err != nil {
panic(err)
}
projectId := "project-id-1"
region := "asia-east1"
interconnectAttachmentService := compute.NewInterconnectAttachmentsService(service)
vlanAttachement := &compute.InterconnectAttachment{
Name: "demo-vlan-a-002",
EdgeAvailabilityDomain: "AVAILABILITY_DOMAIN_1",
Router: "https://www.googleapis.com/compute/v1/projects/project-id-1/regions/asia-east1/routers/demo-cloudrouter-002",
Type: "PARTNER",
}
call := interconnectAttachmentService.Insert(projectId, region, vlanAttachement)
_, err = call.Do()
if err != nil {
panic(err)
}
}
測試
很奇怪用gcloud cli不需提供Interconnect URL即可成功建立VLAN attachment,但這邊用SDK API卻需要Interconnect URL?原來必須把compute.InterconnectAttachment.Type設為PARTNER才可成功新增VLAN attachment。
沒有留言:
張貼留言