File Coverage

blib/lib/Paws/Snowball.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Paws::Snowball;
2 1     1   6447 use Moose;
  1         3  
  1         36  
3             sub service { 'snowball' }
4             sub version { '2016-06-30' }
5             sub target_prefix { 'AWSIESnowballJobManagementService' }
6             sub json_version { "1.1" }
7             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
8             has retry => (is => 'ro', isa => 'HashRef', default => sub {
9             { base => 'rand', type => 'exponential', growth_factor => 2 }
10             });
11             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
12             ] });
13              
14             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::JsonCaller', 'Paws::Net::JsonResponse';
15              
16            
17             sub CancelCluster {
18             my $self = shift;
19             my $call_object = $self->new_with_coercions('Paws::Snowball::CancelCluster', @_);
20             return $self->caller->do_call($self, $call_object);
21             }
22             sub CancelJob {
23             my $self = shift;
24             my $call_object = $self->new_with_coercions('Paws::Snowball::CancelJob', @_);
25             return $self->caller->do_call($self, $call_object);
26             }
27             sub CreateAddress {
28             my $self = shift;
29             my $call_object = $self->new_with_coercions('Paws::Snowball::CreateAddress', @_);
30             return $self->caller->do_call($self, $call_object);
31             }
32             sub CreateCluster {
33             my $self = shift;
34             my $call_object = $self->new_with_coercions('Paws::Snowball::CreateCluster', @_);
35             return $self->caller->do_call($self, $call_object);
36             }
37             sub CreateJob {
38             my $self = shift;
39             my $call_object = $self->new_with_coercions('Paws::Snowball::CreateJob', @_);
40             return $self->caller->do_call($self, $call_object);
41             }
42             sub DescribeAddress {
43             my $self = shift;
44             my $call_object = $self->new_with_coercions('Paws::Snowball::DescribeAddress', @_);
45             return $self->caller->do_call($self, $call_object);
46             }
47             sub DescribeAddresses {
48             my $self = shift;
49             my $call_object = $self->new_with_coercions('Paws::Snowball::DescribeAddresses', @_);
50             return $self->caller->do_call($self, $call_object);
51             }
52             sub DescribeCluster {
53             my $self = shift;
54             my $call_object = $self->new_with_coercions('Paws::Snowball::DescribeCluster', @_);
55             return $self->caller->do_call($self, $call_object);
56             }
57             sub DescribeJob {
58             my $self = shift;
59             my $call_object = $self->new_with_coercions('Paws::Snowball::DescribeJob', @_);
60             return $self->caller->do_call($self, $call_object);
61             }
62             sub GetJobManifest {
63             my $self = shift;
64             my $call_object = $self->new_with_coercions('Paws::Snowball::GetJobManifest', @_);
65             return $self->caller->do_call($self, $call_object);
66             }
67             sub GetJobUnlockCode {
68             my $self = shift;
69             my $call_object = $self->new_with_coercions('Paws::Snowball::GetJobUnlockCode', @_);
70             return $self->caller->do_call($self, $call_object);
71             }
72             sub GetSnowballUsage {
73             my $self = shift;
74             my $call_object = $self->new_with_coercions('Paws::Snowball::GetSnowballUsage', @_);
75             return $self->caller->do_call($self, $call_object);
76             }
77             sub ListClusterJobs {
78             my $self = shift;
79             my $call_object = $self->new_with_coercions('Paws::Snowball::ListClusterJobs', @_);
80             return $self->caller->do_call($self, $call_object);
81             }
82             sub ListClusters {
83             my $self = shift;
84             my $call_object = $self->new_with_coercions('Paws::Snowball::ListClusters', @_);
85             return $self->caller->do_call($self, $call_object);
86             }
87             sub ListJobs {
88             my $self = shift;
89             my $call_object = $self->new_with_coercions('Paws::Snowball::ListJobs', @_);
90             return $self->caller->do_call($self, $call_object);
91             }
92             sub UpdateCluster {
93             my $self = shift;
94             my $call_object = $self->new_with_coercions('Paws::Snowball::UpdateCluster', @_);
95             return $self->caller->do_call($self, $call_object);
96             }
97             sub UpdateJob {
98             my $self = shift;
99             my $call_object = $self->new_with_coercions('Paws::Snowball::UpdateJob', @_);
100             return $self->caller->do_call($self, $call_object);
101             }
102            
103             sub DescribeAllAddresses {
104             my $self = shift;
105              
106             my $callback = shift @_ if (ref($_[0]) eq 'CODE');
107             my $result = $self->DescribeAddresses(@_);
108             my $next_result = $result;
109              
110             if (not defined $callback) {
111             while ($next_result->NextToken) {
112             $next_result = $self->DescribeAddresses(@_, NextToken => $next_result->NextToken);
113             push @{ $result->Addresses }, @{ $next_result->Addresses };
114             }
115             return $result;
116             } else {
117             while ($result->NextToken) {
118             $callback->($_ => 'Addresses') foreach (@{ $result->Addresses });
119             $result = $self->DescribeAddresses(@_, NextToken => $result->NextToken);
120             }
121             $callback->($_ => 'Addresses') foreach (@{ $result->Addresses });
122             }
123              
124             return undef
125             }
126             sub ListAllJobs {
127             my $self = shift;
128              
129             my $callback = shift @_ if (ref($_[0]) eq 'CODE');
130             my $result = $self->ListJobs(@_);
131             my $next_result = $result;
132              
133             if (not defined $callback) {
134             while ($next_result->NextToken) {
135             $next_result = $self->ListJobs(@_, NextToken => $next_result->NextToken);
136             push @{ $result->JobListEntries }, @{ $next_result->JobListEntries };
137             }
138             return $result;
139             } else {
140             while ($result->NextToken) {
141             $callback->($_ => 'JobListEntries') foreach (@{ $result->JobListEntries });
142             $result = $self->ListJobs(@_, NextToken => $result->NextToken);
143             }
144             $callback->($_ => 'JobListEntries') foreach (@{ $result->JobListEntries });
145             }
146              
147             return undef
148             }
149              
150              
151             sub operations { qw/CancelCluster CancelJob CreateAddress CreateCluster CreateJob DescribeAddress DescribeAddresses DescribeCluster DescribeJob GetJobManifest GetJobUnlockCode GetSnowballUsage ListClusterJobs ListClusters ListJobs UpdateCluster UpdateJob / }
152              
153             1;
154              
155             ### main pod documentation begin ###
156              
157             =head1 NAME
158              
159             Paws::Snowball - Perl Interface to AWS Amazon Import/Export Snowball
160              
161             =head1 SYNOPSIS
162              
163             use Paws;
164              
165             my $obj = Paws->service('Snowball');
166             my $res = $obj->Method(
167             Arg1 => $val1,
168             Arg2 => [ 'V1', 'V2' ],
169             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
170             # of the arguments type
171             Arg3 => { Att1 => 'Val1' },
172             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
173             # the constructor of the arguments type
174             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
175             );
176              
177             =head1 DESCRIPTION
178              
179             AWS Snowball is a petabyte-scale data transport solution that uses
180             secure appliances to transfer large amounts of data between your
181             on-premises data centers and Amazon Simple Storage Service (Amazon S3).
182             The Snowball commands described here provide access to the same
183             functionality that is available in the AWS Snowball Management Console,
184             which enables you to create and manage jobs for Snowball. To transfer
185             data locally with a Snowball appliance, you'll need to use the Snowball
186             client or the Amazon S3 API adapter for Snowball. For more information,
187             see the User Guide.
188              
189             =head1 METHODS
190              
191             =head2 CancelCluster(ClusterId => Str)
192              
193             Each argument is described in detail in: L<Paws::Snowball::CancelCluster>
194              
195             Returns: a L<Paws::Snowball::CancelClusterResult> instance
196              
197             Cancels a cluster job. You can only cancel a cluster job while it's in
198             the C<AwaitingQuorum> status. You'll have at least an hour after
199             creating a cluster job to cancel it.
200              
201              
202             =head2 CancelJob(JobId => Str)
203              
204             Each argument is described in detail in: L<Paws::Snowball::CancelJob>
205              
206             Returns: a L<Paws::Snowball::CancelJobResult> instance
207              
208             Cancels the specified job. You can only cancel a job before its
209             C<JobState> value changes to C<PreparingAppliance>. Requesting the
210             C<ListJobs> or C<DescribeJob> action will return a job's C<JobState> as
211             part of the response element data returned.
212              
213              
214             =head2 CreateAddress(Address => L<Paws::Snowball::Address>)
215              
216             Each argument is described in detail in: L<Paws::Snowball::CreateAddress>
217              
218             Returns: a L<Paws::Snowball::CreateAddressResult> instance
219              
220             Creates an address for a Snowball to be shipped to. In most regions,
221             addresses are validated at the time of creation. The address you
222             provide must be located within the serviceable area of your region. If
223             the address is invalid or unsupported, then an exception is thrown.
224              
225              
226             =head2 CreateCluster(AddressId => Str, JobType => Str, Resources => L<Paws::Snowball::JobResource>, RoleARN => Str, ShippingOption => Str, [Description => Str, ForwardingAddressId => Str, KmsKeyARN => Str, Notification => L<Paws::Snowball::Notification>, SnowballType => Str])
227              
228             Each argument is described in detail in: L<Paws::Snowball::CreateCluster>
229              
230             Returns: a L<Paws::Snowball::CreateClusterResult> instance
231              
232             Creates an empty cluster. Each cluster supports five nodes. You use the
233             CreateJob action separately to create the jobs for each of these nodes.
234             The cluster does not ship until these five node jobs have been created.
235              
236              
237             =head2 CreateJob([AddressId => Str, ClusterId => Str, Description => Str, ForwardingAddressId => Str, JobType => Str, KmsKeyARN => Str, Notification => L<Paws::Snowball::Notification>, Resources => L<Paws::Snowball::JobResource>, RoleARN => Str, ShippingOption => Str, SnowballCapacityPreference => Str, SnowballType => Str])
238              
239             Each argument is described in detail in: L<Paws::Snowball::CreateJob>
240              
241             Returns: a L<Paws::Snowball::CreateJobResult> instance
242              
243             Creates a job to import or export data between Amazon S3 and your
244             on-premises data center. Your AWS account must have the right trust
245             policies and permissions in place to create a job for Snowball. If
246             you're creating a job for a node in a cluster, you only need to provide
247             the C<clusterId> value; the other job attributes are inherited from the
248             cluster.
249              
250              
251             =head2 DescribeAddress(AddressId => Str)
252              
253             Each argument is described in detail in: L<Paws::Snowball::DescribeAddress>
254              
255             Returns: a L<Paws::Snowball::DescribeAddressResult> instance
256              
257             Takes an C<AddressId> and returns specific details about that address
258             in the form of an C<Address> object.
259              
260              
261             =head2 DescribeAddresses([MaxResults => Int, NextToken => Str])
262              
263             Each argument is described in detail in: L<Paws::Snowball::DescribeAddresses>
264              
265             Returns: a L<Paws::Snowball::DescribeAddressesResult> instance
266              
267             Returns a specified number of C<ADDRESS> objects. Calling this API in
268             one of the US regions will return addresses from the list of all
269             addresses associated with this account in all US regions.
270              
271              
272             =head2 DescribeCluster(ClusterId => Str)
273              
274             Each argument is described in detail in: L<Paws::Snowball::DescribeCluster>
275              
276             Returns: a L<Paws::Snowball::DescribeClusterResult> instance
277              
278             Returns information about a specific cluster including shipping
279             information, cluster status, and other important metadata.
280              
281              
282             =head2 DescribeJob(JobId => Str)
283              
284             Each argument is described in detail in: L<Paws::Snowball::DescribeJob>
285              
286             Returns: a L<Paws::Snowball::DescribeJobResult> instance
287              
288             Returns information about a specific job including shipping
289             information, job status, and other important metadata.
290              
291              
292             =head2 GetJobManifest(JobId => Str)
293              
294             Each argument is described in detail in: L<Paws::Snowball::GetJobManifest>
295              
296             Returns: a L<Paws::Snowball::GetJobManifestResult> instance
297              
298             Returns a link to an Amazon S3 presigned URL for the manifest file
299             associated with the specified C<JobId> value. You can access the
300             manifest file for up to 60 minutes after this request has been made. To
301             access the manifest file after 60 minutes have passed, you'll have to
302             make another call to the C<GetJobManifest> action.
303              
304             The manifest is an encrypted file that you can download after your job
305             enters the C<WithCustomer> status. The manifest is decrypted by using
306             the C<UnlockCode> code value, when you pass both values to the Snowball
307             through the Snowball client when the client is started for the first
308             time.
309              
310             As a best practice, we recommend that you don't save a copy of an
311             C<UnlockCode> value in the same location as the manifest file for that
312             job. Saving these separately helps prevent unauthorized parties from
313             gaining access to the Snowball associated with that job.
314              
315             The credentials of a given job, including its manifest file and unlock
316             code, expire 90 days after the job is created.
317              
318              
319             =head2 GetJobUnlockCode(JobId => Str)
320              
321             Each argument is described in detail in: L<Paws::Snowball::GetJobUnlockCode>
322              
323             Returns: a L<Paws::Snowball::GetJobUnlockCodeResult> instance
324              
325             Returns the C<UnlockCode> code value for the specified job. A
326             particular C<UnlockCode> value can be accessed for up to 90 days after
327             the associated job has been created.
328              
329             The C<UnlockCode> value is a 29-character code with 25 alphanumeric
330             characters and 4 hyphens. This code is used to decrypt the manifest
331             file when it is passed along with the manifest to the Snowball through
332             the Snowball client when the client is started for the first time.
333              
334             As a best practice, we recommend that you don't save a copy of the
335             C<UnlockCode> in the same location as the manifest file for that job.
336             Saving these separately helps prevent unauthorized parties from gaining
337             access to the Snowball associated with that job.
338              
339              
340             =head2 GetSnowballUsage()
341              
342             Each argument is described in detail in: L<Paws::Snowball::GetSnowballUsage>
343              
344             Returns: a L<Paws::Snowball::GetSnowballUsageResult> instance
345              
346             Returns information about the Snowball service limit for your account,
347             and also the number of Snowballs your account has in use.
348              
349             The default service limit for the number of Snowballs that you can have
350             at one time is 1. If you want to increase your service limit, contact
351             AWS Support.
352              
353              
354             =head2 ListClusterJobs(ClusterId => Str, [MaxResults => Int, NextToken => Str])
355              
356             Each argument is described in detail in: L<Paws::Snowball::ListClusterJobs>
357              
358             Returns: a L<Paws::Snowball::ListClusterJobsResult> instance
359              
360             Returns an array of C<JobListEntry> objects of the specified length.
361             Each C<JobListEntry> object is for a job in the specified cluster and
362             contains a job's state, a job's ID, and other information.
363              
364              
365             =head2 ListClusters([MaxResults => Int, NextToken => Str])
366              
367             Each argument is described in detail in: L<Paws::Snowball::ListClusters>
368              
369             Returns: a L<Paws::Snowball::ListClustersResult> instance
370              
371             Returns an array of C<ClusterListEntry> objects of the specified
372             length. Each C<ClusterListEntry> object contains a cluster's state, a
373             cluster's ID, and other important status information.
374              
375              
376             =head2 ListJobs([MaxResults => Int, NextToken => Str])
377              
378             Each argument is described in detail in: L<Paws::Snowball::ListJobs>
379              
380             Returns: a L<Paws::Snowball::ListJobsResult> instance
381              
382             Returns an array of C<JobListEntry> objects of the specified length.
383             Each C<JobListEntry> object contains a job's state, a job's ID, and a
384             value that indicates whether the job is a job part, in the case of
385             export jobs. Calling this API action in one of the US regions will
386             return jobs from the list of all jobs associated with this account in
387             all US regions.
388              
389              
390             =head2 UpdateCluster(ClusterId => Str, [AddressId => Str, Description => Str, ForwardingAddressId => Str, Notification => L<Paws::Snowball::Notification>, Resources => L<Paws::Snowball::JobResource>, RoleARN => Str, ShippingOption => Str])
391              
392             Each argument is described in detail in: L<Paws::Snowball::UpdateCluster>
393              
394             Returns: a L<Paws::Snowball::UpdateClusterResult> instance
395              
396             While a cluster's C<ClusterState> value is in the C<AwaitingQuorum>
397             state, you can update some of the information associated with a
398             cluster. Once the cluster changes to a different job state, usually 60
399             minutes after the cluster being created, this action is no longer
400             available.
401              
402              
403             =head2 UpdateJob(JobId => Str, [AddressId => Str, Description => Str, ForwardingAddressId => Str, Notification => L<Paws::Snowball::Notification>, Resources => L<Paws::Snowball::JobResource>, RoleARN => Str, ShippingOption => Str, SnowballCapacityPreference => Str])
404              
405             Each argument is described in detail in: L<Paws::Snowball::UpdateJob>
406              
407             Returns: a L<Paws::Snowball::UpdateJobResult> instance
408              
409             While a job's C<JobState> value is C<New>, you can update some of the
410             information associated with a job. Once the job changes to a different
411             job state, usually within 60 minutes of the job being created, this
412             action is no longer available.
413              
414              
415              
416              
417             =head1 PAGINATORS
418              
419             Paginator methods are helpers that repetively call methods that return partial results
420              
421             =head2 DescribeAllAddresses(sub { },[MaxResults => Int, NextToken => Str])
422              
423             =head2 DescribeAllAddresses([MaxResults => Int, NextToken => Str])
424              
425              
426             If passed a sub as first parameter, it will call the sub for each element found in :
427              
428             - Addresses, passing the object as the first parameter, and the string 'Addresses' as the second parameter
429              
430             If not, it will return a a L<Paws::Snowball::DescribeAddressesResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
431              
432              
433             =head2 ListAllJobs(sub { },[MaxResults => Int, NextToken => Str])
434              
435             =head2 ListAllJobs([MaxResults => Int, NextToken => Str])
436              
437              
438             If passed a sub as first parameter, it will call the sub for each element found in :
439              
440             - JobListEntries, passing the object as the first parameter, and the string 'JobListEntries' as the second parameter
441              
442             If not, it will return a a L<Paws::Snowball::ListJobsResult> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
443              
444              
445              
446              
447              
448             =head1 SEE ALSO
449              
450             This service class forms part of L<Paws>
451              
452             =head1 BUGS and CONTRIBUTIONS
453              
454             The source code is located here: https://github.com/pplu/aws-sdk-perl
455              
456             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
457              
458             =cut
459