[% '#' %] --
[% '#' %] Copyright (C) 2001-2016 OTRS AG, http://otrs.com/
[% '#' %] --
[% '#' %] This software comes with ABSOLUTELY NO WARRANTY. For details, see
[% '#' %] the enclosed file COPYING for license information (AGPL). If you
[% '#' %] did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
[% '#' %] --

package Kernel::System::Console::Command::[% Data.CommandName %];

use strict;
use warnings;

use base qw(Kernel::System::Console::BaseCommand);

our @ObjectDependencies = (
);

sub Configure {
    my ( $Self, %Param ) = @_;

    # $Self->Description('Describe this command.');
    # $Self->AddOption(
    #     Name        => 'option',
    #     Description => "Describe this option.",
    #     Required    => 1,
    #     HasValue    => 1,
    #     ValueRegex  => qr/.*/smx,
    # );
    # $Self->AddArgument(
    #     Name        => 'argument',
    #     Description => "Describe this argument.",
    #     Required    => 1,
    #     ValueRegex  => qr/.*/smx,
    # );

    return;
}

[% '#' %] sub PreRun {
[% '#' %]     my ( $Self, %Param ) = @_;
[% '#' %]
[% '#' %]     # Perform any custom validations here. Command execution can be stopped with die().
[% '#' %]
[% '#' %]     # my $TargetDirectory = $Self->GetOption('target-directory');
[% '#' %]     # if ($TargetDirectory && !-d $TargetDirectory) {
[% '#' %]     #     die "Directory $TargetDirectory does not exist.\n";
[% '#' %]     # }
[% '#' %]
[% '#' %]     return;
[% '#' %] }

sub Run {
    my ( $Self, %Param ) = @_;

    $Self->Print("<yellow>Meaningful start message...</yellow>\n");

    # return $Self->ExitCodeError();

    $Self->Print("<green>Done.</green>\n");
    return $Self->ExitCodeOk();
}

[% '#' %] sub PostRun {
[% '#' %]     my ( $Self, %Param ) = @_;
[% '#' %]
[% '#' %]     # This will be called after Run() (even in case of exceptions). Perform any cleanups here.
[% '#' %]
[% '#' %]     return;
[% '#' %] }

1;


