Amazon-SQS-Client

 view release on metacpan or  search on metacpan

lib/Amazon/SQS/Model/CreateQueueRequest.pm  view on Meta::CPAN

=head1 SYNOPSIS

 my $request = new Amazon::SQS::Model::CreateQueueRequest(
                                                          {
                                                           QueueName => $queue_name,
                                                           DefaultVisibilityTime => $timeout
                                                          }
                                                         );

 $service->createQueue( $request );

=head1 DESCRIPTION

Implements a class that represents a request used to create a new SQS
queue.

=head1 METHODS

=head2 new

 new( options ) 

=over 5

=item options

Hash reference containing the options listed below.

=over 5

=item QueueName

The name of the queue that you created.

=item DefaultVisibilityTimeout

The amount of time (in seconds) that a message received from a queue
will be I<invisible> to other receiving components when they ask to
receive messages.

=item Attribute

C<Amazon::SQS::Model::Attribute>

=back

=back

=cut
    

sub new {
  my ($class, $data) = @_;
  my $self = {};
  $self->{_fields} = {
		      QueueName => { FieldValue => undef, FieldType => "string"},
		      DefaultVisibilityTimeout => { FieldValue => undef, FieldType => "int"},
		      Attribute => {FieldValue => [], FieldType => ["Amazon::SQS::Model::Attribute"]},
		     };

  bless ($self, $class);
  if (defined $data) {
    $self->_fromHashRef($data); 
  }
        
  return $self;
}

    
sub getQueueName {
  return shift->{_fields}->{QueueName}->{FieldValue};
}


sub setQueueName {
  my ($self, $value) = @_;

  $self->{_fields}->{QueueName}->{FieldValue} = $value;
  return $self;
}


sub withQueueName {
  my ($self, $value) = @_;
  $self->setQueueName($value);
  return $self;
}


sub isSetQueueName {
  return defined (shift->{_fields}->{QueueName}->{FieldValue});
}


sub getDefaultVisibilityTimeout {
  return shift->{_fields}->{DefaultVisibilityTimeout}->{FieldValue};
}


sub setDefaultVisibilityTimeout {
  my ($self, $value) = @_;

  $self->{_fields}->{DefaultVisibilityTimeout}->{FieldValue} = $value;
  return $self;
}


sub withDefaultVisibilityTimeout {
  my ($self, $value) = @_;
  $self->setDefaultVisibilityTimeout($value);
  return $self;
}


sub isSetDefaultVisibilityTimeout {
  return defined (shift->{_fields}->{DefaultVisibilityTimeout}->{FieldValue});
}

sub getAttribute {
  return shift->{_fields}->{Attribute}->{FieldValue};
}



( run in 2.069 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )