#!/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);
