Autoscaling Groups

Autoscaling Groups contain a collection of Instances that share similar characteristics and are treated as a logical grouping for the purposes of instance scaling and management. This Autoscaling Group class inherits from TopLevelResource and has direct access to the resource’s database object. The following attributes are directly accessible:

attr resource_id:
 The primary resource identifier that takes the form of a prefix followed by numbers and letters
attr organization_service_id:
 The ID of the parent organization service (cloud)
attr name:Th name of the autoscaling group
attr arn:The ARN associated with this autoscaling group
attr create_time:
 The time when this autoscaling group was created
attr region_name:
 The region in which this autoscaling group resides
attr health_check_grace_period:
 The amount of time (in seconds) that the autoscaling group will wait to run the system health check, after instances have been started
attr min_size:The minimum number of instances running at all times on this autoscale group
attr max_size:The maximum number of instances that can be running at any time on this autoscale group
attr desired_capacity:
 The desired amount of instances running at all times in the autoscaling group
attr new_instance_protection:
 Instances that are protected from termination during scale in
attr default_cooldown:
 The amount of time the autoscaling group will wait before resuming scaling activities
class DivvyResource.Resources.autoscalinggroup.AutoscalingGroup(resource_id)

Bases: DivvyResource.Resources.toplevelresource.TopLevelResource

Autoscalining group operations

delete(user_resource_id=None)

Not not available for use

static get_db_class()
get_instances()

Retrieve the instance members the group uses

static get_provider_id_field()
static get_resource_type()
get_subnets()

Retrieve the subnets the group operates in

get_supported_actions()

Retrieve all the actions which are supported by this resource.

group
handle_resource_created(user_resource_id=None, project_resource_id=None)

This should be called when a resource is created/discovered after the basic data is added to the database. This gives an opportunity for post-addition hooks (assignment to projects/groups, alerts, etc)

handle_resource_destroyed(user_resource_id=None)

This should be called when a resource is destroyed before the basic data is removed from the database. This gives an opportunity for pre-destruction hooks (removal from projects/groups, alerts, etc)

handle_resource_modified(resource, *args, **kwargs)

This should be called when a resource is modified after the new data has been updated in the DB session This gives an opportunity for post-modification hooks

has_attached_instance()

Return True is instance(s) are attached to asg

modify(max_size=None, min_size=None, user_resource_id=None)

Modify the Autoscaling group. This makes a call sot he upstream providier to change one or more properties.

provider_id
top_level_resource = True