---
title: Charmhub | Deploy MAAS Site Manager Operator for Kubernetes using Charmhub
  - The Open Operator Collection
description: Deploy the latest version of MAAS Site Manager Operator for Kubernetes
  as a Kubernetes Operator on any cloud.
url: https://charmhub.io/maas-site-manager-k8s/libraries/enrol
---

# MAAS Site Manager Operator for Kubernetes

[MAAS Maintainers](https://charmhub.io/publisher/maas-maintainers "View all packages from MAAS Maintainers")

* [MAAS Maintainers](https://charmhub.io/publisher/maas-maintainers "View all packages from MAAS Maintainers")

Platform:

1.1/beta 53

```
juju deploy maas-site-manager-k8s --channel 1.1/beta
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

[Toggle side navigation](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#drawer)

## charms.maas\_site\_manager\_k8s.v1.enrol

* [*Docstrings*Docstrings](https://charmhub.io/maas-site-manager-k8s/libraries/enrol)
  [*Code*Source code](https://charmhub.io/maas-site-manager-k8s/libraries/enrol/source-code)
* + Download

    Fetch library

    ```
    charmcraft fetch-lib charms.maas_site_manager_k8s.v1.enrol
    ```

    [Download enrol.py](https://charmhub.io/maas-site-manager-k8s/libraries/enrol/download)
  + *Last updated* 05 Aug 2025
  + *Revision* Library version 1.1

MAAS Site Manager operator library.

Allows MAAS clusters to enrol with Site Manager

---

Index

* [class SiteManagerEnrolInterfaceError](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#sitemanagerenrolinterfaceerror)
* [class EnrolDatabag](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enroldatabag)
* + [def load(
    cls,
    data)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enroldatabag-load)
* + [def dump(
    self,
    databag)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enroldatabag-dump)
* [class EnrolRequirerAppData](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolrequirerappdata)
* [class EnrolProviderAppData](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolproviderappdata)
* + [def get\_token(
    self,
    model)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolproviderappdata-get_token)
* [class TokenIssuedEvent](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#tokenissuedevent)
* + [def \_\_init\_\_(
    self,
    handle,
    token)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#tokenissuedevent-__init__)
* + [def snapshot(
    self)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#tokenissuedevent-snapshot)
* + [def restore(
    self,
    snapshot)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#tokenissuedevent-restore)
* [class TokenWithdrawEvent](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#tokenwithdrawevent)
* [class EnrolRequirerEvents](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolrequirerevents)
* [class EnrolRequirer](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolrequirer)
* + [def \_\_init\_\_(
    self,
    charm,
    key,
    endpoint)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolrequirer-__init__)
* + [def get\_enrol\_data(
    self)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolrequirer-get_enrol_data)
* + [def is\_published(
    self)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolrequirer-is_published)
* + [def request\_enrol(
    self,
    cluster\_uuid)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolrequirer-request_enrol)
* [class EnrolProvider](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolprovider)
* + [def \_\_init\_\_(
    self,
    charm,
    key,
    endpoint)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolprovider-__init__)
* + [def publish\_enrol\_token(
    self,
    relation,
    token)](https://charmhub.io/maas-site-manager-k8s/libraries/enrol#enrolprovider-publish_enrol_token)

#### class SiteManagerEnrolInterfaceError

Description

Common ancestor for Enrol interface related exceptions. None

#### class EnrolDatabag

Description

Base class from Enrol databags. None

Methods

EnrolDatabag.
load(

cls

,
data
)

Description

Load from dictionary. None

EnrolDatabag.
dump(

*self*

,
databag
)

Description

Write the contents of this model to Juju databag. None

#### class EnrolRequirerAppData

Description

The schema for the Requirer side of this relation. None

#### class EnrolProviderAppData

Description

The schema for the Provider side of this relation. None

Methods

EnrolProviderAppData.
get\_token(

*self*

,
model
)

Retrieve enrolment token.

Returns

str

the token

#### class TokenIssuedEvent

Description

Event emitted when Site Manager has emitted a token for this relation. None

Methods

TokenIssuedEvent.
\_\_init\_\_(

*self*

,
handle

,
token: str
)

TokenIssuedEvent.
snapshot(

*self*
)

Serialize the event to disk.

Description

Not meant to be called by charm code.

TokenIssuedEvent.
restore(

*self*

,
snapshot
)

Deserialize the event from disk.

Description

Not meant to be called by charm code.

#### class TokenWithdrawEvent

Event emitted when the relation with the "site-manager" provider has been severed.

Description

Or when the relation data has been wiped.

#### class EnrolRequirerEvents

Description

MAAS events. None

#### class EnrolRequirer

Description

Requires-side of the Enrolment relation. None

Methods

EnrolRequirer.
\_\_init\_\_(

*self*

,
charm

,
key

,
endpoint: str
)

EnrolRequirer.
get\_enrol\_data(

*self*
)

Description

Get enrolment data from databag. None

EnrolRequirer.
is\_published(

*self*
)

Description

Verify that the local side has done all they need to do. None

EnrolRequirer.
request\_enrol(

*self*

,
cluster\_uuid: str
)

Description

Request enrolment. None

#### class EnrolProvider

Description

Provides-side of the Enrol relation. None

Methods

EnrolProvider.
\_\_init\_\_(

*self*

,
charm

,
key

,
endpoint: str
)

EnrolProvider.
publish\_enrol\_token(

*self*

,
relation

,
token: str
)

Publish enrolment data.

Arguments

relation
(Relation)

the Relation

token
(str)

Enrolment token
