Documentation
¶
Index ¶
- type AllowedAddressPair
- type Attachment
- type BandWidth
- type Bandwidth
- type Coverage
- type CoverageSite
- type DataVolume
- type Demand
- type DeploymentEdgecloud
- type DeploymentResult
- type Distribution
- type DnsAssignment
- type EdgeImageInfo
- type EipPool
- type ExtraDHCPOpt
- type FixedIp
- type Flavor
- type GeoLocation
- type KeyPair
- type Link
- type NetConfig
- type Operator
- type OsExtraSpecs
- type Port
- type PublicIP
- type PublicIpinfo
- type ReqSecurityGroupRuleEntity
- type ResourceOpts
- type RespSecurityGroupRuleEntity
- type RootVolume
- type SecurityGroup
- type Site
- type SiteAttribute
- type SiteBase
- type SpotExtraSpecs
- type Stack
- type Subnet
- type SubnetID
- type VPC
- type Volume
- type VolumeType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AllowedAddressPair ¶
type AllowedAddressPair struct {
// Specifies the IP address. You cannot set it to 0.0.0.0.
// Configure an independent security group for the port if a large CIDR block (subnet
// mask less than 24) is configured for parameter allowed_address_pairs.
IpAddress string `json:"ip_address,omitempty"`
// Specifies the MAC address.
MacAddress string `json:"mac_address,omitempty"`
}
type Attachment ¶
type BandWidth ¶
type BandWidth struct {
//BandWidth(Mbit/s)[1,300]。
Size int `json:"size,omitempty"`
ShareType string `json:"sharetype" required:"true"`
//ChargeMode
ChargeMode string `json:"chargemode,omitempty"`
//BandWidthID,When creating an elastic IP address for a bandwidth of the
//WHOLE type, you can specify the original shared bandwidth.
Id string `json:"id,omitempty"`
}
type Bandwidth ¶
type Bandwidth struct {
// Specifies the bandwidth name. The value is a string of 1 to 64
// characters that can contain letters, digits, underscores (_), and hyphens (-).
Name string `json:"name"`
// Specifies the bandwidth size. The value ranges from 1 Mbit/s to
// 300 Mbit/s.
Size int `json:"size"`
// Specifies the bandwidth ID, which uniquely identifies the
// bandwidth.
ID string `json:"id"`
// value can be PER or WHOLE.
ShareType string `json:"share_type"`
// Specifies the elastic IP address of the bandwidth. The
// bandwidth, whose type is set to WHOLE, supports up to 20 elastic IP addresses. The
// bandwidth, whose type is set to PER, supports only one elastic IP address.
PublicipInfo []PublicIpinfo `json:"publicip_info"`
// Specifies the tenant ID of the user.
TenantId string `json:"tenant_id"`
// Specifies the bandwidth type.
BandwidthType string `json:"bandwidth_type"`
// Specifies the charging mode (by traffic or by bandwidth).
ChargeMode string `json:"charge_mode"`
// Specifies the status of bandwidth
Status string `json:"status"`
SiteID string `json:"site_id,omitempty"`
CreateTime time.Time `json:"create_time,omitempty"`
SiteInfo string `json:"site_info,omitempty"`
Operator Operator `json:"operator,omitempty"`
UpdateTime time.Time `json:"update_time,omitempty"`
PoolID string `json:"pool_id,omitempty"`
}
type Coverage ¶
type Coverage struct {
CoveragePolicy string `json:"coverage_policy" required:"true"`
CoverageLevel string `json:"coverage_level" required:"true"`
CoverageSites []CoverageSite `json:"coverage_sites,omitempty"`
}
Coverage :Edge Coverage Rule
type CoverageSite ¶
CoverageSite :Edge service coverage site
type DataVolume ¶
type Demand ¶
type Demand struct {
Operator string `json:"operator" required:"true"`
Count int `json:"demand_count" required:"true"`
PoolID string `json:"pool_id"`
}
Demand
type DeploymentEdgecloud ¶
type DeploymentResult ¶
type DeploymentResult struct {
ID string `json:"id"`
EdgeCloud DeploymentEdgecloud `json:"edgecloud"`
Distributions []Distribution `json:"distribution"`
}
DeploymentResult 部署计划的查询结果
type Distribution ¶
type Distribution struct {
Area string `json:"area,omitempty"`
City string `json:"name,omitempty"`
Operator string `json:"operator,omitempty"`
Province string `json:"province,omitempty"`
SiteId string `json:"site_id,omitempty"`
PoolId string `json:"pool_id,omitempty"`
StackCount int32 `json:"stack_count,omitempty"`
CityShortName string `json:"city_count_name,omitempty"`
IPv6Enable bool `json:"ipv6_enable,omitempty"`
IPv6BandWidthEnable bool `json:"ipv6_bandwidth_enable,omitempty"`
PoolIDV6 string `json:"pool_id_v6,omitempty"`
}
Distribution 实例分布对象
type DnsAssignment ¶
type EdgeImageInfo ¶
type EdgeImageInfo struct {
ID string `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
DiskFormat string `json:"disk_format"`
MinDiskGigabytes int `json:"min_disk"`
MinRAMMegabytes int `json:"min_ram"`
Owner string `json:"owner"`
Protected bool `json:"protected"`
Visibility string `json:"visibility"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
Self string `json:"self"`
Deleted bool `json:"deleted"`
VirtualEnvType string `json:"virtual_env_type"`
DeletedAt string `json:"deleted_at"`
RelatedJobID string `json:"related_job_id"`
ImageType string `json:"__imagetype"`
Platform string `json:"__platform"`
OsType string `json:"__os_type"`
OsVersion string `json:"__os_version"`
IsRegistered bool `json:"__isregistered"`
SupportKvm string `json:"__support_kvm,omitempty"`
SupportKvmGpuType string `json:"__support_kvm_gpu_type,omitempty"`
SupportKvmAscend310 string `json:"__support_kvm_ascend_310,omitempty"`
SupportKvmHi1822Hiovs string `json:"__support_kvm_hi1822_hiovs,omitempty"`
SupportArm string `json:"__support_arm,omitempty"`
HwFirmwareType string `json:"hw_firmware_type,omitempty"`
}
EdgeImageInfo 边缘镜像基本字段
type EipPool ¶
type EipPool struct {
// ID EIP池的唯一uuid
ID string `json:"id"`
// SiteID 站点ID
SiteID string `json:"site_id"`
// DisplayName EIP池展示名
DisplayName string `json:"display_name"`
// OperatorID 运营商ID
OperatorID *Operator `json:"operator"`
// PoolID EIP 池标识,从neutron获取
PoolID string `json:"pool_id"`
// IPVersion IPv4:IPv4池 IPv6:IPv6池
IPVersion string `json:"ip_version"`
}
EipPool eip池返回体内容
type ExtraDHCPOpt ¶
type Flavor ¶
type Flavor struct {
// Specifies the ID of ECS specifications.
ID string `json:"id"`
// Specifies the name of the ECS specifications.
Name string `json:"name"`
// Specifies the number of CPU cores in the ECS specifications.
Vcpus string `json:"vcpus"`
// Specifies the memory size (MB) in the ECS specifications.
Ram int64 `json:"ram"`
// Specifies the system disk size in the ECS specifications.
// The value 0 indicates that the disk size is not limited.
Disk string `json:"disk"`
// Specifies shortcut links for ECS flavors.
Links []Link `json:"links"`
// Specifies extended ECS specifications.
OsExtraSpecs OsExtraSpecs `json:"os_extra_specs"`
// Reserved
Swap string `json:"swap"`
// Reserved
FlvEphemeral int64 `json:"OS-FLV-EXT-DATA:ephemeral"`
// Reserved
FlvDisabled bool `json:"OS-FLV-DISABLED:disabled"`
// Reserved
RxtxFactor int64 `json:"rxtx_factor"`
// Reserved
RxtxQuota string `json:"rxtx_quota"`
// Reserved
RxtxCap string `json:"rxtx_cap"`
// Reserved
AccessIsPublic bool `json:"os-flavor-access:is_public"`
}
type GeoLocation ¶
type GeoLocation struct {
// ID 标志
ID string `json:"id"`
// City 城市
City string `json:"city,omitempty"`
// I18nCity 城市的国家化名称
I18nCity string `json:"i18n_city,omitempty"`
// Province 省份
Province string `json:"province,omitempty"`
// I18nProvince 省份的国际化名称
I18nProvince string `json:"i18n_province,omitempty"`
// Area 区域
Area string `json:"area,omitempty"`
// I18nArea 区域国际化名称
I18nArea string `json:"i18n_area,omitempty"`
// Country 国家
Country string `json:"country"`
// I18nCountry 国家的国际化名称
I18nCountry string `json:"i18n_country,omitempty"`
}
GeoLocation 地理位置
type KeyPair ¶
type KeyPair struct {
// Name is used to refer to this keypair from other services within this
// region.
Name string `json:"name"`
// Fingerprint is a short sequence of bytes that can be used to authenticate
// or validate a longer public key.
Fingerprint string `json:"fingerprint"`
// PublicKey is the public key from this pair, in OpenSSH format.
// "ssh-rsa AAAAB3Nz..."
PublicKey string `json:"public_key"`
// PrivateKey is the private key from this pair, in PEM format.
// "-----BEGIN RSA PRIVATE KEY-----\nMIICXA..."
// It is only present if this KeyPair was just returned from a Create call.
PrivateKey string `json:"private_key,omitempty"`
// UserID is the user who owns this KeyPair.
UserID string `json:"user_id,omitempty"`
}
KeyPair is an SSH key known to the OpenStack Cloud that is available to be injected into servers.
type NetConfig ¶
type NetConfig struct {
VpcID string `json:"vpc_id" required:"true"`
Subnets []SubnetID `json:"subnets"`
NicNum int `json:"nic_num"`
}
NetConfig
type Operator ¶
type Operator struct {
// 运营商的唯一uuid
ID string `json:"id"`
// 运营商的名称
Name string `json:"name,omitempty"`
// 运营商的国际化名称
I18nName string `json:"i18n_name,omitempty"`
// 运营商的简写
Sa string `json:"sa"`
}
Operator 运营商
type OsExtraSpecs ¶
type OsExtraSpecs struct {
// Specifies the ECS specifications types
PerformanceType string `json:"ecs:performancetype"`
// Specifies the resource type.
ResourceType string `json:"resource_type"`
// Specifies the generation of an ECS type
Generation string `json:"ecs:generation"`
// Specifies a virtualization type
VirtualizationEnvTypes string `json:"ecs:virtualization_env_types"`
// Indicates whether the GPU is passthrough.
PciPassthroughEnableGpu string `json:"pci_passthrough:enable_gpu"`
// Indicates the technology used on the G1 and G2 ECSs,
// including GPU virtualization and GPU passthrough.
PciPassthroughGpuSpecs string `json:"pci_passthrough:gpu_specs"`
// Indicates the model and quantity of passthrough-enabled GPUs on P1 ECSs.
PciPassthroughAlias string `json:"pci_passthrough:alias"`
// gpu info.wuzilin add
InfoGPUName string `json:"info:gpu:name,omitempty"`
// cpu
InfoCpuName string `json:"info:cpu:name,omitempty"`
CondOperationStatus string `json:"cond:operation:status"`
CondOperationAz string `json:"cond:operation:az"`
CondCompute string `json:"cond:compute"`
CondImage string `json:"cond:image"`
VifMaxNum string `json:"quota:vif_max_num"`
PhysicsMaxRate string `json:"quota:physics_max_rate"`
VifMultiqueueNum string `json:"quota:vif_multiqueue_num"`
MinRate string `json:"quota:min_rate"`
MaxRate string `json:"quota:max_rate"`
MaxPps string `json:"quota:max_pps"`
CPUSockets string `json:"hw:cpu_sockets"`
NumaNodes string `json:"hw:numa_nodes"`
CPUThreads string `json:"hw:cpu_threads"`
MemPageSize string `json:"hw:mem_page_size"`
ConnLimitTotal string `json:"quota:conn_limit_total"`
CPUCores string `json:"hw:cpu_cores"`
SpotExtraSpecs
}
type Port ¶
type Port struct {
// Specifies the port ID, which uniquely identifies the port.
ID string `json:"id"`
// Specifies the port name. The value can contain no more than 255
// characters. This parameter is left blank by default.
Name string `json:"name"`
// Specifies the ID of the network to which the port belongs. The
// network ID must be a real one in the network environment.
NetworkID string `json:"network_id"`
// Specifies the administrative state of the port. The value can
// only be?true, and the default value is?true.
AdminStateUp bool `json:"admin_state_up"`
// Specifies the port MAC address. The system automatically sets
// this parameter, and you are not allowed to configure the parameter value.
MacAddress string `json:"mac_address"`
// Specifies the port IP address. A port supports only one fixed
// IP address that cannot be changed.
FixedIPs []FixedIp `json:"fixed_ips"`
// Specifies the ID of the device to which the port belongs. The
// system automatically sets this parameter, and you are not allowed to configure or
// change the parameter value.
DeviceID string `json:"device_id"`
// Specifies the belonged device, which can be the DHCP server,
// router, load balancers, or Nova. The system automatically sets this parameter, and
// you are not allowed to configure or change the parameter value.
DeviceOwner string `json:"device_owner"`
// Specifies the status of the port. The value can
// be?ACTIVE,?BUILD, or?DOWN.
Status string `json:"status"`
// Specifies the UUID of the security group. This attribute is
// extended.
SecurityGroups []string `json:"security_groups"`
// 1. Specifies a set of zero or more allowed address pairs. An
// address pair consists of an IP address and MAC address. This attribute is extended.
// For details, see parameter?allow_address_pair. 2. The IP address cannot be?0.0.0.0.
// 3. Configure an independent security group for the port if a large CIDR block (subnet
// mask less than 24) is configured for parameter?allowed_address_pairs.
AllowedAddressPairs []AllowedAddressPair `json:"allowed_address_pairs"`
// Specifies a set of zero or more extra DHCP option pairs. An
// option pair consists of an option value and name. This attribute is extended.
ExtraDhcpOpts []ExtraDHCPOpt `json:"extra_dhcp_opts"`
// Specifies the type of the bound vNIC. The value can
// be?normal?or?direct. Parameter?normal?indicates software switching.
// Parameter?direct?indicates SR-IOV PCIe passthrough, which is not supported.
BindingvnicType string `json:"binding:vnic_type"`
// Default private domain name of the main NIC
DnsAssignment []DnsAssignment `json:"dns_assignment"`
// Default private DNS name of the main NIC
DnsName string `json:"dns_name"`
// site id
SiteID string `json:"site_id"`
}
type PublicIP ¶
type PublicIP struct {
// Specifies the ID of the elastic IP address, which uniquely
// identifies the elastic IP address.
ID string `json:"id"`
// Specifies the status of the elastic IP address.
Status string `json:"status"`
// Specifies the obtained elastic IP address.
PublicIpAddress string `json:"public_ip_address"`
// Value range: 4, 6, respectively, to create ipv4 and ipv6, when not created ipv4 by default
IPVersion int `json:"ip_version"`
// Specifies the private IP address bound to the elastic IP
// address.
PrivateIpAddress string `json:"private_ip_address"`
// Specifies the port ID.
PortID string `json:"port_id"`
// Specifies the time for applying for the elastic IP address.
CreateTime string `json:"create_time"`
// Specifies the bandwidth ID of the elastic IP address.
BandwidthID string `json:"bandwidth_id"`
// Specifies the bandwidth size.
BandwidthSize int `json:"bandwidth_size"`
BandwidthShareType string `json:"bandwidth_share_type"`
// Specifies the bandwidth name.
BandwidthName string `json:"bandwidth_name"`
//Operator information
Operator Operator `json:"operator"`
// Specifies the Siteid.
SiteID string `json:"site_id"`
// SiteInfo
SiteInfo string `json:"site_info"`
Region string `json:"region,omitempty"`
Type string `json:"type,omitempty"`
}
type PublicIpinfo ¶
type PublicIpinfo struct {
// Specifies the tenant ID of the user.
PublicipId string `json:"publicip_id"`
// Specifies the elastic IP address.
PublicipAddress string `json:"publicip_address"`
// Specifies the elastic IP version.
IPVersion int `json:"ip_version"`
// Specifies the elastic IP address type. The value can be
// 5_telcom, 5_union, or 5_bgp.
PublicipType string `json:"publicip_type"`
}
type ReqSecurityGroupRuleEntity ¶
type ReqSecurityGroupRuleEntity struct {
Description string `json:"description,omitempty"`
SecurityGroupID string `json:"security_group_id"`
Direction string `json:"direction"`
EtherType string `json:"ethertype,omitempty"`
Protocol string `json:"protocol,omitempty"`
PortRangeMin interface{} `json:"port_range_min"`
PortRangeMax interface{} `json:"port_range_max"`
RemoteIPPrefix string `json:"remote_ip_prefix,omitempty"`
RemoteGroupID string `json:"remote_group_id,omitempty"`
}
ReqSecurityGroupRuleEntity 创建安全组的规则的结构体
type ResourceOpts ¶
type ResourceOpts struct {
//Name is the name to assign to the newly launched server.
Name string `json:"name" required:"true"`
// ImageRef [optional; required if ImageName is not provided] is the ID or
// full URL to the image that contains the server's OS and initial state.
// Also optional if using the boot-from-volume extension.
ImageRef string `json:"image_ref" required:"true"`
// FlavorRef [optional; required if FlavorName is not provided] is the ID or
// full URL to the flavor that describes the server's specs.
FlavorRef string `json:"flavor_ref" required:"true"`
// UserData contains configuration information or scripts to use upon launch.
// Create will base64-encode it for you, if it isn't already.
UserData string `json:"user_data"`
// AdminPass sets the root user password. If not set, a randomly-generated
// password will be created and returned in the response.
AdminPass string `json:"admin_pass,omitempty"`
//secret for logging in server
KeyName string `json:"key_name,omitempty"`
// Networks dictates how this server will be attached to available networks.
// By default, the server will be attached to all isolated networks for the
// tenant.
NetConfig NetConfig `json:"net_config" required:"true"`
//Specifies the EIP bandwidth. If this parameter does not exist, no EIP is bound.
//If this parameter exists, an EIP is bound.
BandWidth *BandWidth `json:"bandwidth,omitempty"`
//the number of servers created
Count int `json:"count"`
//System disk configuration of the ECS
RootVolume RootVolume `json:"root_volume"`
//Specifies the data disk configuration of the ECS. Each data structure indicates
//a data disk to be created.
DataVolumes []DataVolume `json:"data_volumes,omitempty"`
//Specifies the security group of the ECS.
SecurityGroups []SecurityGroup `json:"security_groups,omitempty"`
// 边缘场景,待使用
EdgeScenes string `json:"edge_scenes,omitempty"`
}
type RespSecurityGroupRuleEntity ¶
type RespSecurityGroupRuleEntity struct {
ID string `json:"id"`
Description string `json:"description"`
SecurityGroupID string `json:"security_group_id"`
Direction string `json:"direction"`
EtherType string `json:"ethertype"`
Protocol string `json:"protocol"`
PortRangeMin interface{} `json:"port_range_min"`
PortRangeMax interface{} `json:"port_range_max"`
RemoteIPPrefix string `json:"remote_ip_prefix"`
RemoteGroupID string `json:"remote_group_id"`
}
RespSecurityGroupRuleEntity 获取安全组安全组的规则的结构体
type RootVolume ¶
type SecurityGroup ¶
type SecurityGroup struct {
//云服务器组ID,UUID格式。
ID string `json:"id" required:"true"`
}
type Site ¶
type Site struct {
// 站点的唯一uuid
ID string `json:"id"`
// 站点的名称,最好按照一定的规则命名,比如:IEG-国家-区域-省-市-运营商
Name string `json:"name"`
SiteBase
//站点的状态,
Status string `json:"status"`
// CityShortName 城市名称缩写
CityShortName string `json:"city_short_name"`
// EipPools
EipPools []EipPool `json:"pools,omitempty"`
}
Site 站点信息
type SiteAttribute ¶
type SiteAttribute struct {
// 站点属性的唯一uuid
ID string `json:"id"`
// 站点相对应的属性的key
Key string `json:"site_attr"`
// 站点相对应属性的value
Value string `json:"site_attr_value"`
}
SiteAttribute 站点扩展属性
type SiteBase ¶
type SiteBase struct {
// 站点所在的城市
City string `json:"city,omitempty"`
// 城市的国家化名称
I18nCity string `json:"i18n_city,omitempty"`
// 站点所在的省份
Province string `json:"province,omitempty"`
// 省份的国际化名称
I18nProvince string `json:"i18n_province,omitempty"`
// 站点所在的区域
Area string `json:"area,omitempty"`
// 区域国际化名称
I18nArea string `json:"i18n_area,omitempty"`
// 站点所在的国家
Country string `json:"country,omitempty"`
// 国家的国际化名称
I18nCountry string `json:"i18n_country,omitempty"`
Operator *Operator `json:"operator,omitempty"`
}
SiteBase 站点的基本信息
type SpotExtraSpecs ¶
type SpotExtraSpecs struct {
CondSpotBlockOperationAz string `json:"cond:spot_block:operation:az"`
CondSpotBlockLdh string `json:"cond:spot_block:operation:longest_duration_hours"`
CondSpotBlockLdc string `json:"cond:spot_block:operation:longest_duration_count"`
CondSpotBlockInterruptPolicy string `json:"cond:spot_block:operation:interrupt_policy"`
CondSpotOperationAz string `json:"cond:spot:operation:az"`
CondSpotOperationStatus string `json:"cond:spot:operation:status"`
}
SpotExtraSpecs 增加spot属性
type Stack ¶
type Stack struct {
Name string `json:"name"`
Resources []ResourceOpts `json:"resources"`
}
边缘资源组对象
type Subnet ¶
type Subnet struct {
// Specifies a resource ID in UUID format.
ID string `json:"id"`
// Specifies the subnet name. The value is a string of 1 to 64
// characters that can contain letters, digits, underscores (_), and hyphens (-).
Name string `json:"name"`
// Specifies the network segment on which the subnet resides. The
// value must be in CIDR format. The value must be within the CIDR block of the VPC. The
// subnet mask cannot be greater than 28.
Cidr string `json:"cidr"`
// Specifies the gateway of the subnet. The value must be a valid
// IP address. The value must be an IP address in the subnet segment.
GatewayIP string `json:"gateway_ip"`
// Specifies whether the DHCP function is enabled for the subnet.
// The value can be true or false. If this parameter is left blank, it is set to true by
// default.
DhcpEnable bool `json:"dhcp_enable,omitempty"`
// Specifies the IP address of DNS server 1 on the subnet. The
// value must be a valid IP address.
PrimaryDNS string `json:"primary_dns,omitempty"`
// Specifies the IP address of DNS server 2 on the subnet. The
// value must be a valid IP address.
SecondaryDNS string `json:"secondary_dns,omitempty"`
// Specifies the DNS server address list of a subnet. This field
// is required if you need to use more than two DNS servers. This parameter value is the
// superset of both DNS server address 1 and DNS server address 2.
DNSList []string `json:"dnsList,omitempty"`
// Specifies the ID of the VPC to which the subnet belongs.
VpcID string `json:"vpc_id"`
// Specifies the status of the subnet. The value can be ACTIVE,
// DOWN, UNKNOWN, or ERROR.
Status string `json:"status"`
// Specifies the network (Native OpenStack API) ID.
NeutronNetworkID string `json:"neutron_network_id"`
// Specifies the subnet (Native OpenStack API) ID.
NeutronSubnetID string `json:"neutron_subnet_id"`
// SiteID
SiteID string `json:"site_id,omitempty"`
// SiteInfo
SiteInfo string `json:"site_info,omitempty"`
}
Subnet represents a subnet. See package documentation for a top-level description of what this is.
type SubnetID ¶
type SubnetID struct {
ID string `json:"id" required:"true"`
IPv6BandWidthEnable bool `json:"ipv6_bandwidth_enable"`
IPv6Enable bool `json:"ipv6_enable"`
PoolIDV6 string `json:"-"`
}
Subnet
type VPC ¶
type VPC struct {
// Specifies a resource ID in UUID format.
ID string `json:"id"`
// Specifies the name of the VPC. The name must be unique for a
// tenant. The value is a string of no more than 64 characters and can contain digits,
// letters, underscores (_), and hyphens (-).
Name string `json:"name,omitempty"`
// Specifies the range of available subnets in the VPC. The value
// must be in CIDR format, for example, 192.168.0.0/16. The value ranges from 10.0.0.0/8
// to 10.255.255.0/24, 172.16.0.0/12 to 172.31.255.0/24, or 192.168.0.0/16 to
// 192.168.255.0/24.
Cidr string `json:"cidr,omitempty"`
// SubnetNum
SubnetNum int64 `json:"subnet_num"`
Mode string `json:"mode,omitempty"`
}
type Volume ¶
type Volume struct {
// Unique identifier for the volume.
ID string `json:"id"`
// Current status of the volume.
Status string `json:"status"`
// Size of the volume in GB.
Size int `json:"size"`
// AvailabilityZone is which availability zone the volume is in.
AvailabilityZone string `json:"availability_zone"`
// The date when this volume was created.
CreatedAt time.Time `json:"-"`
// The date when this volume was last updated
UpdatedAt time.Time `json:"-"`
// Instances onto which the volume is attached.
Attachments []Attachment `json:"attachments"`
// Human-readable display name for the volume.
Name string `json:"name"`
// Human-readable description for the volume.
Description string `json:"description"`
// The type of volume to create, either SATA or SSD.
VolumeType string `json:"volume_type"`
// The ID of the snapshot from which the volume was created
SnapshotID string `json:"snapshot_id"`
// The ID of another block storage volume from which the current volume was created
SourceVolID string `json:"source_volid"`
// Arbitrary key-value pairs defined by the user.
Metadata map[string]string `json:"metadata"`
// UserID is the id of the user who created the volume.
UserID string `json:"user_id"`
// Indicates whether this is a bootable volume.
Bootable string `json:"bootable"`
// Encrypted denotes if the volume is encrypted.
Encrypted bool `json:"encrypted"`
// ReplicationStatus is the status of replication.
ReplicationStatus string `json:"replication_status"`
// ConsistencyGroupID is the consistency group ID.
ConsistencyGroupID string `json:"consistencygroup_id"`
// Multiattach denotes if the volume is multi-attach capable.
Multiattach bool `json:"multiattach"`
//Cloud hard disk uri self-description information.
Links []map[string]string `json:"links"`
//Whether it is a shared cloud drive.
//Shareable bool `json:"shareable"`
//Volume image metadata
VolumeImageMetadata map[string]string `json:"volume_image_metadata"`
//The tenant ID to which the cloud drive belongs.
TenantAttr string `json:"os-vol-tenant-attr:tenant_id"`
//The host name to which the cloud drive belongs.
HostAttr string `json:"os-vol-host-attr:host"`
//Reserved attribute
RepAttrDriverData string `json:"os-volume-replication:driver_data"`
//Reserved attribute
RepAttrExtendedStatus string `json:"os-volume-replication:extended_status"`
//Reserved attribute
MigAttrStat string `json:"os-vol-mig-status-attr:migstat"`
//Reserved attribute
MigAttrNameID string `json:"os-vol-mig-status-attr:name_id"`
}
Volume contains all the information associated with an OpenStack Volume.
type VolumeType ¶
type VolumeType struct {
// Unique identifier for the volume type.
ID string `json:"id"`
// Human-readable display name for the volume type.
Name string `json:"name"`
}
VolumeType 卷类型