Skeleton bin/pt-agent and lib/Percona/WebAPI.

This commit is contained in:
Daniel Nichter
2012-12-24 11:24:53 -07:00
parent 9dcda101c9
commit 93416d4cb6
12 changed files with 5343 additions and 519 deletions

View File

@@ -0,0 +1,28 @@
package Percona::WebAPI::Resource::Agent;
use Mo;
with 'Percona::WebAPI::Representation::JSON';
with 'Percona::WebAPI::Representation::HashRef';
has 'id' => (
is => 'ro',
isa => 'Str',
required => 1,
);
has 'hostname' => (
is => 'ro',
isa => 'Str',
required => 1,
default => sub { return `hostname 2>/dev/null` },
);
has 'versions' => (
is => 'ro',
isa => 'Maybe[Percona::WebAPI::Resource::Versions]',
required => 0,
default => undef,
);
1;

View File

@@ -0,0 +1,14 @@
package Percona::WebAPI::Resource::Config;
use Mo;
with 'Percona::WebAPI::Representation::JSON';
with 'Percona::WebAPI::Representation::HashRef';
has 'options' => (
is => 'ro',
isa => 'HashRef',
required => 1,
);
1;

View File

@@ -0,0 +1,32 @@
package Percona::WebAPI::Resource::Run;
use Mo;
with 'Percona::WebAPI::Representation::JSON';
with 'Percona::WebAPI::Representation::HashRef';
has 'number' => (
is => 'ro',
isa => 'Int',
required => 1,
);
has 'program' => (
is => 'ro',
isa => 'Str',
required => 1,
);
has 'options' => (
is => 'ro',
isa => 'Maybe[Str]',
required => 0,
);
has 'output' => (
is => 'ro',
isa => 'Str',
required => 1,
);
1;

View File

@@ -0,0 +1,26 @@
package Percona::WebAPI::Resource::Service;
use Mo;
with 'Percona::WebAPI::Representation::JSON';
with 'Percona::WebAPI::Representation::HashRef';
has 'name' => (
is => 'ro',
isa => 'Str',
required => 1,
);
has 'schedule' => (
is => 'ro',
isa => 'Str',
required => 1,
);
has 'run' => (
is => 'ro',
isa => 'ArrayRef[Percona::WebAPI::Resource::Run]',
required => 1,
);
1;

View File

@@ -0,0 +1,14 @@
package Percona::WebAPI::Resource::Versions;
use Mo;
with 'Percona::WebAPI::Representation::JSON';
with 'Percona::WebAPI::Representation::HashRef';
has 'versions' => (
is => 'ro',
isa => 'HashRef',
required => 1,
);
1;