Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yunionio/cloudmux
Accessing Hetereogenous Cloud APIs with a Unified In-process Golang Library
https://github.com/yunionio/cloudmux
alibabacloud aliyun api aws azure golang golang-library golang-package google-cloud-platform huaweicloud in-process multicloud tencent-cloud
Last synced: 4 days ago
JSON representation
Accessing Hetereogenous Cloud APIs with a Unified In-process Golang Library
- Host: GitHub
- URL: https://github.com/yunionio/cloudmux
- Owner: yunionio
- License: apache-2.0
- Created: 2021-05-07T02:24:36.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T09:07:12.000Z (about 2 months ago)
- Last Synced: 2024-10-29T10:57:54.441Z (about 2 months ago)
- Topics: alibabacloud, aliyun, api, aws, azure, golang, golang-library, golang-package, google-cloud-platform, huaweicloud, in-process, multicloud, tencent-cloud
- Language: Go
- Homepage: https://www.cloudpods.org
- Size: 22.9 MB
- Stars: 20
- Watchers: 8
- Forks: 29
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CloudMuX
CloudMuX is an in-process Multi-Cloud Library written entirely in Golang. It provides consistent interfaces to access OpenAPIs of various cloud providers. Cloudpods CMP service is built upon CloudMux.
## Command line tool -- cmx
cmx is the command line tool based on CloudMux. cmx is a compact utility to access various clouds.
### Complile
```bash
$ make cmd/cmx
```### Build Image
```bash
TAG=v3.10.4 GOOS=linux ARCH=amd64 REGISTRY=registry.cn-beijing.aliyuncs.com/ make image cloudmux
```### Example
1. List regions
```bash
# Aliyun
$ ./_output/bin/cmx --provider Aliyun --access-key $your_access_key --secret $your_secret region-list# Aws
$ ./_output/bin/cmx --provider Aws --cloud-env ChinaCloud --access-key $your_access_key --secret $your_secret --debug region-list# Azure
$ ./_output/bin/cmx --provider Azure --cloud-env AzurePublicCloud \
--access-key $your_directory_id/$your_subscription_id \
--secret $your_app_id/$your_app_key \
region-list
```2. List zones
```bash
# Aliyun
$ ./_output/bin/cmx --provider Aliyun --access-key $your_access_key --secret $your_secret zone-list
```3. List VM instances
```bash
# Aliyun
$ ./_output/bin/cmx --provider Aliyun --region ap-southeast-1 --access-key $your_access_key --secret $your_secret instance-list --zone ap-southeast-1a
```