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