# ABSTRACT: Permanently delete a stack package Pinto::Action::Kill; use Moose; use MooseX::StrictConstructor; use MooseX::Types::Moose qw(Bool); use MooseX::MarkAsMethods ( autoclean => 1 ); use Pinto::Types qw(StackName StackObject); #------------------------------------------------------------------------------ our $VERSION = '0.14'; # VERSION #------------------------------------------------------------------------------ extends qw( Pinto::Action ); #------------------------------------------------------------------------------ with qw( Pinto::Role::Transactional ); #------------------------------------------------------------------------------ has stack => ( is => 'ro', isa => StackName | StackObject, required => 1, ); has force => ( is => 'ro', isa => Bool, default => 0, ); #------------------------------------------------------------------------------ sub execute { my ($self) = @_; my $stack = $self->repo->get_stack( $self->stack ); $stack->unlock if $stack->is_locked && $self->force; $self->repo->kill_stack( stack => $stack ); return $self->result->changed; } #------------------------------------------------------------------------------ __PACKAGE__->meta->make_immutable; #------------------------------------------------------------------------------ 1; __END__ =pod =encoding UTF-8 =for :stopwords Jeffrey Ryan Thalhammer =head1 NAME Pinto::Action::Kill - Permanently delete a stack =head1 VERSION version 0.14 =head1 AUTHOR Jeffrey Ryan Thalhammer =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2015 by Jeffrey Ryan Thalhammer. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut