---
title: Charmhub | Deploy Ceilometer K8S using Charmhub - The Open Operator Collection
description: Deploy the latest version of Ceilometer K8S as a Kubernetes Operator
  on any cloud.
url: https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service
---

# Ceilometer K8S

[OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")

* [OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")

Platform:

edge 1

```
juju deploy ceilometer-k8s --channel edge
```

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

[Toggle side navigation](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#drawer)

## charms.ceilometer\_k8s.v0.ceilometer\_service

* [*Docstrings*Docstrings](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service)
  [*Code*Source code](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service/source-code)
* + Download

    Fetch library

    ```
    charmcraft fetch-lib charms.ceilometer_k8s.v0.ceilometer_service
    ```

    [Download ceilometer\_service.py](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service/download)
  + *Last updated* 06 Sep 2023
  + *Revision* Library version 0.1

CeilometerServiceProvides and Requires module.

This library contains the Requires and Provides classes for handling
the ceilometer\_service interface.

Import `CeilometerServiceRequires` in your charm, with the charm object and the
relation name:
- self
- "ceilometer\_service"

Two events are also available to respond to:
- config\_changed
- goneaway

A basic example showing the usage of this relation follows:

```
from charms.ceilometer_k8s.v0.ceilometer_service import (
    CeilometerServiceRequires
)

class CeilometerServiceClientCharm(CharmBase):
    def __init__(self, *args):
        super().__init__(*args)
        # CeilometerService Requires
        self.ceilometer_service = CeilometerServiceRequires(
            self, "ceilometer_service",
        )
        self.framework.observe(
            self.ceilometer_service.on.config_changed,
            self._on_ceilometer_service_config_changed
        )
        self.framework.observe(
            self.ceilometer_service.on.goneaway,
            self._on_ceiometer_service_goneaway
        )

    def _on_ceilometer_service_config_changed(self, event):
        '''React to the Ceilometer service config changed event.

        This event happens when CeilometerService relation is added to the
        model and relation data is changed.
        '''
        # Do something with the configuration provided by relation.
        pass

    def _on_ceilometer_service_goneaway(self, event):
        '''React to the CeilometerService goneaway event.

        This event happens when CeilometerService relation is removed.
        '''
        # CeilometerService Relation has goneaway.
        pass
```

---

Index

* [class CeilometerConfigRequestEvent](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerconfigrequestevent)
* [class CeilometerServiceProviderEvents](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerserviceproviderevents)
* [class CeilometerServiceProvides](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerserviceprovides)
* + [def \_\_init\_\_(
    self,
    charm,
    relation\_name)](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerserviceprovides-__init__)
* + [def set\_config(
    self,
    relation,
    telemetry\_secret)](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerserviceprovides-set_config)
* [class CeilometerConfigChangedEvent](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerconfigchangedevent)
* [class CeilometerServiceGoneAwayEvent](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerservicegoneawayevent)
* [class CeilometerServiceRequirerEvents](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerservicerequirerevents)
* [class CeilometerServiceRequires](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerservicerequires)
* + [def \_\_init\_\_(
    self,
    charm,
    relation\_name)](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerservicerequires-__init__)
* + [def get\_remote\_app\_data(
    self,
    key)](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerservicerequires-get_remote_app_data)
* + [def telemetry\_secret(
    self)](https://charmhub.io/ceilometer-k8s/libraries/ceilometer_service#ceilometerservicerequires-telemetry_secret)

#### class CeilometerConfigRequestEvent

Description

CeilometerConfigRequest Event. None

#### class CeilometerServiceProviderEvents

Description

Events class for `on`. None

#### class CeilometerServiceProvides

Description

CeilometerServiceProvides class. None

Methods

CeilometerServiceProvides.
\_\_init\_\_(

*self*

,
charm: CharmBase

,
relation\_name: str
)

CeilometerServiceProvides.
set\_config(

*self*

,
relation

,
telemetry\_secret: str
)

Description

Set ceilometer configuration on the relation. None

#### class CeilometerConfigChangedEvent

Description

CeilometerConfigChanged Event. None

#### class CeilometerServiceGoneAwayEvent

Description

CeilometerServiceGoneAway Event. None

#### class CeilometerServiceRequirerEvents

Description

Events class for `on`. None

#### class CeilometerServiceRequires

Description

CeilometerServiceRequires class. None

Methods

CeilometerServiceRequires.
\_\_init\_\_(

*self*

,
charm: CharmBase

,
relation\_name: str
)

CeilometerServiceRequires.
get\_remote\_app\_data(

*self*

,
key: str
)

Description

Return the value for the given key from remote app data. None

CeilometerServiceRequires.
telemetry\_secret(

*self*
)

Description

Return the telemetry\_secret. None
