# Cybus::Link

The link resource provides direct access to any web-resource. This resource can be completely external to the Connectware (e.g. [https://github.com](https://github.com/)) or point to a location that is available within a container (when the container internally runs a web-server).

Link resources are typically rendered as buttons and provide a quick access to information (like dashboards, specific documentation, etc.)directly related to the corresponding service.

{% hint style="warning" %}
If the internal HTTP server of a service container requires the button URLs to contain a trailing slash or some specific path on the container, please add that information to *href* parameter as well.
{% endhint %}

## Properties

| Property                      | Type     | Required     | Default |
| ----------------------------- | -------- | ------------ | ------- |
| [name](#name)                 | `string` | **Required** |         |
| [href](#href)                 | `string` | **Required** |         |
| [ingressRoute](#ingressroute) | `string` | Optional     |         |

### name

Name of the link (label on the button)

* type: `string`
  * maximum length: 20 characters

### href

Href of the button link

* type: `string`

### ingressRoute

Reference to an already declared [Cybus::IngressRoute](https://docs.cybus.io/1-10-0/documentation/services/service-commissioning-files/structure-of-service-commissioning-files/resources/cybus-ingressroute). Use `!ref <logicalId>`

If this property is used the *href* property must be defined relative to the ingress route, i.e. only the path of the inner HTTP server must be defined.

* type: `string`

## Example

{% code lineNumbers="true" %}

```yaml
myDashboardLink:
    type: Cybus::Link
    properties:
        ingressRoute: !ref dashboardRoute
        href: ui/
        name: Dashboard

myExternalLink:
    type: Cybus::Link
    properties:
        href: https://github.com
        name: Github
```

{% endcode %}
