sym.sdk.user

Representations of Users in both Sym and third parties.

Classes

User

The atomic representation of a user in Sym.

UserIdentity

Represents a User's identity in an external system such as Slack or PagerDuty.

UserRole

UserRoles represent very basic permission sets for users in the Sym platform.

class sym.sdk.user.User

Bases: sym.sdk.resource.SymBaseResource

The atomic representation of a user in Sym.

UserIdentity, which are used for referencing said user in external systems.

dict()

Represent this resource as a dictionary.

property email

The User’s email if the user is of type “normal”, or None otherwise.

property first_name

The User’s first name.

property identities

Retrieves the set of identities associated with this User, grouped by service type.

A mapping of service types to lists of UserIdentity.

identity(service_type: str, service_id: Optional[str] = None) Optional[sym.sdk.user.UserIdentity]

Retrieves this User’s UserIdentity for a particular external system.

External systems specified by a service_type, and optionally a service_id.

Parameters
  • service_type – The name of one of Sym’s integrations.

  • service_id – An identifier for an instance of a service, such as a Slack Workspace ID.

Returns

A UserIdentity, or None if no identity is found for the Integration.

property last_name

The User’s last name.

property role

The User’s role (i.e., “admin”, “member”, or “guest”).

property type

The User’s type (i.e., “bot” or “normal”).

property username

The User’s username if the user is of type “bot”, or the email if the user is of type “normal”.

class sym.sdk.user.UserIdentity

Bases: sym.sdk.resource.SymBaseResource

Represents a User’s identity in an external system such as Slack or PagerDuty.

dict()

Represent this resource as a dictionary.

property service

The name of the external system providing the identity.

For example, slack.

property service_id

The ID of the external system providing the identity.

For example, “T123ABC” for a Slack Workspace.

property user_id

The User’s identifier in the external system.

For example, the User’s Slack ID.

class sym.sdk.user.UserRole(value)

Bases: str, enum.Enum

UserRoles represent very basic permission sets for users in the Sym platform.

UserRoles are defined in descending order of permissions. Each role should include all permissions of the roles below it.

ADMIN = 'admin'

Admins are allowed to do anything. (e.g. Use symflow CLI, run Flows, apply Terraform)

GUEST = 'guest'

Guests can approve/deny/revoke requests, if the Flow is configured to allow guest interactions

MEMBER = 'member'

Members can run Flows and interact with requests.