package fleet
type Disk struct {
Size int `json:"size"`
VolumeType string `json:"volume_type"`
DiskType string `json:"disk_type"`
}
type SecurityGroup struct {
Id string `json:"id"`
}
type VmTemplate struct {
AvailableFlavorIds []string `json:"available_flavor_ids"`
ImageId string `json:"image_id"`
Disks []Disk `json:"disks"`
SecurityGroups []SecurityGroup `json:"security_groups"`
Eip PublicIp `json:"eip"`
KeyName string `json:"key_name"`
AvailableZones []string `json:"available_zones"`
}
type InstanceConfiguration struct {
RuntimeConfiguration RuntimeConfiguration `json:"runtime_configuration"`
ServerSessionProtectionPolicy string `json:"server_session_protection_policy"`
ServerSessionProtectionTimeLimitMinutes int `json:"server_session_protection_time_limit_minutes"`
}
type InstanceScalingGroup struct {
FleetId string `json:"fleet_id"`
MinInstanceNumber int `json:"min_instance_number"`
MaxInstanceNumber int `json:"max_instance_number"`
EnterpriseProjectId string `json:"enterprise_project_id"`
DesireInstanceNumber int `json:"desire_instance_number"`
CoolDownTime int `json:"cool_down_time"`
VpcId string `json:"vpc_id"`
SubnetId string `json:"subnet_id"`
InstanceType string `json:"instance_type"`
VmTemplate VmTemplate `json:"vm_template"`
InstanceConfiguration InstanceConfiguration `json:"instance_configuration"`
EnableAutoScaling bool `json:"enable_auto_scaling"`
Agency Agency `json:"agency"`
Name string `json:"instance_scaling_group_name"`
IamAgencyName string `json:"iam_agency_name"`
InstanceTags []InstanceTag `json:"instance_tags"`
AvailableZones []string `json:"available_zones"`
}
type Agency struct {
OriProjectId string `json:"ori_project_id"`
ProjectId string `json:"project_id"`
AccessKey string `json:"access_key"`
SecretAccessKey string `json:"secret_access_key"`
}
type CreateScalingGroupResponse struct {
InstanceScalingGroupId string `json:"instance_scaling_group_id"`
}