Documentation ¶
Index ¶
- func CreateURL(c *gophercloud.ServiceClient) string
- func GetPolicyListByResourceID(client *gophercloud.ServiceClient, scalingResourceId string, ...) pagination.Pager
- func GetURL(c *gophercloud.ServiceClient, scalingPolicyId string) string
- func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- func ListURL(c *gophercloud.ServiceClient, scalingResourceId string) string
- func UpdateURL(c *gophercloud.ServiceClient, scalingPolicyId string) string
- type CreateOpts
- type CreateOptsBuilder
- type CreateResponse
- type CreateResult
- type CreateScalingPolicyAction
- type GetResponse
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type ListResponse
- type ListResult
- type PolicyPage
- type ResourceListOpts
- type ResourceListOptsBuilder
- type ScalingPolicy
- type ScalingPolicyAction
- type ScheduledPolicy
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResponse
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateURL ¶
func CreateURL(c *gophercloud.ServiceClient) string
func GetPolicyListByResourceID ¶
func GetPolicyListByResourceID(client *gophercloud.ServiceClient, scalingResourceId string, opts ResourceListOptsBuilder) pagination.Pager
func GetURL ¶
func GetURL(c *gophercloud.ServiceClient, scalingPolicyId string) string
func List ¶
func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
func ListURL ¶
func ListURL(c *gophercloud.ServiceClient, scalingResourceId string) string
func UpdateURL ¶
func UpdateURL(c *gophercloud.ServiceClient, scalingPolicyId string) string
Types ¶
type CreateOpts ¶
type CreateOpts struct { // Specifies the AS policy name. The name can contain letters, // digits, underscores (_), and hyphens (-), and cannot exceed 64 characters. ScalingPolicyName string `json:"scaling_policy_name" required:"true"` // Specifies the scaling resource ID, which is the unique ID of an // AS group or bandwidth. ScalingResourceId string `json:"scaling_resource_id" required:"true"` // Specifies the scaling resource type.AS group: // SCALING_GROUP.Bandwidth: BANDWIDTH ScalingResourceType string `json:"scaling_resource_type" required:"true"` // Specifies the AS policy type.ALARM (corresponding to alarm_id): // indicates that the scaling action is triggered by an alarm.SCHEDULED (corresponding // to scheduled_policy): indicates that the scaling action is triggered as // scheduled.RECURRENCE (corresponding to scheduled_policy): indicates that the scaling // action is triggered periodically. ScalingPolicyType string `json:"scaling_policy_type" required:"true"` // Specifies the alarm rule ID. This parameter is mandatory when // scaling_policy_type is set to ALARM. After this parameter is specified, the value of // scheduled_policy does not take effect.After you create an alarm policy, the system // automatically adds an alarm triggering activity of the autoscaling type to the // alarm_actions field in the alarm rule specified by the parameter value.You can obtain // the parameter value by querying the CES alarm rule list. For details, see section // Querying Alarms in the Cloud Eye API Reference. AlarmId string `json:"alarm_id,omitempty"` // Specifies the periodic or scheduled AS policy. This parameter // is mandatory when scaling_policy_type is set to SCHEDULED or RECURRENCE. After this // parameter is specified, the value of alarm_id does not take effect. ScheduledPolicy ScheduledPolicy `json:"scheduled_policy"` // Specifies the scaling action of the AS policy. ScalingPolicyAction CreateScalingPolicyAction `json:"scaling_policy_action"` // Specifies the cooling duration (in seconds), which is 900 by // default. CoolDownTime *int `json:"cool_down_time,omitempty"` }
func (CreateOpts) ToPoliciesCreateMap ¶
func (opts CreateOpts) ToPoliciesCreateMap() (map[string]interface{}, error)
type CreateOptsBuilder ¶
type CreateResponse ¶
type CreateResponse struct { // Specifies the AS policy ID. ScalingPolicyId string `json:"scaling_policy_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 CreateScalingPolicyAction ¶
type CreateScalingPolicyAction struct { // Specifies the operation to be performed. The default operation // is ADD.ADD: adds specified number of instances to the AS group.REMOVE: removes // specified number of instances from the AS group.SET: sets the number of instances in // the AS group. Operation string `json:"operation,omitempty"` // Specifies the number of instances or the bandwidth. The default // value is 1.If scaling_resource_type is set to SCALING_GROUP, the value of this // parameter is the number of instances.If scaling_resource_type is set to BANDWIDTH, // the value of this parameter is the bandwidth (Mbit/s).Either size or percentage is // required. Size *int `json:"size,omitempty"` // Specifies the percentage of instances to be operated.If neither // instance_number nor instance_percentage is specified, the number of instances to be // operated is 1.Either size or percentage is required. Percentage *int `json:"percentage,omitempty"` // Specifies the operation restrictions.If scaling_resource_type // is set to BANDWIDTH, this parameter takes effect and the unit is Mbit/s.In this // case:If operation is set to ADD, this parameter indicates the maximum bandwidth.If // operation is set to REDUCE, this parameter indicates the minimum bandwidth. Limits *int `json:"limits,omitempty"` }
type GetResponse ¶
type GetResponse struct { // Specifies details about the AS policy. ScalingPolicy ScalingPolicy `json:"scaling_policy"` }
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
func Get ¶
func Get(client *gophercloud.ServiceClient, scalingPolicyId string) (r GetResult)
func (GetResult) Extract ¶
func (r GetResult) Extract() (*ScalingPolicy, error)
type ListOpts ¶
type ListOpts struct { // Specifies the AS policy name. ScalingPolicyName string `q:"scaling_policy_name"` // Specifies the AS policy type. ScalingPolicyType string `q:"scaling_policy_type"` // Specifies the start line number. The default value is 0. StartNumber int `q:"start_number"` // Specifies the total number of query records. The default value // is 20 and the maximum value is 100. Limit int `q:"limit"` // Specifies the AS policy id. ScalingPolicyID string `q:"scaling_policy_id"` ScalingResourceID string `q:"scaling_resource_id"` ScalingResourceType string `q:"scaling_resource_type"` SortBy string `q:"sort_by"` Order string `q:"order"` EnterpriseProjectID string `q:"enterprise_project_id"` }
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 total number of query records. Limit int `json:"limit"` // Specifies the AS policy list. ScalingPolicies []ScalingPolicy `json:"scaling_policies"` }
func ExtractPolicies ¶
func ExtractPolicies(r pagination.Page) (ListResponse, error)
ExtractPolicies is a function that takes a ListResult and returns the information.
type ListResult ¶
type ListResult struct {
// contains filtered or unexported fields
}
func (ListResult) Extract ¶
func (r ListResult) Extract() (*ListResponse, error)
type PolicyPage ¶
type PolicyPage struct {
pagination.NumberPageBase
}
func (PolicyPage) IsEmpty ¶
func (r PolicyPage) IsEmpty() (bool, error)
IsEmpty returns true if a ListResult contains no services.
func (PolicyPage) LastStartNumber ¶
func (r PolicyPage) LastStartNumber() (string, error)
LastStartNumber returns the last service in a ListResult.
type ResourceListOpts ¶
type ResourceListOpts struct { // Specifies the AS policy name. ScalingPolicyName string `q:"scaling_policy_name"` // Specifies the AS policy type. ScalingPolicyType string `q:"scaling_policy_type"` // Specifies the start line number. The default value is 0. StartNumber int `q:"start_number"` // Specifies the total number of query records. The default value // is 20 and the maximum value is 100. Limit int `q:"limit"` // Specifies the AS policy id. ScalingPolicyID string `q:"scaling_policy_id"` }
func (ResourceListOpts) ToResourceListQuery ¶
func (opts ResourceListOpts) ToResourceListQuery() (string, error)
type ResourceListOptsBuilder ¶
type ScalingPolicy ¶
type ScalingPolicy struct { // Specifies the scaling resource ID. ScalingResourceId string `json:"scaling_resource_id"` // Specifies the scaling resource type.AS group: // SCALING_GROUP,Bandwidth: BANDWIDTH ScalingResourceType string `json:"scaling_resource_type"` // Specifies the AS policy name. ScalingPolicyName string `json:"scaling_policy_name"` // Specifies the AS policy ID. ScalingPolicyId string `json:"scaling_policy_id"` // Specifies the AS policy status.INSERVICE: indicates that the AS // policy is in use.PAUSED: indicates that the AS policy is disabled.EXECUTING: The task // is in process. PolicyStatus string `json:"policy_status"` // Specifies the AS policy type.ALARM: indicates that the scaling // action is triggered by an alarm. A value is returned for alarm_id, and no value is // returned for scheduled_policy.SCHEDULED: indicates that the scaling action is // triggered as scheduled. A value is returned for scheduled_policy, and no value is // returned for alarm_id, recurrence_type, recurrence_value, start_time, or // end_time.RECURRENCE: indicates that the scaling action is triggered periodically. // Values are returned for scheduled_policy, recurrence_type, recurrence_value, // start_time, and end_time, and no value is returned for alarm_id. ScalingPolicyType string `json:"scaling_policy_type"` // Specifies the alarm ID. AlarmId string `json:"alarm_id"` // Specifies the periodic or scheduled AS policy. ScheduledPolicy ScheduledPolicy `json:"scheduled_policy"` // Specifies the scaling action of the AS policy. ScalingPolicyAction ScalingPolicyAction `json:"scaling_policy_action"` // Specifies the cooling duration (s). CoolDownTime int `json:"cool_down_time"` // Specifies the time when an AS policy is created. The time // format complies with UTC. CreateTime string `json:"create_time"` // key value metadata MataData map[string]interface{} `json:"meta_data"` }
type ScalingPolicyAction ¶
type ScalingPolicyAction struct { // Specifies the operation to be performed. The default operation // is ADD.ADD: adds specified number of instances to the AS group.REMOVE: removes // specified number of instances from the AS group.SET: sets the number of instances in // the AS group. Operation string `json:"operation,omitempty"` // Specifies the number of instances or the bandwidth. The default // value is 1.If scaling_resource_type is set to SCALING_GROUP, the value of this // parameter is the number of instances.If scaling_resource_type is set to BANDWIDTH, // the value of this parameter is the bandwidth (Mbit/s).Either size or percentage is // required. Size int `json:"size,omitempty"` // Specifies the percentage of instances to be operated.If neither // instance_number nor instance_percentage is specified, the number of instances to be // operated is 1.Either size or percentage is required. Percentage int `json:"percentage,omitempty"` // Specifies the operation restrictions.If scaling_resource_type // is set to BANDWIDTH, this parameter takes effect and the unit is Mbit/s.In this // case:If operation is set to ADD, this parameter indicates the maximum bandwidth.If // operation is set to REDUCE, this parameter indicates the minimum bandwidth. Limits int `json:"limits,omitempty"` }
type ScheduledPolicy ¶
type ScheduledPolicy struct { // Specifies the time when the scaling action is triggered. The // time format must comply with UTC.If scaling_policy_type is set to SCHEDULED, the time // format is YYYY-MM-DDThh:mmZ.If scaling_policy_type is set to RECURRENCE, the time // format is hh:mm. LaunchTime string `json:"launch_time" required:"true"` // Specifies the periodic triggering type. This parameter is // mandatory when scaling_policy_type is set to RECURRENCE.Daily: indicates that the // scaling action is triggered once a day.Weekly: indicates that the scaling action is // triggered once a week.Monthly indicates that the scaling action is triggered once a // month. RecurrenceType string `json:"recurrence_type,omitempty"` // Specifies the frequency at which scaling actions are // triggered.If recurrence_type is set to Daily, the value is null, indicating that the // scaling action is triggered once a day.If recurrence_type is set to Weekly, the value // ranges from 1 (Sunday) to 7 (Saturday). The digits refer to dates in each week and // separated by a comma. For example, 1,3,5.If recurrence_type is set to Monthly, the // value ranges from 1 to 31. The digits refer to the dates in each month and separated // by a comma, such as 1,10,13,28. RecurrenceValue string `json:"recurrence_value,omitempty"` // Specifies the start time of the scaling action triggered // periodically. The time format complies with UTC.The current time is used by // default.The time format is YYYY-MM-DDThh:mmZ. StartTime string `json:"start_time,omitempty"` // Specifies the end time of the scaling action triggered // periodically. The time format complies with UTC. This parameter is mandatory when // scaling_policy_type is set to RECURRENCE.When the scaling action is triggered // periodically, the end time cannot be earlier than the current and start time.The time // format is YYYY-MM-DDThh:mmZ EndTime string `json:"end_time,omitempty"` }
type UpdateOpts ¶
type UpdateOpts struct { // Specifies the AS policy name. The name can contain letters, // digits, underscores (_), and hyphens (-), and cannot exceed 64 characters. ScalingPolicyName string `json:"scaling_policy_name,omitempty"` // Specifies the AS policy type.ALARM (corresponding to alarm_id): // indicates that the scaling action is triggered by an alarm.SCHEDULED (corresponding // to scheduled_policy): indicates that the scaling action is triggered as // scheduled.RECURRENCE (corresponding to scheduled_policy): indicates that the scaling // action is triggered periodically. ScalingPolicyType string `json:"scaling_policy_type,omitempty"` // Specifies the scaling resource ID, which is the unique ID of an // AS group or bandwidth. ScalingResourceId string `json:"scaling_resource_id,omitempty"` // Specifies the scaling resource type.AS group: // SCALING_GROUP.Bandwidth: BANDWIDTH ScalingResourceType string `json:"scaling_resource_type,omitempty"` // AlarmId string `json:"alarm_id,omitempty"` // Specifies the alarm rule ID. This parameter is mandatory when // scaling_policy_type is set to ALARM. After this parameter is specified, the value of // scheduled_policy does not take effect.After you create an alarm policy, the system // automatically adds an alarm triggering activity of the autoscaling type to the // alarm_actions field in the alarm rule specified by the parameter value.You can obtain // the parameter value by querying the CES alarm rule list. For details, see section // Querying Alarms in the Cloud Eye API Reference. ScheduledPolicy ScheduledPolicy `json:"scheduled_policy"` // Specifies the scaling action of the AS policy. ScalingPolicyAction ScalingPolicyAction `json:"scaling_policy_action"` // Specifies the cooling duration (in seconds), which is 900 by // default. CoolDownTime *int `json:"cool_down_time,omitempty"` }
func (UpdateOpts) ToPoliciesUpdateMap ¶
func (opts UpdateOpts) ToPoliciesUpdateMap() (map[string]interface{}, error)
type UpdateOptsBuilder ¶
type UpdateResponse ¶
type UpdateResponse struct { // Specifies the AS policy ID. ScalingPolicyId string `json:"scaling_policy_id"` }
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
func Update ¶
func Update(client *gophercloud.ServiceClient, scalingPolicyId string, opts UpdateOptsBuilder) (r UpdateResult)
func (UpdateResult) Extract ¶
func (r UpdateResult) Extract() (*UpdateResponse, error)
Click to show internal directories.
Click to hide internal directories.