# Class AbstractResource

Contains generic, abstracted functionality for Autoscale resources.

  OpenCloud\Common\Base
  OpenCloud\Common\Resource\BaseResource
  OpenCloud\Common\Resource\PersistentResource
  OpenCloud\Common\PersistentObject
  OpenCloud\Autoscale\Resource\AbstractResource

#### Direct known subclasses

OpenCloud\Autoscale\Resource\Group, OpenCloud\Autoscale\Resource\GroupConfiguration, OpenCloud\Autoscale\Resource\LaunchConfiguration, OpenCloud\Autoscale\Resource\ScalingPolicy, OpenCloud\Autoscale\Resource\Webhook
Abstract
Namespace: OpenCloud\Autoscale\Resource
Located at OpenCloud/Autoscale/Resource/AbstractResource.php

Methods summary
`public `stdClass`` | # `createJson( )` Creates the object which will be JSON encoded for request. Creates the object which will be JSON encoded for request. #### Returns ``stdClass`` #### Throws ``RuntimeException`` #### Overrides `OpenCloud\Common\Resource\PersistentResource::createJson()`
`protected array` | # `updateJson( mixed $params = array() )` Creates the object which will be JSON encoded for request. Creates the object which will be JSON encoded for request. #### Returns `array` #### Overrides `OpenCloud\Common\Resource\PersistentResource::updateJson()`
`public string` | # `primaryKeyField( )` Returns the primary key field for the object Returns the primary key field for the object #### Returns `string` #### Overrides `OpenCloud\Common\Resource\BaseResource::primaryKeyField()`

Methods inherited from OpenCloud\Common\Resource\PersistentResource
`checkExtension(), create(), delete(), getAlias(), noCreate(), noDelete(), noUpdate(), refresh(), refreshFromLocationUrl(), update(), waitFor()`

Methods inherited from OpenCloud\Common\Resource\BaseResource
`__construct(), findLink(), getClient(), getMetadata(), getParent(), getService(), getUrl(), jsonCollectionElement(), jsonCollectionName(), jsonName(), parseResponse(), resourceName(), setMetadata(), setParent(), setService()`

Methods inherited from OpenCloud\Common\Base
`__call(), checkJsonError(), generateUuid(), getInstance(), getJsonHeader(), getLogger(), getProperty(), makeResourceIteratorOptions(), populate(), propertyExists(), setLogger(), setProperty(), stripNamespace(), toCamel(), toUnderscores()`

Properties summary
`public array` | $createKeys | `array()` | # These are used to set the object used for JSON encode. These are used to set the object used for JSON encode.
`public array` | $associatedResources | `array()` | # 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). 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` | $associatedCollections | `array()` | # Same as an associated resource, but it's instantiated as a Collection. Same as an associated resource, but it's instantiated as a Collection.

Properties inherited from OpenCloud\Common\Resource\BaseResource
`$metadata, $parent, $service`

Properties inherited from OpenCloud\Common\Base
`$aliases`