HostKit.Instance (host_kit v0.1.0-beta.6)

Copy Markdown View Source

Generic lifecycle-managed compute instance with nested HostKit contents.

Summary

Types

port_exposure()

@type port_exposure() :: %{
  name: atom(),
  host: non_neg_integer() | nil,
  guest: non_neg_integer(),
  protocol: :tcp | :udp,
  bind: String.t()
}

t()

@type t() :: %HostKit.Instance{
  backend: atom() | nil,
  backend_config: map(),
  hosts: [HostKit.Host.t()],
  image: String.t() | nil,
  kind: atom() | nil,
  lifecycle: atom(),
  meta: map(),
  name: atom(),
  ports: [port_exposure()],
  resources: [struct()],
  services: [HostKit.Service.t()],
  target_host: atom() | nil
}

Functions

add_host(instance, host)

add_port(instance, name, opts)

add_resource(instance, resource)

add_service(instance, service)

id(instance)

new(name, opts \\ [])

@spec new(
  atom(),
  keyword()
) :: t()

put_backend(instance, backend)

put_backend_config(instance, config)

put_image(instance, image)

put_kind(instance, kind)

put_lifecycle(instance, lifecycle)

put_target_host(instance, target_host)