Documentation ¶
Index ¶
- func CreateURL(c *gophercloud.ServiceClient) string
- func DeleteURL(c *gophercloud.ServiceClient, scalingConfigurationId string) string
- func DeleteWithBatchURL(c *gophercloud.ServiceClient) string
- func GetURL(c *gophercloud.ServiceClient, scalingConfigurationId string) string
- func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- func ListURL(c *gophercloud.ServiceClient) string
- type Bandwidth
- type BandwidthInfo
- type ConfigPage
- type CreateInstanceConfig
- type CreateOpts
- type CreateOptsBuilder
- type CreateResponse
- type CreateResult
- type DeleteResult
- type DeleteWithBatchOpts
- type DeleteWithBatchOptsBuilder
- type DeleteWithBatchResult
- type Disk
- type EIP
- type Eip
- type GetResult
- type InstanceConfig
- type ListOpts
- type ListOptsBuilder
- type ListResponse
- type Personality
- type PublicIP
- type PublicIp
- type ScalingConfiguration
- type SecurityGroup
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateURL ¶
func CreateURL(c *gophercloud.ServiceClient) string
func DeleteURL ¶
func DeleteURL(c *gophercloud.ServiceClient, scalingConfigurationId string) string
func DeleteWithBatchURL ¶
func DeleteWithBatchURL(c *gophercloud.ServiceClient) string
func GetURL ¶
func GetURL(c *gophercloud.ServiceClient, scalingConfigurationId string) string
func List ¶
func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
func ListURL ¶
func ListURL(c *gophercloud.ServiceClient) string
Types ¶
type Bandwidth ¶
type Bandwidth struct { ID string `json:"id"` // Specifies the bandwidth (Mbit/s). The value range is 1 to // 100. Size int `json:"size"` // (indicates exclusive bandwidth).Only exclusive bandwidth is available. ShareType string `json:"share_type"` // Specifies the bandwidth charging mode.If the field value is // bandwidth, the ECS service is charged by bandwidth.If the field value is traffic, the // ECS service is charged by traffic.If the field value is others, the ECS creation will // fail. ChargingMode string `json:"charging_mode"` }
type BandwidthInfo ¶
type BandwidthInfo struct { ID string `json:"id,omitempty"` // Specifies the bandwidth (Mbit/s). The value range is 1 to // 100. Size int `json:"size,omitempty"` // (indicates exclusive bandwidth).Only exclusive bandwidth is available. ShareType string `json:"share_type" required:"true"` // Specifies the bandwidth charging mode.If the field value is // bandwidth, the ECS service is charged by bandwidth.If the field value is traffic, the // ECS service is charged by traffic.If the field value is others, the ECS creation will // fail. ChargingMode string `json:"charging_mode,omitempty"` }
type ConfigPage ¶
type ConfigPage struct {
pagination.NumberPageBase
}
func (ConfigPage) IsEmpty ¶
func (r ConfigPage) IsEmpty() (bool, error)
IsEmpty returns true if a ListResult contains no services.
func (ConfigPage) LastStartNumber ¶
func (r ConfigPage) LastStartNumber() (string, error)
LastMarker returns the last service in a ListResult.
type CreateInstanceConfig ¶
type CreateInstanceConfig struct { // Specifies the ECS ID. When using the existing ECS // specifications as the template to create AS configurations, specify this parameter. // In this case, flavorRef, imageRef, and disk fields do not take effect.If the // instance_id field is not specified, flavorRef, imageRef, and disk fields are // mandatory. InstanceId string `json:"instance_id,omitempty"` // Specifies the ECS specifications ID, which defines the // specifications of the CPU and memory for the ECS. You can obtain its value from the // API used to query specifications and expansion details about ECSs. For details, see // section Querying Specifications and Expansion Details About ECSs in the Elastic Cloud // Server API Reference. FlavorRef string `json:"flavorRef,omitempty"` // Specifies the image ID. It is the same as image_id. You can // obtain its value from the API used to query IMS images. For details, see section // Querying Images in the Image Management Service API Reference. ImageRef string `json:"imageRef,omitempty"` // Specifies the disk group information. System disks are // mandatory and data disks are optional. Disk []Disk `json:"disk,omitempty"` // Specifies the name of the SSH key pair used to log in to the // ECS. KeyName string `json:"key_name,omitempty"` // Specifies information about the injected file. Only text files // can be injected. A maximum of five files can be injected at a time and the maximum // size of each file is 1 KB. Personality []Personality `json:"personality,omitempty"` // Specifies the cloud-init user data.Text, text files, and gzip // files can be injected. The file content must be encoded with Base64, and the maximum // allowed file size is 32 KB. UserData string `json:"user_data,omitempty"` // Specifies the EIP of the ECS. The EIP can be configured in the // following two ways:Not configured (delete this field),Assigned automatically PublicIP *PublicIP `json:"public_ip,omitempty"` SecurityGroups []SecurityGroup `json:"security_groups,omitempty"` ServerGroupID string `json:"server_group_id,omitempty"` Tenancy string `json:"tenancy,omitempty"` DedicatedHostID string `json:"dedicated_host_id,omitempty"` // Specifies the metadata of ECSs to be created. Metadata map[string]interface{} `json:"metadata,omitempty"` }
type CreateOpts ¶
type CreateOpts struct { ScalingConfigurationName string `json:"scaling_configuration_name" required:"true"` // Specifies the information about instance configurations. InstanceConfig CreateInstanceConfig `json:"instance_config" required:"true"` }
func (CreateOpts) ToConfiguresCreateMap ¶
func (opts CreateOpts) ToConfiguresCreateMap() (map[string]interface{}, error)
type CreateOptsBuilder ¶
type CreateResponse ¶
type CreateResponse struct { // Specifies the AS configuration ID. ScalingConfigurationId string `json:"scaling_configuration_id"` }
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
func Create ¶
func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
func (CreateResult) Extract ¶
func (r CreateResult) Extract() (*CreateResponse, error)
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
func Delete ¶
func Delete(client *gophercloud.ServiceClient, scalingConfigurationId string) (r DeleteResult)
type DeleteWithBatchOpts ¶
type DeleteWithBatchOpts struct { // Specifies the AS configuration ID. ScalingConfigurationId []string `json:"scaling_configuration_id" required:"true"` }
func (DeleteWithBatchOpts) ToConfiguresDeleteWithBatchMap ¶
func (opts DeleteWithBatchOpts) ToConfiguresDeleteWithBatchMap() (map[string]interface{}, error)
type DeleteWithBatchResult ¶
type DeleteWithBatchResult struct {
gophercloud.ErrResult
}
func DeleteWithBatch ¶
func DeleteWithBatch(client *gophercloud.ServiceClient, opts DeleteWithBatchOptsBuilder) (r DeleteWithBatchResult)
type Disk ¶
type Disk struct { // Specifies the disk size. The unit is GB.The system disk size // ranges from 40 to 32768 and must be greater than or equal to the minimum size // (min_disk value) of the system disk specified in the image.The data disk size ranges // from 10 to 32768. Size int `json:"size" required:"true"` // Specifies the ECS system disk type, which must be the same as // the disk type available in the system.Enumerated values of the disk type:SATA: common // I/O disk type,SAS: high I/O disk type,SSD: ultra-high I/O disk type,co-pl: high I/O // (performance-optimized I) disk type,uh-l1: ultra-high I/O (latency-optimized) disk // type.NOTE:For HANA and HL1 ECSs, use co-p1 or uh-l1 disks. For other ECSs, do not use // co-p1 or uh-l1 disks. VolumeType string `json:"volume_type" required:"true"` // Specifies whether the disk is a system disk or a data disk. // DATA indicates a data disk. SYS indicates a system disk. DiskType string `json:"disk_type" required:"true"` // Specifies a DSS device ID for creating an ECS disk.NOTE:Specify // DSS devices for all disks in an AS configuration or not. If DSS devices are // specified, all the data stores must belong to the same AZ, and the disk types // supported by a DSS device for a disk must be the same as the volume_type value. DedicatedStorageId string `json:"dedicated_storage_id,omitempty"` // Specifies a data disk image for exporting data. DataDiskImageId string `json:"data_disk_image_id,omitempty"` // Specifies the disk backup snapshot ID for restoring the system // disk and data disk at the ECS level when the ECS-level image is used.NOTE:You can // obtain the disk backup snapshot ID by using the mirrored ECS-level backup ID to query // backup details in CSBS. Regarding snapshot_id, each disk in an AS configuration must // correspond to a disk backup at the ECS-level. SnapshotId string `json:"snapshot_id,omitempty"` }
type EIP ¶
type EIP struct { // Specifies the IP address type.Enumerated values of the IP // address type:5_bgp: indicates the dynamic BGP.5_lxbgp: BGP,5_telcom: indicates China // Telecom.5_union: indicates China Unicom. IpType string `json:"ip_type" required:"true"` // Specifies the bandwidth. Bandwidth BandwidthInfo `json:"bandwidth" required:"true"` }
type Eip ¶
type Eip struct { // Specifies the IP address type.Enumerated values of the IP // address type:5_bgp: indicates the dynamic BGP.5_lxbgp: BGP,5_telcom: indicates China // Telecom.5_union: indicates China Unicom. IpType string `json:"ip_type"` // Specifies the bandwidth. Bandwidth Bandwidth `json:"bandwidth"` }
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
func Get ¶
func Get(client *gophercloud.ServiceClient, scalingConfigurationId string) (r GetResult)
func (GetResult) Extract ¶
func (r GetResult) Extract() (*ScalingConfiguration, error)
type InstanceConfig ¶
type InstanceConfig struct { // This field is reserved. InstanceName string `json:"instance_name"` // Specifies the ECS ID. When using the existing ECS // specifications as the template to create AS configurations, specify this parameter. // In this case, flavorRef, imageRef, and disk fields do not take effect.If the // instance_id field is not specified, flavorRef, imageRef, and disk fields are // mandatory. InstanceId string `json:"instance_id"` // Specifies the ECS specifications ID, which defines the // specifications of the CPU and memory for the ECS. You can obtain its value from the // API used to query specifications and expansion details about ECSs. For details, see // section Querying Specifications and Expansion Details About ECSs in the Elastic Cloud // Server API Reference. FlavorRef string `json:"flavorRef"` // Specifies the image ID. It is the same as image_id. You can // obtain its value from the API used to query IMS images. For details, see section // Querying Images in the Image Management Service API Reference. ImageRef string `json:"imageRef"` // Specifies the disk group information. System disks are // mandatory and data disks are optional. Disk []Disk `json:"disk"` // This field is reserved. AdminPass string `json:"adminPass"` // Specifies the name of the SSH key pair used to log in to the // ECS. KeyName string `json:"key_name"` // Specifies information about the injected file. Only text files // can be injected. A maximum of five files can be injected at a time and the maximum // size of each file is 1 KB. Personality []Personality `json:"personality"` // Specifies the EIP of the ECS. The EIP can be configured in the // following two ways:Not configured (delete this field),Assigned automatically PublicIp PublicIp `json:"public_ip"` // Specifies the cloud-init user data.Text, text files, and gzip // files can be injected. The file content must be encoded with Base64, and the maximum // allowed file size is 32 KB. UserData string `json:"user_data"` // Specifies the metadata of ECSs to be created. Metadata map[string]interface{} `json:"metadata"` SecurityGroups []SecurityGroup `json:"security_groups"` ServerGroupID string `json:"server_group_id"` Tenancy string `json:"tenancy"` DedicatedHostID string `json:"dedicated_host_id"` MarketType string `json:"market_type"` KeyFingerPrint string `json:"key_fingerprint"` }
type ListOpts ¶
type ListOpts struct { // Specifies the AS configuration name. ScalingConfigurationName string `q:"scaling_configuration_name"` // Specifies the image ID. It is same as imageRef. ImageId string `q:"image_id"` // Specifies the start line number. The default value is 0. StartNumber int `q:"start_number"` // Specifies the number of query records. The default value is // 20. Limit int `q:"limit"` }
func (ListOpts) ToListQuery ¶
type ListOptsBuilder ¶
type ListResponse ¶
type ListResponse struct { // Specifies the total number of query records. TotalNumber int `json:"total_number"` // Specifies the start line number. StartNumber int `json:"start_number"` // Specifies the number of query records. Limit int `json:"limit"` // Specifies the AS configuration list. ScalingConfigurations []ScalingConfiguration `json:"scaling_configurations"` }
func ExtractConfigs ¶
func ExtractConfigs(r pagination.Page) (ListResponse, error)
ExtractServices is a function that takes a ListResult and returns the services' information.
type Personality ¶
type Personality struct { // Specifies the path of the injected file.For Linux OSs, specify // the path, for example, /etc/foo.txt, for storing the injected file.For Windows OSs, // the injected file is automatically stored in the root directory of disk C. You only // need to specify the file name, for example foo. The file name can contain only // letters and digits. Path string `json:"path" required:"true"` // Specifies the content of the injected file, which must be // encoded with base64. Content string `json:"content" required:"true"` }
type PublicIP ¶
type PublicIP struct { // Specifies the configuration parameter for creating an EIP that // will be automatically assigned to the ECS. EIP EIP `json:"eip" required:"true"` }
type PublicIp ¶
type PublicIp struct { // Specifies the configuration parameter for creating an EIP that // will be automatically assigned to the ECS. Eip Eip `json:"eip"` }
type ScalingConfiguration ¶
type ScalingConfiguration struct { // Specifies the AS configuration ID. This parameter is globally // unique. ScalingConfigurationId string `json:"scaling_configuration_id"` // Specifies the tenant ID. Tenant string `json:"tenant"` // Specifies the AS configuration name. ScalingConfigurationName string `json:"scaling_configuration_name"` // Specifies the information about instance configurations. InstanceConfig InstanceConfig `json:"instance_config"` // Specifies the time when AS configurations are created. The time // format complies with UTC. CreateTime string `json:"create_time"` }
type SecurityGroup ¶
type SecurityGroup struct {
ID string `json:"id" required:"true"`
}
Click to show internal directories.
Click to hide internal directories.