Module web — Inmanta 2017.2.1 documentation

# Module web

> - License: Apache 2.0
> - Version: 0.2.1
> - Author: Inmanta <code@inmanta.com>
> - Upstream project: https://github.com/inmanta/web.git

## Entities

entity `web::Alias`

  Parents: `std::Entity`

  An alias (hostname) for a web application

  attribute std::hoststring `hostname`
  relation web::LoadBalancedApplication `loadbalancer` [0:1]

    other end: `web::LoadBalancedApplication.name [1]`

  relation web::Application `application_alias` [0:*]

    other end: `web::Application.aliases [0:*]`

  relation web::Cluster `cluster_alias` [0:1]

    other end: `web::Cluster.aliases [0:*]`

  relation web::Application `application` [0:*]

    other end: `web::Application.name [1]`

  relation web::Cluster `cluster` [0:1]

    other end: `web::Cluster.name [1]`

  The following implements statements select implementations for this entity:

  > - `std::none`

entity `web::Application`

  Parents: `std::Entity`

  This entity models a webapplication

  attribute string `document_root`
  relation web::ApplicationContainer `container` [1]

    other end: `web::ApplicationContainer.application [0:*]`

  relation web::Alias `aliases` [0:*]

    other end: `web::Alias.application_alias [0:*]`

  relation web::Alias `name` [1]

    other end: `web::Alias.application [0:*]`

  relation web::LoadBalancedApplication `lb_app` [0:1]

    other end: `web::LoadBalancedApplication.app_instances [1:*]`

  The following implements statements select implementations for this entity:

  > - `std::none`

entity `web::ApplicationContainer`

  Parents: `ip::services::Server`

  A container that hosts webapplications

  attribute string `group`
  attribute number `port`=80
  attribute string `user`

    The group name of the group as which the process of this container runs

  relation web::Application `application` [0:*]

    other end: `web::Application.container [1]`

  The following implements statements select implementations for this entity:

  > - `std::none`

entity `web::Cluster`

  Parents: `std::Entity`

  A webapplication that is hosted as a cluster

  attribute number `cluster_size`
  relation web::Alias `aliases` [0:*]

    other end: `web::Alias.cluster_alias [0:1]`

  relation web::LoadBalancedApplication `loadbalancer` [1:*]

    other end: `web::LoadBalancedApplication.web_cluster [0:*]`

  relation web::Alias `name` [1]

    other end: `web::Alias.cluster [0:1]`

  The following implements statements select implementations for this entity:

  > - `std::none`

entity `web::HostedLoadBalancer`

  Parents: `web::LoadBalancer`, `ip::services::Server`

entity `web::LoadBalancedApplication`

  Parents: `std::Entity`

  attribute bool `nameonly`=True
  relation web::Cluster `web_cluster` [0:*]

    other end: `web::Cluster.loadbalancer [1:*]`

  relation web::Application `app_instances` [1:*]

    other end: `web::Application.lb_app [0:1]`

  relation web::LoadBalancer `loadbalancer` [1:*]

    other end: `web::LoadBalancer.applications [0:*]`

  relation web::Alias `name` [1]

    other end: `web::Alias.loadbalancer [0:1]`

  The following implements statements select implementations for this entity:

  > - `std::none`

entity `web::LoadBalancer`

  Parents: `ip::services::BaseServer`

  A loadbalancer for web applications

  relation web::LoadBalancedApplication `applications` [0:*]

    other end: `web::LoadBalancedApplication.loadbalancer [1:*]`