Documentation

Group extends AbstractResource
in package

An autoscaling group is monitored by Rackspace CloudMonitoring. When Monitoring triggers an alarm for high utilization within the autoscaling group, a webhook is triggered. The webhook stimulates the autoscale service which consults a policy in accordance with the webhook. The policy determines how many additional cloud servers should be added or removed in accordance with the alarm.

There are three components to Autoscale:

  • The Scaling Group Configuration ($this->groupConfiguration)
  • The Scaling Group's Launch Configuration ($this->launchConfiguration)
  • The Scaling Group's Policies ($this->scalingPolicies)
Tags
link
https://github.com/rackerlabs/otter/blob/master/doc/getting_started.rst
link
http://docs.autoscale.apiary.io/

Table of Contents

PATCH_CONTENT_TYPE  = OpenCloudCommonConstantsMime::JSON_PATCH
$associatedCollections  : array<string|int, mixed>
Same as an associated resource, but it's instantiated as a Collection.
$associatedResources  : array<string|int, mixed>
These resources are associated with this one. When this resource object is populated, if a key is found matching one of these array keys, it is set as an instantiated resource object (rather than an arbitrary string or stdClass object).
$createKeys  : array<string|int, mixed>
These are used to set the object used for JSON encode.
$aliases  : array<string|int, mixed>
The aliases configure for the properties of the instance.
$json_collection_name  : mixed
$json_name  : mixed
$metadata  : mixed
$parent  : BaseResource
$service  : ServiceInterface
$url_resource  : mixed
$active  : mixed
$activeCapacity  : mixed
$desiredCapacity  : mixed
$groupConfiguration  : mixed
$id  : mixed
$launchConfiguration  : mixed
$links  : mixed
$logger  : LoggerInterface
The logger instance
$name  : mixed
$paused  : mixed
$pendingCapacity  : mixed
$properties  : array<string|int, mixed>
Holds all the properties added by overloading.
$scalingPolicies  : mixed
__call()  : mixed
Intercept non-existent method calls for dynamic getter/setter functionality.
__construct()  : mixed
checkExtension()  : bool
Check whether an extension is valid
checkJsonError()  : mixed
Checks the most recent JSON operation for errors.
create()  : Response
Create a new resource
createScalingPolicies()  : mixed
createUrl()  : Url
delete()  : Response
Delete this resource
findLink()  : bool
Find a resource link based on a type
generateUuid()  : mixed
getClient()  : ClientInterface
Convenience method to return the service's client
getGroupConfig()  : GroupConfiguration
Get the group configuration for this autoscale group.
getInstance()  : static
getLaunchConfig()  : LaunchConfiguration
Get the launch configuration for this autoscale group.
getLogger()  : LoggerInterface
Returns the Logger object.
getMetadata()  : Metadata
getParent()  : mixed
getScalingPolicies()  : Collection
Get the scaling policies associated with this autoscale group.
getScalingPolicy()  : ScalingPolicy
Get a particular scaling policy for this autoscale group.
getService()  : ServiceInterface
getState()  : object|bool
Get the current state of the scaling group, including the current set of active entities, the number of pending entities, and the desired number of entities.
getUrl()  : mixed
Get this resource's URL
hasLogger()  : bool
id()  : mixed
jsonCollectionElement()  : string
Returns the nested keys that could (rarely) prefix collection items. For example:
jsonCollectionName()  : string
Returns the top-level key for collection responses
jsonName()  : mixed
Returns the top-level key for the returned response JSON document
makeResourceIteratorOptions()  : mixed
name()  : string
parseResponse()  : mixed
Parse a HTTP response for the required content
pause()  : mixed
NB: NOT SUPPORTED YET.
populate()  : mixed
Populates the current object based on an unknown data type.
refresh()  : Response
Refresh the state of a resource
refreshFromLocationUrl()  : mixed
Given a `location` URL, refresh this resource
region()  : mixed
resourceName()  : mixed
Returns the URI path for this resource
resume()  : mixed
NB: NOT SUPPORTED YET.
setLogger()  : $this
Sets the logger.
setMetadata()  : $this
setParent()  : self
setService()  : PersistentObject
status()  : string
stripNamespace()  : mixed
toCamel()  : mixed
Convert a string to camelCase format.
toUnderscores()  : mixed
Convert string to underscore format.
update()  : mixed
{@inheritDoc}
url()  : mixed
waitFor()  : mixed
A method to repeatedly poll the API resource, waiting for an eventual state change
createJson()  : object
Provides JSON for create request body
generateJsonPatch()  : string
Generates a JSON Patch representation and return its
getAlias()  : string
Returns the alias configured for the given key. If no alias exists it returns the original key.
getJsonHeader()  : mixed
getPatchHeaders()  : mixed
getProperty()  : mixed
Grab value out of the data array.
getUpdateablePropertiesAsArray()  : mixed
Returns the object's properties as an array
noCreate()  : mixed
noDelete()  : mixed
noUpdate()  : mixed
primaryKeyField()  : string
Returns the primary key field for the object
propertyExists()  : bool
Basic check to see whether property exists.
recursivelyAliasPropertyValue()  : mixed
Returns the given property value's alias, if configured; Else, the unchanged property value is returned. If the given property value is an array or an instance of \stdClass, it is aliases recursively.
refreshFromParent()  : mixed
Causes resource to refresh based on parent's URL
setProperty()  : mixed
We can set a property under three conditions:
updateJson()  : mixed
Provides JSON for update request body
checkAttributePrefix()  : bool
Checks the attribute $property and only permits it if the prefix is in the specified $prefixes array
isAccessible()  : bool
Does the property exist in the object variable list (i.e. does it have public or protected visibility?)

Constants

PATCH_CONTENT_TYPE

public mixed PATCH_CONTENT_TYPE = OpenCloudCommonConstantsMime::JSON_PATCH

Properties

$associatedCollections

Same as an associated resource, but it's instantiated as a Collection.

public array<string|int, mixed> $associatedCollections = array('scalingPolicies' => 'ScalingPolicy')

$associatedResources

These resources are associated with this one. When this resource object is populated, if a key is found matching one of these array keys, it is set as an instantiated resource object (rather than an arbitrary string or stdClass object).

public array<string|int, mixed> $associatedResources = array('groupConfiguration' => 'GroupConfiguration', 'launchConfiguration' => 'LaunchConfiguration')

$createKeys

These are used to set the object used for JSON encode.

public array<string|int, mixed> $createKeys = array('groupConfiguration', 'launchConfiguration', 'scalingPolicies')

$aliases

The aliases configure for the properties of the instance.

protected array<string|int, mixed> $aliases = array()

$json_collection_name

protected static mixed $json_collection_name = 'groups'

$json_name

protected static mixed $json_name = 'group'

$metadata

protected mixed $metadata

$url_resource

protected static mixed $url_resource = 'groups'

$active

private mixed $active

$activeCapacity

private mixed $activeCapacity

$desiredCapacity

private mixed $desiredCapacity

$groupConfiguration

private mixed $groupConfiguration

$launchConfiguration

private mixed $launchConfiguration

$paused

private mixed $paused

$pendingCapacity

private mixed $pendingCapacity

$properties

Holds all the properties added by overloading.

private array<string|int, mixed> $properties = array()

$scalingPolicies

private mixed $scalingPolicies

Methods

__call()

Intercept non-existent method calls for dynamic getter/setter functionality.

public __call( $method,  $args) : mixed
Parameters
$method :
$args :
Tags
throws
RuntimeException
Return values
mixed —

checkJsonError()

Checks the most recent JSON operation for errors.

public static checkJsonError() : mixed
Tags
throws
JsonError
codeCoverageIgnore
Return values
mixed —

create()

Create a new resource

public create([array<string|int, mixed> $params = array() ]) : Response
Parameters
$params : array<string|int, mixed> = array()
Return values
Response —

createScalingPolicies()

public createScalingPolicies(array<string|int, mixed> $policies) : mixed
Parameters
$policies : array<string|int, mixed>
Return values
mixed —

Find a resource link based on a type

public findLink([string $type = 'self' ]) : bool
Parameters
$type : string = 'self'
Return values
bool —

generateUuid()

public static generateUuid() : mixed
Return values
mixed —

getInstance()

public static getInstance() : static
Return values
static —

getParent()

public getParent() : mixed
Return values
mixed —

getScalingPolicies()

Get the scaling policies associated with this autoscale group.

public getScalingPolicies([mixed $override = false ]) : Collection
Parameters
$override : mixed = false
Return values
Collection —

getScalingPolicy()

Get a particular scaling policy for this autoscale group.

public getScalingPolicy([object|int $id = null ]) : ScalingPolicy
Parameters
$id : object|int = null
Return values
ScalingPolicy —

getState()

Get the current state of the scaling group, including the current set of active entities, the number of pending entities, and the desired number of entities.

public getState() : object|bool
Tags
throws
HttpError
throws
ServerActionError
Return values
object|bool —

getUrl()

Get this resource's URL

public getUrl([null $path = null ][, array<string|int, mixed> $query = array() ]) : mixed
Parameters
$path : null = null

URI path to add on

$query : array<string|int, mixed> = array()

Query to add on

Return values
mixed —

hasLogger()

public hasLogger() : bool
Return values
bool —

jsonCollectionElement()

Returns the nested keys that could (rarely) prefix collection items. For example:

public static jsonCollectionElement() : string

{ "keypairs": [ { "keypair": { "fingerprint": "...", "name": "key1", "public_key": "..." } }, { "keypair": { "fingerprint": "...", "name": "key2", "public_key": "..." } } ] }

In the above example, "keypairs" would be the $json_collection_name and "keypair" would be the $json_collection_element

Return values
string —

jsonCollectionName()

Returns the top-level key for collection responses

public static jsonCollectionName() : string
Return values
string —

jsonName()

Returns the top-level key for the returned response JSON document

public static jsonName() : mixed
Tags
throws
DocumentError
Return values
mixed —

makeResourceIteratorOptions()

public makeResourceIteratorOptions(mixed $resource) : mixed
Parameters
$resource : mixed
Return values
mixed —

parseResponse()

Parse a HTTP response for the required content

public parseResponse(Response $response) : mixed
Parameters
$response : Response
Return values
mixed —

pause()

NB: NOT SUPPORTED YET.

public pause() : mixed
Tags
codeCoverageIgnore
Return values
mixed —

populate()

Populates the current object based on an unknown data type.

public populate(mixed $info[, mixed $setObjects = true ]) : mixed
Parameters
$info : mixed
$setObjects : mixed = true
Tags
throws
InvalidArgumentError
Return values
mixed —

refreshFromLocationUrl()

Given a `location` URL, refresh this resource

public refreshFromLocationUrl( $url) : mixed
Parameters
$url :
Return values
mixed —

resourceName()

Returns the URI path for this resource

public static resourceName() : mixed
Tags
throws
UrlError
Return values
mixed —

resume()

NB: NOT SUPPORTED YET.

public resume() : mixed
Tags
codeCoverageIgnore
Return values
mixed —

setMetadata()

public setMetadata(mixed $data) : $this
Parameters
$data : mixed
Return values
$this —

stripNamespace()

public stripNamespace(mixed $namespace) : mixed
Parameters
$namespace : mixed
Return values
mixed —

toCamel()

Convert a string to camelCase format.

public toCamel( $string[, bool $capitalise = true ]) : mixed
Parameters
$string :
$capitalise : bool = true

Optional flag which allows for word capitalization.

Return values
mixed —

toUnderscores()

Convert string to underscore format.

public toUnderscores( $string) : mixed
Parameters
$string :
Return values
mixed —

update()

{@inheritDoc}

public update([mixed $params = array() ]) : mixed
Parameters
$params : mixed = array()
Return values
mixed —

url()

public url([mixed $path = null ][, array<string|int, mixed> $query = array() ]) : mixed
Parameters
$path : mixed = null
$query : array<string|int, mixed> = array()
Tags
deprecated
Return values
mixed —

waitFor()

A method to repeatedly poll the API resource, waiting for an eventual state change

public waitFor([null $state = null ][, null $timeout = null ][, null $callback = null ][, null $interval = null ]) : mixed
Parameters
$state : null = null

The expected state of the resource

$timeout : null = null

The maximum timeout to wait

$callback : null = null

The callback to use to check the state

$interval : null = null

How long between each refresh request

Return values
mixed —

createJson()

Provides JSON for create request body

protected createJson() : object
Tags
throws
RuntimeException
Return values
object —

generateJsonPatch()

Generates a JSON Patch representation and return its

protected generateJsonPatch(mixed $updatedProperties) : string
Parameters
$updatedProperties : mixed

Properties of the resource to update

Return values
string —

JSON Patch representation for updates

getAlias()

Returns the alias configured for the given key. If no alias exists it returns the original key.

protected getAlias(string $key) : string
Parameters
$key : string
Return values
string —

getJsonHeader()

protected static getJsonHeader() : mixed
Return values
mixed —

getPatchHeaders()

protected static getPatchHeaders() : mixed
Return values
mixed —

getProperty()

Grab value out of the data array.

protected getProperty(string $property) : mixed
Parameters
$property : string
Return values
mixed —

getUpdateablePropertiesAsArray()

Returns the object's properties as an array

protected getUpdateablePropertiesAsArray() : mixed
Return values
mixed —

primaryKeyField()

Returns the primary key field for the object

protected primaryKeyField() : string
Return values
string —

propertyExists()

Basic check to see whether property exists.

protected propertyExists(string $property[, bool $allowRetry = true ]) : bool
Parameters
$property : string

The property name being investigated.

$allowRetry : bool = true

If set to TRUE, the check will try to format the name in underscores because there are sometimes discrepancies between camelCaseNames and underscore_names.

Return values
bool —

recursivelyAliasPropertyValue()

Returns the given property value's alias, if configured; Else, the unchanged property value is returned. If the given property value is an array or an instance of \stdClass, it is aliases recursively.

protected recursivelyAliasPropertyValue(mixed $propertyValue) : mixed
Parameters
$propertyValue : mixed

Array or \stdClass instance to alias

Return values
mixed —

Property value, aliased recursively

refreshFromParent()

Causes resource to refresh based on parent's URL

protected refreshFromParent() : mixed
Return values
mixed —

setProperty()

We can set a property under three conditions:

protected setProperty(mixed $property, mixed $value) : mixed
  1. If it has a concrete setter: setProperty()
  2. If the property exists
  3. If the property name's prefix is in an approved list
Parameters
$property : mixed
$value : mixed
Return values
mixed —

updateJson()

Provides JSON for update request body

protected updateJson([mixed $params = array() ]) : mixed
Parameters
$params : mixed = array()
Return values
mixed —

checkAttributePrefix()

Checks the attribute $property and only permits it if the prefix is in the specified $prefixes array

private checkAttributePrefix(string $property) : bool

This is to support extension namespaces in some services.

Parameters
$property : string

the name of the attribute

Return values
bool —

isAccessible()

Does the property exist in the object variable list (i.e. does it have public or protected visibility?)

private isAccessible( $property) : bool
Parameters
$property :
Return values
bool —

Search results