Packages

An Elixir client for Consul's HTTP API

Current section

Files

Jump to
exconsul lib consul agent check.ex
Raw

lib/consul/agent/check.ex

#
# The MIT License (MIT)
#
# Copyright (c) 2014-2015 Undead Labs, LLC
#
defmodule Consul.Agent.Check do
alias Consul.Endpoint
use Consul.Endpoint, handler: Consul.Handler.Base
@agent "agent"
@check "check"
@deregister "deregister"
@fail "fail"
@pass "pass"
@register "register"
@warn "warn"
@spec register(map, Keyword.t) :: Endpoint.response
def register(body, opts \\ []) do
build_url([@agent, @check, @register], opts)
|> req_put(JSX.encode!(body))
end
@spec deregister(binary, Keyword.t) :: Endpoint.response
def deregister(id, opts \\ []) do
build_url([@agent, @check, @deregister, id], opts)
|> req_delete()
end
@spec pass(binary, Keyword.t) :: Endpoint.response
def pass(id, opts \\ []) do
build_url([@agent, @check, @pass, id], opts)
|> req_get()
end
@spec warn(binary, Keyword.t) :: Endpoint.response
def warn(id, opts \\ []) do
build_url([@agent, @check, @warn, id], opts)
|> req_get()
end
@spec fail(binary, Keyword.t) :: Endpoint.response
def fail(id, opts \\ []) do
build_url([@agent, @check, @fail, id], opts)
|> req_get()
end
end