Documentation

AbstractService extends CatalogService
in package

An abstract base class for common code shared between ObjectStore\Service (container) and ObjectStore\CDNService (CDN containers).

Table of Contents

DEFAULT_URL_TYPE  = 'publicURL'
MAX_CONTAINER_NAME_LENGTH  = 256
MAX_OBJECT_NAME_LEN  = 1024
MAX_OBJECT_SIZE  = 5102410241025
PATCH_CONTENT_TYPE  = OpenCloudCommonConstantsMime::JSON_PATCH
SUPPORTED_VERSION  = null
$aliases  : array<string|int, mixed>
The aliases configure for the properties of the instance.
$client  : Client
$endpoint  : Endpoint
$namespaces  : array<string|int, mixed>
$regionless  : bool
$resources  : array<string|int, mixed>
$logger  : LoggerInterface
The logger instance
$name  : string
$properties  : array<string|int, mixed>
Holds all the properties added by overloading.
$region  : string
$type  : string
$urlType  : string
__call()  : mixed
Intercept non-existent method calls for dynamic getter/setter functionality.
__construct()  : mixed
Creates a service object, based off the specified client.
checkJsonError()  : mixed
Checks the most recent JSON operation for errors.
collection()  : mixed
generateUuid()  : mixed
getAccount()  : Account
Returns the Object Store account associated with the service.
getBaseUrl()  : Url
Get the base URL for this service, based on the set URL type.
getClient()  : Client
getEndpoint()  : Endpoint
getExtensions()  : array<string|int, mixed>
Returns the /extensions for the service
getInstance()  : static
getLogger()  : LoggerInterface
Returns the Logger object.
getName()  : string
getNamespaces()  : array<string|int, mixed>
Returns a list of supported namespaces
getRegion()  : string
getResources()  : array<string|int, mixed>
Get all associated resources for this service.
getType()  : string
getUrl()  : Url
Returns the URL for the Service
getUrlType()  : string
hasLogger()  : bool
limits()  : array<string|int, mixed>
Returns the limits for the service
makeResourceIteratorOptions()  : mixed
name()  : mixed
namespaces()  : mixed
populate()  : mixed
Populates the current object based on an unknown data type.
region()  : mixed
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
findEndpoint()  : Endpoint
Extracts the appropriate endpoint from the service catalog based on the name and type of a service, and sets for further use.
getMetaUrl()  : stdClass
Constructs a specified URL from the subresource
isAccessible()  : bool
Does the property exist in the object variable list (i.e. does it have public or protected visibility?)

Constants

MAX_CONTAINER_NAME_LENGTH

public mixed MAX_CONTAINER_NAME_LENGTH = 256

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.

$regionless

protected bool $regionless = false

Indicates whether a service is "regionless" or not. Defaults to FALSE because nearly all services are region-specific.

$resources

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

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

$name

private string $name

The name of this service, as set in Catalog.

$properties

Holds all the properties added by overloading.

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

$region

private string $region

The chosen region(s) for this service.

$type

private string $type

The type of this service, as set in Catalog.

$urlType

private string $urlType

Either 'publicURL' or 'internalURL'.

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 —

__construct()

Creates a service object, based off the specified client.

public __construct(Client $client[, string $type = null ][, string $name = null ][, string $region = null ][, string $urlType = null ]) : mixed

The service's URL is defined in the client's serviceCatalog; it uses the $type, $name, $region, and $urlType to find the proper endpoint and set it. If it cannot find a URL in the service catalog that matches the criteria, then an exception is thrown.

Parameters
$client : Client

Client object

$type : string = null

Service type (e.g. 'compute')

$name : string = null

Service name (e.g. 'cloudServersOpenStack')

$region : string = null

Service region (e.g. 'DFW', 'ORD', 'IAD', 'LON', 'SYD' or 'HKG')

$urlType : string = null

Either 'publicURL' or 'internalURL'

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 —

getAccount()

Returns the Object Store account associated with the service.

public getAccount() : Account
Return values
Account —

Object Store account

getExtensions()

Returns the /extensions for the service

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

of objects

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> —

getRegion()

public getRegion() : string
Return values
string —

getResources()

Get all associated resources for this service.

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

public

Return values
array<string|int, mixed> —

getUrl()

Returns the URL for the Service

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

URL path segment

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

Array of query pairs

Return values
Url —

getUrlType()

public getUrlType() : string
Return values
string —

hasLogger()

public hasLogger() : bool
Return values
bool —

limits()

Returns the limits for the service

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

of limits

makeResourceIteratorOptions()

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

name()

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

region()

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

findEndpoint()

Extracts the appropriate endpoint from the service catalog based on the name and type of a service, and sets for further use.

private findEndpoint() : Endpoint
Tags
throws
EndpointError
Return values
Endpoint —

getMetaUrl()

Constructs a specified URL from the subresource

private getMetaUrl(string $resource) : stdClass

Given a subresource (e.g., "extensions"), this constructs the proper URL and retrieves the resource.

Parameters
$resource : string

The resource requested; should NOT have slashes at the beginning or end

Return values
stdClass —

object

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