2017-04-10 19:07:32 +00:00
# AliyunGo: Go SDK for Aliyun Services
2018-12-25 00:30:40 +00:00
[![Build Status ](https://travis-ci.org/denverdino/aliyungo.svg?branch=master )](https://travis-ci.org/denverdino/aliyungo) [![CircleCI ](https://circleci.com/gh/denverdino/aliyungo.svg?style=svg )](https://circleci.com/gh/denverdino/aliyungo) [![Go Report Card ](https://goreportcard.com/badge/github.com/denverdino/aliyungo )](https://goreportcard.com/report/github.com/denverdino/aliyungo)
2017-04-10 19:07:32 +00:00
2018-12-25 00:30:40 +00:00
This is an unofficial Go SDK for Aliyun services. You are welcome for contribution.
2017-04-10 19:07:32 +00:00
2018-12-25 00:30:40 +00:00
The official SDK for Aliyun services is published. Please visit https://github.com/aliyun/alibaba-cloud-sdk-go for details
2017-04-10 19:07:32 +00:00
2018-12-25 00:30:40 +00:00
## Package Structure
2017-04-10 19:07:32 +00:00
2018-12-25 00:30:40 +00:00
* cdn: [Content Delivery Network ](https://help.aliyun.com/document_detail/27101.html )
* cms: [Cloud Monitor Service ](https://help.aliyun.com/document_detail/28615.html )
* cs: [Container Service ](https://help.aliyun.com/product/25972.html )
* dm: [Direct Mail ](https://help.aliyun.com/document_detail/29414.html )
* dns: [DNS ](https://help.aliyun.com/document_detail/dns/api-reference/summary.html )
* ecs: [Elastic Compute Service ](https://help.aliyun.com/document_detail/ecs/open-api/summary.html )
* ess: [Auto Scaling ](https://help.aliyun.com/document_detail/25857.html )
* mns: [Message Service ](https://help.aliyun.com/document_detail/27414.html )
* mq: [Message Queue ](https://help.aliyun.com/document_detail/29532.html )
* nas: [Network Attached Storage ](https://help.aliyun.com/document_detail/27518.html )
* opensearch: [OpenSearch ](https://help.aliyun.com/document_detail/29118.html )
* oss: [Open Storage Service ](https://help.aliyun.com/document_detail/oss/api-reference/abstract.html )
* push: [Cloud Mobile Push ](https://help.aliyun.com/document_detail/30049.html )
* rds: [Relational Database Service ](https://help.aliyun.com/document_detail/26226.html )
* ram: [Resource Access Management ](https://help.aliyun.com/document_detail/ram/ram-api-reference/intro/intro.html )
* slb: [Server Load Balancer ](https://help.aliyun.com/document_detail/slb/api-reference/brief-introduction.html )
* sls: [Logging Service ](https://help.aliyun.com/document_detail/sls/api/overview.html )
* sms: [Short Message Service ](https://help.aliyun.com/product/44282.html )
* sts: [Security Token Service ](https://help.aliyun.com/document_detail/28756.html )
* common: Common libary of Aliyun Go SDK
* util: Utility helpers
2017-04-10 19:07:32 +00:00
## Quick Start
```go
package main
import (
2018-12-25 00:30:40 +00:00
"fmt"
2017-04-10 19:07:32 +00:00
"github.com/denverdino/aliyungo/ecs"
)
const ACCESS_KEY_ID = "< YOUR_ID > "
const ACCESS_KEY_SECRET = "< ****>"
func main() {
client := ecs.NewClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET)
fmt.Print(client.DescribeRegions())
}
```
## Documentation
2018-12-25 00:30:40 +00:00
* CDN: [https://godoc.org/github.com/denverdino/aliyungo/cdn ](https://godoc.org/github.com/denverdino/aliyungo/cdn )[![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/cdn?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/cdn)
* CMS: [https://godoc.org/github.com/denverdino/aliyungo/cms ](https://godoc.org/github.com/denverdino/aliyungo/cms ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/cms?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/cms)
* CS: [https://godoc.org/github.com/denverdino/aliyungo/cs ](https://godoc.org/github.com/denverdino/aliyungo/cs ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/cs?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/cs)
* DM: [https://godoc.org/github.com/denverdino/aliyungo/dm ](https://godoc.org/github.com/denverdino/aliyungo/dm ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/dm?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/dm)
* DNS: [https://godoc.org/github.com/denverdino/aliyungo/dns ](https://godoc.org/github.com/denverdino/aliyungo/dns ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/dns?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/dns)
* ECS: [https://godoc.org/github.com/denverdino/aliyungo/ecs ](https://godoc.org/github.com/denverdino/aliyungo/ecs ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/ecs?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/ecs)
* ESS: [https://godoc.org/github.com/denverdino/aliyungo/ess ](https://godoc.org/github.com/denverdino/aliyungo/ess )[![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/ess?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/ess)
* MNS: [https://godoc.org/github.com/denverdino/aliyungo/mns ](https://godoc.org/github.com/denverdino/aliyungo/mns )[![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/mns?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/mns)
* MQ: [https://godoc.org/github.com/denverdino/aliyungo/mq ](https://godoc.org/github.com/denverdino/aliyungo/mq ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/mq?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/mq)
* NAS: [https://godoc.org/github.com/denverdino/aliyungo/nas ](https://godoc.org/github.com/denverdino/aliyungo/nas ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/nas?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/nas)
* OPENSEARCH: [https://godoc.org/github.com/denverdino/aliyungo/opensearch ](https://godoc.org/github.com/denverdino/aliyungo/opensearch ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/opensearch?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/opensearch)
* OSS: [https://godoc.org/github.com/denverdino/aliyungo/oss ](https://godoc.org/github.com/denverdino/aliyungo/oss ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/oss?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/oss)
* PUSH: [https://godoc.org/github.com/denverdino/aliyungo/push ](https://godoc.org/github.com/denverdino/aliyungo/push ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/push?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/push)
* RAM: [https://godoc.org/github.com/denverdino/aliyungo/ram ](https://godoc.org/github.com/denverdino/aliyungo/ram ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/ram?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/ram)
* RDS: [https://godoc.org/github.com/denverdino/aliyungo/rds ](https://godoc.org/github.com/denverdino/aliyungo/rds ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/rds?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/rds)
* SLB: [https://godoc.org/github.com/denverdino/aliyungo/slb ](https://godoc.org/github.com/denverdino/aliyungo/slb ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/slb?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/slb)
* SLS: [https://godoc.org/github.com/denverdino/aliyungo/sls ](https://godoc.org/github.com/denverdino/aliyungo/sls ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/sls?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/sls)
* SMS: [https://godoc.org/github.com/denverdino/aliyungo/sms ](https://godoc.org/github.com/denverdino/aliyungo/sms ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/sms?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/sms)
* STS: [https://godoc.org/github.com/denverdino/aliyungo/sts ](https://godoc.org/github.com/denverdino/aliyungo/sts ) [![GoDoc ](https://godoc.org/github.com/denverdino/aliyungo/sts?status.svg )](https://godoc.org/github.com/denverdino/aliyungo/sts)
2017-04-10 19:07:32 +00:00
## Build and Install
go get:
```sh
go get github.com/denverdino/aliyungo
```
## Test ECS
2018-12-25 00:30:40 +00:00
Modify "ecs/config_test.go"
2017-04-10 19:07:32 +00:00
```sh
TestAccessKeyId = "MY_ACCESS_KEY_ID"
TestAccessKeySecret = "MY_ACCESS_KEY_ID"
TestInstanceId = "MY_INSTANCE_ID"
TestIAmRich = false
```
2018-12-25 00:30:40 +00:00
* TestAccessKeyId: the Access Key Id
* TestAccessKeySecret: the Access Key Secret.
* TestInstanceId: the existing instance id for testing. It will be stopped and restarted during testing.
* TestIAmRich(Optional): If it is set to true, it will perform tests to create virtual machines and disks under your account. And you will pay the bill. :-)
2017-04-10 19:07:32 +00:00
Under "ecs" and run
```sh
go test
```
## Test OSS
2018-12-25 00:30:40 +00:00
Modify "oss/config_test.go"
2017-04-10 19:07:32 +00:00
```sh
TestAccessKeyId = "MY_ACCESS_KEY_ID"
TestAccessKeySecret = "MY_ACCESS_KEY_ID"
TestRegion = oss.Beijing
TestBucket = "denverdino"
```
2018-12-25 00:30:40 +00:00
* TestAccessKeyId: the Access Key Id
* TestAccessKeySecret: the Access Key Secret.
* TestRegion: the region of OSS for testing
* TestBucket: the bucket name for testing
2017-04-10 19:07:32 +00:00
Under "oss" and run
```sh
go test
```
## Contributors
* Li Yi (denverdino@gmail.com)
2018-12-25 00:30:40 +00:00
* Boshi Lian (farmer1992@gmail.com)
2017-04-10 19:07:32 +00:00
* Yu Zhou (oscarrr110@gmail.com)
* Yufei Zhang
* linuxlikerqq
2018-12-25 00:30:40 +00:00
* Changhai Yan
2017-04-10 19:07:32 +00:00
* Jizhong Jiang (jiangjizhong@gmail.com)
* Kent Wang (pragkent@gmail.com)
2018-12-25 00:30:40 +00:00
* ringtail
2017-04-10 19:07:32 +00:00
* aiden0z (aiden0xz@gmail.com)
* jimmycmh
* menglingwei
* mingang.he (dustgle@gmail.com)
2018-12-25 00:30:40 +00:00
* Young Chen (chainone@gmail.com)
2017-04-10 19:07:32 +00:00
* johnzeng
2018-12-25 00:30:40 +00:00
* spacexnice (445436286@qq.com)
* xiaoheihero
* hmgle (dustgle@gmail.com)
* jzwlqx (jiangjizhong@gmail.com)
* Linhua Tan (toolchainX@gmail.com)
* Plutonist (p@vecsight.com)
* Bin Liu
* wangyue
* demonwy
* yarous224
* yufeizyf (xazyf9111@sina.cn)
* keontang (ikeontang@gmail.com)
* Cholerae Hu (me@cholerae.com)
* Zach Bergh (berghzach@gmail.com)
* Bingshen Wang
* xiaozhu36
* Russell (yufeiwu@gmail.com)
* zhuzhih2017
* cheyang
* Hobo Chen
* Shuwei Yin
* Xujin Zheng (xujinzheng@gmail.com)
* Dino Lai (dinos80152@gmail.com)
2017-04-10 19:07:32 +00:00
## License
2018-12-25 00:30:40 +00:00
This project is licensed under the Apache License, Version 2.0. See [LICENSE ](https://github.com/denverdino/aliyungo/blob/master/LICENSE.txt ) for the full license text.
2017-04-10 19:07:32 +00:00
## Related projects
* Aliyun ECS driver for Docker Machine: [Pull request ](https://github.com/docker/machine/pull/1182 )
* Aliyun OSS driver for Docker Registry V2: [Pull request ](https://github.com/docker/distribution/pull/514 )
## References
The GO API design of OSS refer the implementation from [https://github.com/AdRoll/goamz ](https://github.com/AdRoll )