Documentation

AbstractService extends Base
in package
implements ServiceInterface

This class defines a cloud service; a relationship between a specific OpenStack and a provided service, represented by a URL in the service catalog.

Because Service is an abstract class, it cannot be called directly. Provider services such as Rackspace Cloud Servers or OpenStack Swift are each subclassed from Service.

Interfaces, Classes and Traits

ServiceInterface

Table of Contents

PATCH_CONTENT_TYPE  = OpenCloudCommonConstantsMime::JSON_PATCH
$aliases  : array<string|int, mixed>
The aliases configure for the properties of the instance.
$client  : Client
$endpoint  : Endpoint
$namespaces  : array<string|int, mixed>
$resources  : array<string|int, mixed>
$logger  : LoggerInterface
The logger instance
$properties  : array<string|int, mixed>
Holds all the properties added by overloading.
__call()  : mixed
Intercept non-existent method calls for dynamic getter/setter functionality.
checkJsonError()  : mixed
Checks the most recent JSON operation for errors.
collection()  : mixed
generateUuid()  : mixed
getClient()  : Client
getEndpoint()  : Endpoint
getInstance()  : static
getLogger()  : LoggerInterface
Returns the Logger object.
getNamespaces()  : array<string|int, mixed>
Returns a list of supported namespaces
getResources()  : array<string|int, mixed>
Get all associated resources for this service.
hasLogger()  : bool
makeResourceIteratorOptions()  : mixed
namespaces()  : mixed
populate()  : mixed
Populates the current object based on an unknown data type.
resource()  : object
Factory method for instantiating resource objects.
resourceList()  : PaginatedIterator
Factory method for instantiating a resource collection.
setClient()  : mixed
setEndpoint()  : mixed
setLogger()  : $this
Sets the logger.
stripNamespace()  : mixed
toCamel()  : mixed
Convert a string to camelCase format.
toUnderscores()  : mixed
Convert string to underscore format.
url()  : mixed
getCurrentNamespace()  : type
Internal method for accessing child namespace from parent scope.
getJsonHeader()  : mixed
getPatchHeaders()  : mixed
getProperty()  : mixed
Grab value out of the data array.
propertyExists()  : bool
Basic check to see whether property exists.
resolveResourceClass()  : string
Resolves FQCN for local resource.
setProperty()  : mixed
We can set a property under three conditions:
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

$aliases

The aliases configure for the properties of the instance.

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

$namespaces

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

Namespaces for this service.

$resources

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

A collection of resource models that this service has control over.

$properties

Holds all the properties added by overloading.

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

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

collection()

public collection(mixed $class[, mixed $url = null ][, mixed $parent = null ][, mixed $data = null ]) : mixed
Parameters
$class : mixed
$url : mixed = null
$parent : mixed = null
$data : mixed = null
Tags
codeCoverageIgnore
Return values
mixed

generateUuid()

public static generateUuid() : mixed
Return values
mixed

getInstance()

public static getInstance() : static
Return values
static

getNamespaces()

Returns a list of supported namespaces

public getNamespaces() : array<string|int, mixed>
Return values
array<string|int, mixed>

getResources()

Get all associated resources for this service.

public getResources() : array<string|int, mixed>
Tags
access

public

Return values
array<string|int, mixed>

hasLogger()

public hasLogger() : bool
Return values
bool

makeResourceIteratorOptions()

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

namespaces()

public namespaces() : mixed
Tags
deprecated
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

resource()

Factory method for instantiating resource objects.

public resource(string $resourceName[, mixed $info = null ][, mixed $parent = null ]) : object
Parameters
$resourceName : string
$info : mixed = null

(default: null)

$parent : mixed = null

The parent object

Return values
object

resourceList()

Factory method for instantiating a resource collection.

public resourceList(string $resourceName[, string|null $url = null ][, string|null $parent = null ]) : PaginatedIterator
Parameters
$resourceName : string
$url : string|null = null
$parent : string|null = null
Return values
PaginatedIterator

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

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

getCurrentNamespace()

Internal method for accessing child namespace from parent scope.

protected getCurrentNamespace() : type
Return values
type

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

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

resolveResourceClass()

Resolves FQCN for local resource.

protected resolveResourceClass( $resourceName) : string
Parameters
$resourceName :
Tags
throws
UnrecognizedServiceError
Return values
string

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

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