sym.sdk.resource.SRN

class sym.sdk.resource.SRN(org: str, model: str, slug: str, version: str, identifier: Optional[str] = None)

Bases: object

Sym Resource Name (SRN) is a unique identifier for a Sym Resource.

SRNs have the following structure:

<ORG>:<MODEL>:<SLUG>:<VERSION>[:<IDENTIFIER>]

Where VERSION is either a semver string, or “latest”.

For example, the SRN for the v1.0.0 sym:approval template is:

sym:template:approval:1.0.0

Or the SRN for a Flow instance (with a UUID as an instance identifier) could be:

sym:flow:test-flow:0.1.0:d47782bc-88be-44df-9e34-5fae0dbdea22

Methods

copy([organization, model, slug, version, …])

Creates a copy of this SRN.

parse(raw)

Parses and validates the given string as an SRN.

Attributes

SEPARATOR

The default separator for Flow components.

SLUG_PATTERN

The pattern for validating slug components.

VERSION_PATTERN

The pattern for validating the version component.

identifier

An arbitrary string identifying an instance of the resource.

model

The model name for this SRN.

organization

The slug for the organization this SRN belongs to.

slug

This SRN’s slug.

version

A semver string representing the version of this SRN.

SEPARATOR = ':'

The default separator for Flow components.

SLUG_PATTERN = re.compile('^[a-zA-Z0-9-_]+$')

The pattern for validating slug components.

VERSION_PATTERN = re.compile('^(latest|[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})$')

The pattern for validating the version component.

copy(organization: Optional[str] = None, model: Optional[str] = None, slug: Optional[str] = None, version: Optional[str] = None, identifier: Optional[str] = None)

Creates a copy of this SRN.

Optionally can create a new SRN with modified components from the current, as specified by the keyword arguments.

property identifier

An arbitrary string identifying an instance of the resource.

This is often a UUID.

property model

The model name for this SRN.

For example, for the sym:approval Template, the model name is template.

property organization

The slug for the organization this SRN belongs to.

For example, for the sym:approval Template, the organization slug is sym.

classmethod parse(raw: str)sym.sdk.resource.SRN

Parses and validates the given string as an SRN.

Parameters

raw – A raw string representing a SRN.

Returns

A SRN instance.

Raises
property slug

This SRN’s slug.

For example, for the sym:approval Template, the slug is approval.

property version

A semver string representing the version of this SRN.

For example, the first version of the sym:approval Template is 1.0.0.