#!/usr/bin/perl

use strict;
use warnings;
use Getopt::Long qw(:config no_ignore_case);
use Perun::Agent;
use Perun::Common qw(printMessage);

sub help {
	return qq{
	Creates a facility. Facility name is required field.
	--------------------------------------
	Available options:
	--facilityName  | -F facility name
	--facilityDsc   | -d facility description
	--batch         | -b batch
	--help          | -h prints this help

	};
}

my ($facilityName, $facilityDescription, $batch);
GetOptions ("help|h" => sub { print help(); exit 0;} ,"batch|b" => \$batch,
"facilityName|F=s" => \$facilityName, "facilityDsc|d=s" => \$facilityDescription) || die help();

# Check options
unless (defined($facilityName)) { die "ERROR: facilityName is required \n";}

my $agent = Perun::Agent->new();
my $facilitiesAgent = $agent->getFacilitiesAgent;

my $facility=Perun::beans::Facility->new;
$facility->setName($facilityName);

if (defined($facilityDescription)) {
	$facility->setDescription($facilityDescription);
}

$facility = $facilitiesAgent->createFacility(facility => $facility);

printMessage("Facility Id:".$facility->getId." successfully created", $batch);
