
#                                      Copyright 2024 WebPros International, LLC
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited.

package Whostmgr::360Monitoring::Agent::Plugins::Tcpports;

use cPstrict;
use Moo;
use Whostmgr::360Monitoring::Moo;
use Whostmgr::360Monitoring::Types qw(WPStringArray);
use Types::Common::Numeric         qw(PositiveInt);

extends 'Whostmgr::360Monitoring::Agent::Plugins';

conf_has 'host_ports' => (
    isa      => WPStringArray,
    coerce   => 1,
    required => 1,
);

conf_has 'timeout' => (
    isa      => PositiveInt,
    required => 1
);

1;

__END__

=head1 NAME

Whostmgr::360Monitoring::Agent::Plugins::Tcpports - A class for the Tcpports plugin

=head1 DESCRIPTION

A child class of L<Whostmgr::360Monitoring::Agent::Plugins>. The upstream implementation can be found at the L<Agent360 Repository on Github|https://github.com/plesk/agent360/tree/master/agent360/plugins/tcpports.py>.

Usage for plugin configuration changes can be found in the L<Agent|Whostmgr::360Monitoring::Agent> class.

=head1 ROLES

=over 15

=item L<Serializable|Whostmgr::360Monitoring::Agent::Plugins::Roles::Serializable>

=item L<Enableable|Whostmgr::360Monitoring::Agent::Plugins::Roles::Enableable>

=item L<Runnable|Whostmgr::360Monitoring::Agent::Plugins::Roles::Runnable>


=back

=head1 ATTRIBUTES

=over 15

=item host_ports

An attribute representing host_ports as defined in the GitHub repo linked in the SEE ALSO. Sourced from INI. Serializes to INI.

=item timeout

An attribute representing timeout as defined in the GitHub repo linked in the SEE ALSO. Sourced from INI. Serializes to INI.


=back

=head1 SEE ALSO

=over 8

=item L<Implementation of Plugin on Github|https://github.com/plesk/agent360/tree/master/agent360/plugins/tcpports.py>

=back
