简介 本文档主要介绍运维编排 Go SDK 的安装和使用,适用于 1.0 版本。请确保您已经开通了阿里云运维编排服务,并创建了 AccessKeyId 和 AccessKeySecret。
如果您还没有开通或者还不了解阿里云运维编排服务,请登录运维编排的产品主页进行了解。 如果您还没有创建 AccessKeyId 和 AccessKeySecret,请到阿里云 Access Key 的管理控制台创建 Access Key。
源码地址 请访问 GitHub 获取源码。 本文介绍如何按照 Golang SDK。
环境准备 适用于 Golang 1.10 及以上版本。
安装 OOS GO SDK 集成在阿里云 Go SDK中。 执行以下命令,安装阿里云Go SDK:
go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdk
快速入门 本节介绍如何快速使用OOS Go SDK完成常见操作,如创建模板、启动执行、查询执行等。
创建模板 以下代码用于创建模板:
package main import ( "fmt" "github.com/aliyun/alibaba-cloud-sdk-go/services/oos" ) var client, err = oos.NewClientWithAccessKey("cn-hangzhou", "
", "
") var content =
{ "FormatVersion": "OOS-2019-06-01", "Description": "Descirbe instances of given status", "Parameters": { "Status": { "Type": "String", "Description": "(Required) The status of the Ecs instance." } }, "Tasks": [ { "Properties": { "Parameters": { "Status": "{{ Status }}" }, "API": "DescribeInstances", "Service": "ECS" }, "Name": "describeInstances", "Action": "ACS::ExecuteAPI" } ] }
func CreateTemplate(name string, content string) (response *oos.CreateTemplateResponse, err error) { request := oos.CreateCreateTemplateRequest() request.TemplateName = name request.Content = content response, err = client.CreateTemplate(request) return } func main() { response, err := CreateTemplate("MyTemplate", content) fmt.Println(response) fmt.Println(err) }
启动执行 以下代码用于启动执行:
package main import ( "fmt" "github.com/aliyun/alibaba-cloud-sdk-go/services/oos" ) var client, err = oos.NewClientWithAccessKey("cn-hangzhou", " ", " ") func StartExecution(templateName string, parameters string) (response *oos.StartExecutionResponse, err error) { request := oos.CreateStartExecutionRequest() request.TemplateName = templateName request.Parameters = parameters response, err = client.StartExecution(request) return } func main() { response, err := StartExecution("MyTemplate", "{"Status": "Running"}") fmt.Println(response) fmt.Println(err) }
查询执行 以下代码用于查询执行:
package main import ( "fmt" "github.com/aliyun/alibaba-cloud-sdk-go/services/oos" ) var client, err = oos.NewClientWithAccessKey("cn-hangzhou", " ", " ") func ListExecutions(executionId string) (response *oos.ListExecutionsResponse, err error) { request := oos.CreateListExecutionsRequest() request.ExecutionId = executionId response, err = client.ListExecutions(request) return } func main() { response, err := ListExecutions(" ") fmt.Println(response) fmt.Println(err) }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。