aboutsummaryrefslogtreecommitdiff
path: root/apps/dreki/src/dreki_freebsd_schemas.erl
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dreki/src/dreki_freebsd_schemas.erl')
-rw-r--r--apps/dreki/src/dreki_freebsd_schemas.erl59
1 files changed, 59 insertions, 0 deletions
diff --git a/apps/dreki/src/dreki_freebsd_schemas.erl b/apps/dreki/src/dreki_freebsd_schemas.erl
new file mode 100644
index 0000000..de97ded
--- /dev/null
+++ b/apps/dreki/src/dreki_freebsd_schemas.erl
@@ -0,0 +1,59 @@
+-module(dreki_freebsd_schemas).
+
+-export([schema/1]).
+
+schema(<<"dreki.v1.freebsd.jails.list">>) ->
+ #{
+ <<"@schema">> => "dreki.v1.freebsd.jails.list",
+ version => 'draft-06',
+ title => <<"List running jails ID/Names">>,
+ properties => #{}
+ };
+schema(<<"dreki.v1.freebsd.jails.get">>) ->
+ #{
+ <<"@schema">> => "dreki.v1.freebsd.jails.get",
+ version => 'draft-06',
+ title => <<"Get jail information">>,
+ properties => #{
+ jail_id => #{type => integer}
+ },
+ required => [jail_id]
+ };
+schema(<<"dreki.v1.freebsd.jails.start">>) ->
+ #{
+ <<"@schema">> => "dreki.v1.freebsd.jails.start",
+ version => 'draft-06',
+ title => <<"Start a jail">>,
+ properties => #{
+ name => #{type => string},
+ path => #{type => string},
+ hostname => #{type => string},
+ params => #{type => object}
+ },
+ required => [name, path, hostname, params]
+ };
+schema(<<"dreki.v1.freebsd.jails.exec">>) ->
+ #{
+ <<"@schema">> => "dreki.v1.freebsd.jails.exec",
+ version => 'draft-06',
+ title => <<"Execute a command in a jail">>,
+ properties => #{
+ jail_id => #{type => string},
+ command => #{type => string},
+ args => #{type => array},
+ env => #{type => object}
+ },
+ required => [id, command, args, env]
+ };
+schema(<<"dreki.v1.exec">>) ->
+ #{
+ <<"@schema">> => "dreki.v1.exec",
+ version => 'draft-06',
+ title => <<"Execute a command">>,
+ properties => #{
+ command => #{type => string},
+ args => #{type => array},
+ env => #{type => object}
+ },
+ required => [command, args, env]
+ }.