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.