1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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
- }
- type AvailableInstanceTypesType struct {
- InstanceTypes []string
- }
- //
- // You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/datatype&zonetype
- type ZoneType struct {
- ZoneId string
- LocalName string
- AvailableInstanceTypes AvailableInstanceTypesType
- 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
- }
|