App-FargateStack
view release on metacpan or search on metacpan
lib/App/Events.pm view on Meta::CPAN
package App::Events;
use strict;
use warnings;
use App::FargateStack::Constants;
use Carp;
use Data::Dumper;
use English qw(-no_match_vars);
use File::Temp qw(tempfile);
use JSON;
use List::Util qw(none any);
use Scalar::Util qw(reftype);
use Role::Tiny::With;
with 'App::AWS';
use parent qw(App::Command);
__PACKAGE__->follow_best_practice();
__PACKAGE__->mk_accessors(qw(profile region event_bus_name unlink));
use Readonly;
Readonly::Scalar our $DEFAULT_EVENT_BUS_NAME => 'default';
########################################################################
sub new {
########################################################################
my ( $class, @args ) = @_;
my $self = $class->SUPER::new(@args);
if ( !$self->get_event_bus_name ) {
$self->set_event_bus_name($DEFAULT_EVENT_BUS_NAME);
}
return $self;
}
########################################################################
sub describe_rule {
########################################################################
my ( $self, $rule_name, $query ) = @_;
return $self->command(
'describe-rule' => [
'--name' => $rule_name,
$query ? ( '--query' => $query ) : ()
]
);
}
########################################################################
sub remove_targets {
########################################################################
my ( $self, $rule_name, $id ) = @_;
return $self->command(
'remove-targets' => [
'--rule' => $rule_name,
'--ids' => $id,
'--event-bus-name' => $self->get_event_bus_name,
]
);
return;
}
########################################################################
sub list_targets_by_rule {
########################################################################
my ( $self, $rule_name, $query ) = @_;
return $self->command(
'list-targets-by-rule' => [
'--rule' => $rule_name,
'--event-bus-name' => $self->get_event_bus_name,
$query ? ( '--query' => $query ) : (),
]
);
return;
}
########################################################################
# 0 => does not exist
# 1 => exists and schedule has not changed
# -1 => exists and schedule has changed
########################################################################
sub rule_exists {
########################################################################
my ( $self, $rule_name, $schedule ) = @_;
( run in 0.712 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )