instances

package
v0.0.0-...-ae37572 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 6, 2020 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ActionURL

func ActionURL(c *gophercloud.ServiceClient, scalingGroupId string) string

func DeleteURL

func DeleteURL(c *gophercloud.ServiceClient, instanceId string) string

func List

func List(client *gophercloud.ServiceClient, scalingGroupId string, opts ListOptsBuilder) pagination.Pager

func ListURL

func ListURL(c *gophercloud.ServiceClient, scalingGroupId string) string

Types

type ActionOpts

type ActionOpts struct {
	// Specifies the ECS ID.
	InstancesId []string `json:"instances_id" required:"true"`

	// Specifies whether to delete ECS instances when they are removed
	// from an AS group. The value can be no (default) or yes.This parameter takes effect
	// only when the action is set to REMOVE.
	InstanceDelete string `json:"instance_delete,omitempty"`

	// Specifies an action to be performed on instances in batches.
	// The options are as follows:ADD: adds instances to the AS group.REMOVE: removes
	// instances from the AS group.PROTECT: enables instance protection.UNPROTECT: disables
	// instance protection.
	Action string `json:"action" required:"true"`
}

func (ActionOpts) ToInstancesActionMap

func (opts ActionOpts) ToInstancesActionMap() (map[string]interface{}, error)

type ActionOptsBuilder

type ActionOptsBuilder interface {
	ToInstancesActionMap() (map[string]interface{}, error)
}

type ActionResult

type ActionResult struct {
	gophercloud.ErrResult
}

func Action

func Action(client *gophercloud.ServiceClient, scalingGroupId string, opts ActionOptsBuilder) (r ActionResult)

type DeleteOpts

type DeleteOpts struct {
	// Specifies whether the instances are deleted when they are
	// removed from the AS group. The value can be yes or no (default).
	InstanceDelete string `q:"instance_delete" required:"true"`
}

func (DeleteOpts) ToDeleteQuery

func (opts DeleteOpts) ToDeleteQuery() (string, error)

type DeleteOptsBuilder

type DeleteOptsBuilder interface {
	ToDeleteQuery() (string, error)
}

type DeleteResult

type DeleteResult struct {
	gophercloud.ErrResult
}

func Delete

func Delete(client *gophercloud.ServiceClient, instanceId string, opts DeleteOptsBuilder) (r DeleteResult)

type InstancePage

type InstancePage struct {
	pagination.NumberPageBase
}

func (InstancePage) IsEmpty

func (r InstancePage) IsEmpty() (bool, error)

IsEmpty returns true if a ListResult contains no services.

func (InstancePage) LastStartNumber

func (r InstancePage) LastStartNumber() (string, error)

LastStartNumber returns the last service in a ListResult.

type ListOpts

type ListOpts struct {
	// Specifies the instance lifecycle status in the AS
	// group.INSERVICE: The instance in the AS group is in use.PENDING: The instance is
	// being added to the AS group.REMOVING: The instance is being removed from the AS
	// group.PENDING_WAIT: The instance is waiting to be added to the AS
	// group.REMOVING_WAIT: The instance is waiting to be removed from the AS group.
	LifeCycleState string `q:"life_cycle_state"`

	// Specifies the instance health status.INITIALIZING: The instance
	// is initializing.NORMAL: The instance is normal.ERROR: The instance is abnormal.
	HealthStatus string `q:"health_status"`

	// Specifies the start line number. The default value is 0.
	StartNumber int `q:"start_number"`

	// Specifies the total number of query records. The default is 20
	// and the maximum is 100.
	Limit                  int    `q:"limit"`
	ProtectFromScalingDown string `q:"protect_from_scaling_down"`
}

func (ListOpts) ToListQuery

func (opts ListOpts) ToListQuery() (string, error)

type ListOptsBuilder

type ListOptsBuilder interface {
	ToListQuery() (string, error)
}

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 details about the instances in the AS group.
	ScalingGroupInstances []ScalingGroupInstance `json:"scaling_group_instances"`
}

func ExtractInstances

func ExtractInstances(r pagination.Page) (ListResponse, error)

ExtractInstances is a function that takes a ListResult and returns the services' information.

type ScalingGroupInstance

type ScalingGroupInstance struct {
	// Specifies the instance ID.
	InstanceId string `json:"instance_id"`

	// Specifies the instance name.
	InstanceName string `json:"instance_name"`

	// Specifies the ID of the AS group to which the instance
	// belongs.
	ScalingGroupId string `json:"scaling_group_id"`

	// Specifies the name of the AS group to which the instance
	// belongs.
	ScalingGroupName string `json:"scaling_group_name"`

	// Specifies the instance lifecycle status in the AS
	// group.INSERVICE: The instance in the AS group is in use.PENDING: The instance is
	// being added to the AS group.PENDING_WAIT: The instance is waiting to be added to the
	// AS group.REMOVING: The instance is being removed from the AS group.REMOVING_WAIT: The
	// instance is waiting to be removed from the AS group.
	LifeCycleState string `json:"life_cycle_state"`

	// Specifies the instance health status.The status can be NORMAL
	// or ERROR.
	HealthStatus string `json:"health_status"`

	// Specifies the AS configuration name.If the AS configuration has
	// been deleted, no information is displayed.If the instance is manually added to the AS
	// group, MANNUAL_ADD is returned.
	ScalingConfigurationName string `json:"scaling_configuration_name"`

	// Specifies the AS configuration ID.
	ScalingConfigurationId string `json:"scaling_configuration_id"`

	// Specifies the time when the instance is added to the AS group.
	// The time format complies with UTC.
	CreateTime string `json:"create_time"`

	// Specifies the instance protection status.
	ProtectFromScalingDown bool `json:"protect_from_scaling_down"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL