maas-region

MAAS Region Controller

Channel Revision Published Runs on
latest/edge 227 08 Oct 2025
Ubuntu 24.04 Ubuntu 22.04
latest/edge 226 08 Oct 2025
Ubuntu 24.04 Ubuntu 22.04
latest/edge 115 10 Apr 2025
Ubuntu 24.04 Ubuntu 22.04
3.6/edge 138 09 May 2025
Ubuntu 24.04
3.6/edge 137 09 May 2025
Ubuntu 24.04
3.5/edge 119 14 Apr 2025
Ubuntu 22.04
3.4/edge 32 29 Aug 2024
Ubuntu 22.04
juju deploy maas-region --channel edge
Show information

Platform:

Ubuntu
24.04 22.04

charms.maas_region.v0.maas

MAAS operator library.

Allows MAAS Agents to enroll with Region controllers


class MaasInterfaceError

Description

Common ancestor for MAAS interface related exceptions. None

class MaasDatabag

Description

Base class from MAAS databags. None

Methods

MaasDatabag. load( cls , data )

Description

Load from dictionary. None

MaasDatabag. dump( self , databag )

Description

Write the contents of this model to Juju databag. None

class MaasRequirerUnitData

Description

The schema for the Requirer side of this relation. None

class MaasProviderAppData

Description

The schema for the Provider side of this relation. None

Methods

MaasProviderAppData. get_secret( self , model )

Retrieve MAAS secret.

Returns

str

the secret

class MaasConfigReceivedEvent

Description

Event emitted when the Region has shared the secret. None

Methods

MaasConfigReceivedEvent. __init__( self , handle: Handle , config )

MaasConfigReceivedEvent. snapshot( self )

Serialize the event to disk.

Description

Not meant to be called by charm code.

MaasConfigReceivedEvent. restore( self , snapshot )

Deserialize the event from disk.

Description

Not meant to be called by charm code.

class MaasAgentRemovedEvent

Event emitted when the relation with the "maas-region" provider has been severed.

Description

Or when the relation data has been wiped.

class MaasRegionRequirerEvents

Description

MAAS events. None

class MaasRegionRequirer

Description

Requires-side of the MAAS relation. None

Methods

MaasRegionRequirer. __init__( self , charm , key , endpoint: str )

MaasRegionRequirer. get_enroll_data( self )

Description

Get enrollment data from databag. None

MaasRegionRequirer. is_published( self )

Description

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

MaasRegionRequirer. publish_unit_hostname( self , hostname: str )

Description

Publish unit hostname in the databag. None

class MaasRegionProvider

Description

Provides-side of the MAAS relation. None

Methods

MaasRegionProvider. __init__( self , charm , key , endpoint: str )

MaasRegionProvider. publish_enroll_token( self , maas_api: str , regions , maas_secret: str )

Publish enrollment data.

Arguments

maas_api (str)

MAAS API URL

regions (list[str])

List of MAAS regions

maas_secret (str)

Enrollment token

MaasRegionProvider. gather_rack_units( self )

Get a map of Rack units.

Returns

dict[str, ops.model.Unit]

map of units