Amazon-SQS-Client
view release on metacpan or search on metacpan
share/SetQueueAttributes.pm view on Meta::CPAN
package SetQueueAttributes;
use strict;
use warnings;
use English qw(-no_match_vars);
use Amazon::SQS::Model::SetQueueAttributesRequest;
use Data::Dumper;
use List::Util qw(pairs);
use parent qw(Amazon::SQS::Sample);
########################################################################
sub sample {
########################################################################
my ( $self, $attributes, $queue_url ) = @_;
if ( !$attributes ) {
warn "attributes is a required argument\n";
$self->help();
}
my @attribute_list = map { split /\s*=s*/xsm, $_ } split /\s*,\s*/xsm, $attributes;
my @attribute_names;
foreach my $p ( pairs @attribute_list ) {
push @attribute_names, { Name => $p->[0], Value => $p->[1], };
}
my $service = $self->get_service;
my $config = $self->get_config;
$queue_url //= $config && $config->get_queue_url;
if ( !$queue_url ) {
$self->help();
}
my $request = Amazon::SQS::Model::SetQueueAttributesRequest->new(
{ QueueUrl => $queue_url,
Attribute => \@attribute_names,
}
);
my $response = $service->setQueueAttributes($request);
if ( $response->isSetResponseMetadata() ) {
my $responseMetadata = $response->getResponseMetadata();
if ( $responseMetadata->isSetRequestId() ) {
my $requesId = $responseMetadata->getRequestId();
}
}
return;
}
1;
## no critic
__END__
=pod
=head1 USAGE
example.pl [-f config-file] SetQueueAttributes attributes [queue-url]
( run in 0.722 second using v1.01-cache-2.11-cpan-39bf76dae61 )