123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package ecs
- import "github.com/denverdino/aliyungo/common"
- type ResourceType string
- const (
- ResourceTypeInstance = ResourceType("Instance")
- ResourceTypeDisk = ResourceType("Disk")
- ResourceTypeVSwitch = ResourceType("VSwitch")
- ResourceTypeIOOptimizedInstance = ResourceType("IoOptimized")
- )
- type DescribeZonesArgs struct {
- RegionId common.Region
- }
- //
- // You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/datatype&availableresourcecreationtype
- type AvailableResourceCreationType struct {
- ResourceTypes []ResourceType //enum for Instance, Disk, VSwitch
- }
- //
- // You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/datatype&availablediskcategoriestype
- type AvailableDiskCategoriesType struct {
- DiskCategories []DiskCategory //enum for cloud, ephemeral, ephemeral_ssd
- }
- //
- // You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/datatype&zonetype
- type ZoneType struct {
- ZoneId string
- LocalName string
- AvailableResourceCreation AvailableResourceCreationType
- AvailableDiskCategories AvailableDiskCategoriesType
- }
- type DescribeZonesResponse struct {
- common.Response
- Zones struct {
- Zone []ZoneType
- }
- }
- // DescribeZones describes zones
- func (client *Client) DescribeZones(regionId common.Region) (zones []ZoneType, err error) {
- args := DescribeZonesArgs{
- RegionId: regionId,
- }
- response := DescribeZonesResponse{}
- err = client.Invoke("DescribeZones", &args, &response)
- if err == nil {
- return response.Zones.Zone, nil
- }
- return []ZoneType{}, err
- }
|