The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Paws::Snowball - Perl Interface to AWS Amazon Import/Export Snowball

SYNOPSIS

  use Paws;

  my $obj = Paws->service('Snowball');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

AWS Snow Family is a petabyte-scale data transport solution that uses secure devices to transfer large amounts of data between your on-premises data centers and Amazon Simple Storage Service (Amazon S3). The Snow commands described here provide access to the same functionality that is available in the AWS Snow Family Management Console, which enables you to create and manage jobs for a Snow device. To transfer data locally with a Snow device, you'll need to use the Snowball Edge client or the Amazon S3 API Interface for Snowball or AWS OpsHub for Snow Family. For more information, see the User Guide (https://docs.aws.amazon.com/AWSImportExport/latest/ug/api-reference.html).

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30

METHODS

CancelCluster

ClusterId => Str

Each argument is described in detail in: Paws::Snowball::CancelCluster

Returns: a Paws::Snowball::CancelClusterResult instance

Cancels a cluster job. You can only cancel a cluster job while it's in the AwaitingQuorum status. You'll have at least an hour after creating a cluster job to cancel it.

CancelJob

JobId => Str

Each argument is described in detail in: Paws::Snowball::CancelJob

Returns: a Paws::Snowball::CancelJobResult instance

Cancels the specified job. You can only cancel a job before its JobState value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob action returns a job's JobState as part of the response element data returned.

CreateAddress

Address => Paws::Snowball::Address

Each argument is described in detail in: Paws::Snowball::CreateAddress

Returns: a Paws::Snowball::CreateAddressResult instance

Creates an address for a Snow device to be shipped to. In most regions, addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.

CreateCluster

AddressId => Str
JobType => Str
Resources => Paws::Snowball::JobResource
RoleARN => Str
ShippingOption => Str
SnowballType => Str
[Description => Str]
[ForwardingAddressId => Str]
[KmsKeyARN => Str]
[Notification => Paws::Snowball::Notification]
[OnDeviceServiceConfiguration => Paws::Snowball::OnDeviceServiceConfiguration]
[RemoteManagement => Str]
[TaxDocuments => Paws::Snowball::TaxDocuments]

Each argument is described in detail in: Paws::Snowball::CreateCluster

Returns: a Paws::Snowball::CreateClusterResult instance

Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob action separately to create the jobs for each of these nodes. The cluster does not ship until these five node jobs have been created.

CreateJob

[AddressId => Str]
[ClusterId => Str]
[Description => Str]
[DeviceConfiguration => Paws::Snowball::DeviceConfiguration]
[ForwardingAddressId => Str]
[JobType => Str]
[KmsKeyARN => Str]
[LongTermPricingId => Str]
[Notification => Paws::Snowball::Notification]
[OnDeviceServiceConfiguration => Paws::Snowball::OnDeviceServiceConfiguration]
[RemoteManagement => Str]
[Resources => Paws::Snowball::JobResource]
[RoleARN => Str]
[ShippingOption => Str]
[SnowballCapacityPreference => Str]
[SnowballType => Str]
[TaxDocuments => Paws::Snowball::TaxDocuments]

Each argument is described in detail in: Paws::Snowball::CreateJob

Returns: a Paws::Snowball::CreateJobResult instance

Creates a job to import or export data between Amazon S3 and your on-premises data center. Your AWS account must have the right trust policies and permissions in place to create a job for a Snow device. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster.

Only the Snowball; Edge device type is supported when ordering clustered jobs.

The device capacity is optional.

Availability of device types differ by AWS Region. For more information about Region availability, see AWS Regional Services (https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/?p=ngi&loc=4).

AWS Snow Family device types and their capacities.

  • Snow Family device type: SNC1_SSD

    • Capacity: T14

    • Description: Snowcone

  • Snow Family device type: SNC1_HDD

    • Capacity: T8

    • Description: Snowcone

  • Device type: EDGE_S

    • Capacity: T98

    • Description: Snowball Edge Storage Optimized for data transfer only

  • Device type: EDGE_CG

    • Capacity: T42

    • Description: Snowball Edge Compute Optimized with GPU

  • Device type: EDGE_C

    • Capacity: T42

    • Description: Snowball Edge Compute Optimized without GPU

  • Device type: EDGE

    • Capacity: T100

    • Description: Snowball Edge Storage Optimized with EC2 Compute

  • Device type: STANDARD

    • Capacity: T50

    • Description: Original Snowball device

      This device is only available in the Ningxia, Beijing, and Singapore AWS Regions.

  • Device type: STANDARD

    • Capacity: T80

    • Description: Original Snowball device

      This device is only available in the Ningxia, Beijing, and Singapore AWS Regions.

CreateLongTermPricing

LongTermPricingType => Str
[IsLongTermPricingAutoRenew => Bool]
[SnowballType => Str]

Each argument is described in detail in: Paws::Snowball::CreateLongTermPricing

Returns: a Paws::Snowball::CreateLongTermPricingResult instance

Creates a job with the long-term usage option for a device. The long-term usage is a 1-year or 3-year long-term pricing type for the device. You are billed upfront, and AWS provides discounts for long-term pricing.

CreateReturnShippingLabel

JobId => Str
[ShippingOption => Str]

Each argument is described in detail in: Paws::Snowball::CreateReturnShippingLabel

Returns: a Paws::Snowball::CreateReturnShippingLabelResult instance

Creates a shipping label that will be used to return the Snow device to AWS.

DescribeAddress

AddressId => Str

Each argument is described in detail in: Paws::Snowball::DescribeAddress

Returns: a Paws::Snowball::DescribeAddressResult instance

Takes an AddressId and returns specific details about that address in the form of an Address object.

DescribeAddresses

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Snowball::DescribeAddresses

Returns: a Paws::Snowball::DescribeAddressesResult instance

Returns a specified number of ADDRESS objects. Calling this API in one of the US regions will return addresses from the list of all addresses associated with this account in all US regions.

DescribeCluster

ClusterId => Str

Each argument is described in detail in: Paws::Snowball::DescribeCluster

Returns: a Paws::Snowball::DescribeClusterResult instance

Returns information about a specific cluster including shipping information, cluster status, and other important metadata.

DescribeJob

JobId => Str

Each argument is described in detail in: Paws::Snowball::DescribeJob

Returns: a Paws::Snowball::DescribeJobResult instance

Returns information about a specific job including shipping information, job status, and other important metadata.

DescribeReturnShippingLabel

JobId => Str

Each argument is described in detail in: Paws::Snowball::DescribeReturnShippingLabel

Returns: a Paws::Snowball::DescribeReturnShippingLabelResult instance

Information on the shipping label of a Snow device that is being returned to AWS.

GetJobManifest

JobId => Str

Each argument is described in detail in: Paws::Snowball::GetJobManifest

Returns: a Paws::Snowball::GetJobManifestResult instance

Returns a link to an Amazon S3 presigned URL for the manifest file associated with the specified JobId value. You can access the manifest file for up to 60 minutes after this request has been made. To access the manifest file after 60 minutes have passed, you'll have to make another call to the GetJobManifest action.

The manifest is an encrypted file that you can download after your job enters the WithCustomer status. The manifest is decrypted by using the UnlockCode code value, when you pass both values to the Snow device through the Snowball client when the client is started for the first time.

As a best practice, we recommend that you don't save a copy of an UnlockCode value in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snow device associated with that job.

The credentials of a given job, including its manifest file and unlock code, expire 360 days after the job is created.

GetJobUnlockCode

JobId => Str

Each argument is described in detail in: Paws::Snowball::GetJobUnlockCode

Returns: a Paws::Snowball::GetJobUnlockCodeResult instance

Returns the UnlockCode code value for the specified job. A particular UnlockCode value can be accessed for up to 360 days after the associated job has been created.

The UnlockCode value is a 29-character code with 25 alphanumeric characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed along with the manifest to the Snow device through the Snowball client when the client is started for the first time.

As a best practice, we recommend that you don't save a copy of the UnlockCode in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snow device associated with that job.

GetSnowballUsage

Each argument is described in detail in: Paws::Snowball::GetSnowballUsage

Returns: a Paws::Snowball::GetSnowballUsageResult instance

Returns information about the Snow Family service limit for your account, and also the number of Snow devices your account has in use.

The default service limit for the number of Snow devices that you can have at one time is 1. If you want to increase your service limit, contact AWS Support.

GetSoftwareUpdates

JobId => Str

Each argument is described in detail in: Paws::Snowball::GetSoftwareUpdates

Returns: a Paws::Snowball::GetSoftwareUpdatesResult instance

Returns an Amazon S3 presigned URL for an update file associated with a specified JobId.

ListClusterJobs

ClusterId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Snowball::ListClusterJobs

Returns: a Paws::Snowball::ListClusterJobsResult instance

Returns an array of JobListEntry objects of the specified length. Each JobListEntry object is for a job in the specified cluster and contains a job's state, a job's ID, and other information.

ListClusters

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Snowball::ListClusters

Returns: a Paws::Snowball::ListClustersResult instance

Returns an array of ClusterListEntry objects of the specified length. Each ClusterListEntry object contains a cluster's state, a cluster's ID, and other important status information.

ListCompatibleImages

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Snowball::ListCompatibleImages

Returns: a Paws::Snowball::ListCompatibleImagesResult instance

This action returns a list of the different Amazon EC2 Amazon Machine Images (AMIs) that are owned by your AWS account that would be supported for use on a Snow device. Currently, supported AMIs are based on the CentOS 7 (x86_64) - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS - Xenial (HVM) images, available on the AWS Marketplace.

ListJobs

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Snowball::ListJobs

Returns: a Paws::Snowball::ListJobsResult instance

Returns an array of JobListEntry objects of the specified length. Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions.

ListLongTermPricing

[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Snowball::ListLongTermPricing

Returns: a Paws::Snowball::ListLongTermPricingResult instance

Lists all long-term pricing types.

UpdateCluster

ClusterId => Str
[AddressId => Str]
[Description => Str]
[ForwardingAddressId => Str]
[Notification => Paws::Snowball::Notification]
[OnDeviceServiceConfiguration => Paws::Snowball::OnDeviceServiceConfiguration]
[Resources => Paws::Snowball::JobResource]
[RoleARN => Str]
[ShippingOption => Str]

Each argument is described in detail in: Paws::Snowball::UpdateCluster

Returns: a Paws::Snowball::UpdateClusterResult instance

While a cluster's ClusterState value is in the AwaitingQuorum state, you can update some of the information associated with a cluster. Once the cluster changes to a different job state, usually 60 minutes after the cluster being created, this action is no longer available.

UpdateJob

JobId => Str
[AddressId => Str]
[Description => Str]
[ForwardingAddressId => Str]
[Notification => Paws::Snowball::Notification]
[OnDeviceServiceConfiguration => Paws::Snowball::OnDeviceServiceConfiguration]
[Resources => Paws::Snowball::JobResource]
[RoleARN => Str]
[ShippingOption => Str]
[SnowballCapacityPreference => Str]

Each argument is described in detail in: Paws::Snowball::UpdateJob

Returns: a Paws::Snowball::UpdateJobResult instance

While a job's JobState value is New, you can update some of the information associated with a job. Once the job changes to a different job state, usually within 60 minutes of the job being created, this action is no longer available.

UpdateJobShipmentState

JobId => Str
ShipmentState => Str

Each argument is described in detail in: Paws::Snowball::UpdateJobShipmentState

Returns: a Paws::Snowball::UpdateJobShipmentStateResult instance

Updates the state when a shipment state changes to a different state.

UpdateLongTermPricing

LongTermPricingId => Str
[IsLongTermPricingAutoRenew => Bool]
[ReplacementJob => Str]

Each argument is described in detail in: Paws::Snowball::UpdateLongTermPricing

Returns: a Paws::Snowball::UpdateLongTermPricingResult instance

Updates the long-term pricing type.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

DescribeAllAddresses(sub { },[MaxResults => Int, NextToken => Str])

DescribeAllAddresses([MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Addresses, passing the object as the first parameter, and the string 'Addresses' as the second parameter 

If not, it will return a a Paws::Snowball::DescribeAddressesResult instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllClusterJobs(sub { },ClusterId => Str, [MaxResults => Int, NextToken => Str])

ListAllClusterJobs(ClusterId => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - JobListEntries, passing the object as the first parameter, and the string 'JobListEntries' as the second parameter 

If not, it will return a a Paws::Snowball::ListClusterJobsResult instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllClusters(sub { },[MaxResults => Int, NextToken => Str])

ListAllClusters([MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - ClusterListEntries, passing the object as the first parameter, and the string 'ClusterListEntries' as the second parameter 

If not, it will return a a Paws::Snowball::ListClustersResult instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllCompatibleImages(sub { },[MaxResults => Int, NextToken => Str])

ListAllCompatibleImages([MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - CompatibleImages, passing the object as the first parameter, and the string 'CompatibleImages' as the second parameter 

If not, it will return a a Paws::Snowball::ListCompatibleImagesResult instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllJobs(sub { },[MaxResults => Int, NextToken => Str])

ListAllJobs([MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - JobListEntries, passing the object as the first parameter, and the string 'JobListEntries' as the second parameter 

If not, it will return a a Paws::Snowball::ListJobsResult instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues