---
title: Charmhub | Deploy Apache Guacd! using Charmhub - The Open Operator Collection
description: Deploy the latest version of Apache Guacd! as a Kubernetes Operator on
  any cloud.
url: https://charmhub.io/apache-guacd/libraries/guacd
---

# Apache Guacd!

[David](https://charmhub.io/publisher/davigar15 "View all packages from David")

* [David](https://charmhub.io/publisher/davigar15 "View all packages from David")

Platform:

stable 3

```
juju deploy apache-guacd
```

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

[Toggle side navigation](https://charmhub.io/apache-guacd/libraries/guacd#drawer)

## charms.apache\_guacd.v0.guacd

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

    Fetch library

    ```
    charmcraft fetch-lib charms.apache_guacd.v0.guacd
    ```

    [Download guacd.py](https://charmhub.io/apache-guacd/libraries/guacd/download)
  + *Last updated* 16 Nov 2021
  + *Revision* Library version 0.1

Guacd library.

This library allows the integration with Apache Guacd charm. Is is published as part of the
[davigar15-apache-guacd]((https://charmhub.io/davigar15-apache-guacd) charm.

The charm that requires guacd should include the following content in its metadata.yaml:

```
# ...
requires:
    guacd:
        interface: guacd
        limit: 1
# ...
```

A typical example of including this library might be:

```
# ...
from ops.framework import StoredState
from charms.davigar15_apache_guacd.v0.guacd import GuacdEvents, GuacdRequires

class SomeApplication(CharmBase):
  on = GuacdEvents()
  _stored = StoredState()

  def __init__(self, *args):
    # ...
    self.guacd = GuacdRequires(self, self._stored)
    self.framework.observe(self.on.guacd_changed, self._guacd_changed)
    # ...

  def _guacd_changed(self, _):
    guacd_hostname = self.guacd.hostname
    guacd_port = self.guacd.port
    # ...
```

---

Index

* [def pod\_ip(
  )](https://charmhub.io/apache-guacd/libraries/guacd#pod_ip)
* [class GuacdChangedEvent](https://charmhub.io/apache-guacd/libraries/guacd#guacdchangedevent)
* [class GuacdEvents](https://charmhub.io/apache-guacd/libraries/guacd#guacdevents)
* [class GuacdRequires](https://charmhub.io/apache-guacd/libraries/guacd#guacdrequires)
* + [def \_\_init\_\_(
    self,
    charm,
    \_stored,
    relation\_name)](https://charmhub.io/apache-guacd/libraries/guacd#guacdrequires-__init__)
* + [def hostname(
    self)](https://charmhub.io/apache-guacd/libraries/guacd#guacdrequires-hostname)
* + [def port(
    self)](https://charmhub.io/apache-guacd/libraries/guacd#guacdrequires-port)
* [class GuacdProvides](https://charmhub.io/apache-guacd/libraries/guacd#guacdprovides)
* + [def \_\_init\_\_(
    self,
    charm,
    relation\_name)](https://charmhub.io/apache-guacd/libraries/guacd#guacdprovides-__init__)

#### def pod\_ip()

Description

Pod's IP address. None

#### class GuacdChangedEvent

Description

Event to announce a change in the Guacd service. None

#### class GuacdEvents

Description

Guacd Events. None

#### class GuacdRequires

Description

Requires-side of the guacd interface. None

Methods

GuacdRequires.
\_\_init\_\_(

*self*

,
charm

,
\_stored

,
relation\_name
)

GuacdRequires.
hostname(

*self*
)

Description

Guacd hostname. None

GuacdRequires.
port(

*self*
)

Description

Guacd port. None

#### class GuacdProvides

Description

Provides-side of the guacd interface. None

Methods

GuacdProvides.
\_\_init\_\_(

*self*

,
charm

,
relation\_name
)
