AWS Snowball
API Reference
AWS Snowball: API Reference
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents
Job Management API ... 1
API Endpoint ... 1
API Version ... 2
API Permission Policy Reference ... 2
Creating an IAM Role for Snowball and Snowball Edge ... 4
Actions ... 7
AWS Snowball ... 8
CancelCluster ... 9
CancelJob ... 11
CreateAddress ... 13
CreateCluster ... 15
CreateJob ... 21
CreateLongTermPricing ... 29
CreateReturnShippingLabel ... 31
DescribeAddress ... 34
DescribeAddresses ... 36
DescribeCluster ... 39
DescribeJob ... 42
DescribeReturnShippingLabel ... 47
GetJobManifest ... 49
GetJobUnlockCode ... 51
GetSnowballUsage ... 53
GetSoftwareUpdates ... 54
ListClusterJobs ... 56
ListClusters ... 59
ListCompatibleImages ... 61
ListJobs ... 63
ListLongTermPricing ... 65
UpdateCluster ... 67
UpdateJob ... 71
UpdateJobShipmentState ... 75
UpdateLongTermPricing ... 77
AWS Snow Device Management ... 78
CancelTask ... 79
CreateTask ... 81
DescribeDevice ... 84
DescribeDeviceEc2Instances ... 88
DescribeExecution ... 91
DescribeTask ... 94
ListDeviceResources ... 97
ListDevices ... 100
ListExecutions ... 103
ListTagsForResource ... 106
ListTasks ... 108
TagResource ... 111
UntagResource ... 113
Data Types ... 115
AWS Snowball ... 116
Address ... 117
ClusterListEntry ... 120
ClusterMetadata ... 121
CompatibleImage ... 124
DataTransfer ... 125
DeviceConfiguration ... 126
Ec2AmiResource ... 127
EventTriggerDefinition ... 128
INDTaxDocuments ... 129
JobListEntry ... 130
JobLogs ... 132
JobMetadata ... 134
JobResource ... 138
KeyRange ... 139
LambdaResource ... 140
LongTermPricingListEntry ... 141
NFSOnDeviceServiceConfiguration ... 143
Notification ... 144
OnDeviceServiceConfiguration ... 145
S3Resource ... 146
Shipment ... 147
ShippingDetails ... 148
SnowconeDeviceConfiguration ... 149
TargetOnDeviceService ... 150
TaxDocuments ... 151
TGWOnDeviceServiceConfiguration ... 152
WirelessConnection ... 153
AWS Snow Device Management ... 153
Capacity ... 154
Command ... 155
CpuOptions ... 156
DeviceSummary ... 157
EbsInstanceBlockDevice ... 158
ExecutionSummary ... 159
Instance ... 160
InstanceBlockDeviceMapping ... 162
InstanceState ... 163
InstanceSummary ... 164
PhysicalNetworkInterface ... 165
Reboot ... 167
ResourceSummary ... 168
SecurityGroupIdentifier ... 169
SoftwareInformation ... 170
TaskSummary ... 171
Unlock ... 172
Common Parameters ... 173
Common Errors ... 175
API Endpoint
Job Management API Reference
The job management API for AWS Snowball is a network protocol based on HTTP (RFC 2616). For more information on this RFC, see HTTP (RFC 2616) on the IETF website. For each call to the job management API, you make an HTTP request to the region-specific job management API endpoint for the AWS Region where you want to manage jobs. The API uses JSON (RFC 4627) documents for HTTP request/response bodies.
NoteAPI calls made within the US regions for listing jobs or describing addresses return all jobs or addresses within the US for that account.
The job management API for Snowball is an RPC model. In this model, there is a fixed set of operations and the syntax for each operation is known to clients without any previous interaction. Following, you can find a description of each API operation using an abstract RPC notation, with an operation name that does not appear on the wire. For each operation, the topic specifies the mapping to HTTP request elements.
The specific job management operation to which a given request maps is determined by a combination of the request's method (GET, PUT, POST, or DELETE) and which of the various patterns its Request-URI matches. If the operation is PUT or POST, Snowball extracts call arguments from the Request-URI path segment, query parameters, and the JSON object in the request body.
Although the operation name, such as CreateJob, doesn't appear on the wire, these operation names are meaningful in AWS Identity and Access Management (IAM) policies. The operation name is also used to name commands in command-line tools and elements of the AWS SDK APIs. For example, the AWS Command Line Interface (AWS CLI) command create-job maps to the CreateJob operation. The operation name also appears in CloudTrail logs for Snowball API calls.
For information on installing and setting up the AWS CLI, including specifying what regions you want to make AWS CLI calls against, see the AWS Command Line Interface User Guide.
NoteThe job management API provides programmatic access to the same functionality available in the AWS Snowball Management Console, that is to create and manage jobs for Snowball. To transfer data locally with a Snowball appliance, use the Snowball client or the S3 SDK Adapter for Snowball. For more information, see Transferring Data with a Snowball in the AWS Snowball User Guide.
If you use a Snowball Edge, use the Snowball client to unlock the appliance. For more information, see Using the Snowball Client in the AWS Snowball Developer Guide.
API Endpoint
The API endpoint is the Domain Name Service (DNS) name used as a host in the HTTP URI for the API calls. These API endpoints are region-specific and take the following form.
snowball.aws-region.amazonaws.com
For example, the Snowball API endpoint for the US West (Oregon) Region is the following.
snowball.us-west-2.amazonaws.com
For a list of AWS Regions that Snowball supports (where you can create and manage jobs), see AWS Import/Export in the AWS General Reference.
The region-specific API endpoint defines the scope of the Snowball resources that are accessible when you make an API call. For example, when you call the ListJobs operation using the preceding endpoint, you get a list of jobs in the US West (Oregon) Region that have been created in your account.
API Version
The version of the API being used for a call is identified by the first path segment of the request URI, and its form is an ISO 8601 date. The documentation describes API version 2016-06-30.
API Permission Policy Reference
The following policies are needed for creating jobs with the job management API for Snowball.
Role Trust Policy for Creating Jobs
Using the job management API to create jobs requires the following trust policy.
{
"Version": "2012-10-17", "Statement": [
{
"Sid": "",
"Effect": "Allow", "Principal": {
"Service": "importexport.amazonaws.com"
},
"Action": "sts:AssumeRole", "Condition": {
"StringEquals": {
"sts:ExternalId": "AWSIE"
} } } ]}
NoteTo learn more about trust policies, see Modifying a Role in the IAM User Guide.
Role Policy for Creating Import Jobs
Creating an import job requires the following role policy.
{
"Version": "2012-10-17", "Statement": [
{
"Effect": "Allow", "Action": [
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads"
],
"Resource": "arn:aws:s3:::*"
},
API Permission Policy Reference
{
"Effect": "Allow", "Action": [
"s3:GetBucketPolicy", "s3:PutObject",
"s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::*"
}, {
"Effect": "Allow", "Action": [
"snowball:*"
],
"Resource": [ "*"
] } ] }
Role Policy for Creating Export Jobs
Creating an export job requires the following role policy.
{ "Version": "2012-10-17", "Statement": [
{
"Effect": "Allow", "Action": [
"s3:GetBucketLocation", "s3:GetObject",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::*"
}, {
"Effect": "Allow", "Action": [
"snowball:*"
],
"Resource": [ "*"
] } ] }
Amazon S3 Bucket Policy Principal for Creating Jobs
In some cases, the Amazon S3 buckets that you use with Snowball have bucket policies in place that require listing the role session name of the assumed role. In these cases, you need to specify a principal in those policies that identifies AWSImportExport-Validation. The following Amazon S3 bucket policy example demonstrates how to do so.
Example
{ "Version": "2012-10-17",
"Statement": {
"Sid": "Allow AWS Snowball To Create Jobs", "Effect": "Deny",
"NotPrincipal": { "AWS": [
"arn:aws:iam::111122223333:role/rolename",
"arn:aws:sts::111122223333:assumed-role/rolename/AWSImportExport-Validation", "arn:aws:iam::111122223333:root"
]
}, "Action": "S3:*",
"Resource": ["arn:aws:s3:::examplebucket/*"]
}}
In this policy example, we deny access to all principals except the one named in the NotPrincipal element. For more information on how to use NotPrincipal, see NotPrincipal in the IAM User Guide.
NoteFor jobs in AWS GovCloud (US), Snowball uses AWSIEJob as the role session name of the assumed role.
Creating an IAM Role for Snowball and Snowball Edge
An IAM role policy must be created with read and write permissions for your Amazon S3 buckets. The IAM role must also have a trust relationship with Snowball. Having a trust relationship means that AWS can write the data in the Snowball and in your Amazon S3 buckets, depending on whether you're importing or exporting data.
When you create a job in the AWS Snow Family Management Console, creating the necessary IAM role occurs in step 4 in the Permission section. This process is automatic. The IAM role that you allow Snowball to assume is only used to write your data to your bucket when the Snowball with your transferred data arrives at AWS. The following procedure outlines that process.
To create the IAM role for your import job
1. Sign in to the AWS Management Console and open the AWS Snowball console at https://
console.aws.amazon.com/importexport/.
2. Choose Create job.
3. In the first step, fill out the details for your import job into Amazon S3, and then choose Next.
4. In the second step, under Permission, choose Create/Select IAM Role.
The IAM Management Console opens, showing the IAM role that AWS uses to copy objects into your specified Amazon S3 buckets.
5. Review the details on this page, and then choose Allow.
You return to the AWS Snow Family Management Console, where Selected IAM role ARN contains the Amazon Resource Name (ARN) for the IAM role that you just created.
6. Choose Next to finish creating your IAM role.
The preceding procedure creates an IAM role that has write permissions for the Amazon S3 buckets that you plan to import your data into. The IAM role that is created has one of the following structures, depending on whether it's for an import job or export job.
Creating an IAM Role for Snowball and Snowball Edge
IAM Role for an Import Job
{
"Version": "2012-10-17", "Statement": [
{
"Effect": "Allow", "Action": [
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads"
],
"Resource": "arn:aws:s3:::*"
}, {
"Effect": "Allow", "Action": [
"s3:GetBucketPolicy", "s3:PutObject",
"s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::*"
} ]}
If you use server-side encryption with AWS KMS–managed keys (SSE-KMS) to encrypt the Amazon S3 buckets associated with your import job, you also need to add the following statement to your IAM role.
{ "Effect": "Allow", "Action": [
"kms:GenerateDataKey"
],
"Resource": "arn:aws:s3:::SSEKMSEncryptedBucketName"
}
IAM Role for an Export Job {
"Version": "2012-10-17", "Statement": [
{
"Effect": "Allow", "Action": [
"s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:GetObject", "s3:ListBucket"
],
"Resource": "arn:aws:s3:::*"
} ] }
If you use server-side encryption with AWS KMS–managed keys to encrypt the Amazon S3 buckets associated with your export job, you also need to add the following statement to your IAM role.
{
"Effect": "Allow", "Action": [
“kms:Decrypt”
],
"Resource": "arn:aws:s3:::SSEKMSEncryptedBucketName"
}
Actions
The following actions are supported by AWS Snowball:
• CancelCluster (p. 9)
• CancelJob (p. 11)
• CreateAddress (p. 13)
• CreateCluster (p. 15)
• CreateJob (p. 21)
• CreateLongTermPricing (p. 29)
• CreateReturnShippingLabel (p. 31)
• DescribeAddress (p. 34)
• DescribeAddresses (p. 36)
• DescribeCluster (p. 39)
• DescribeJob (p. 42)
• DescribeReturnShippingLabel (p. 47)
• GetJobManifest (p. 49)
• GetJobUnlockCode (p. 51)
• GetSnowballUsage (p. 53)
• GetSoftwareUpdates (p. 54)
• ListClusterJobs (p. 56)
• ListClusters (p. 59)
• ListCompatibleImages (p. 61)
• ListJobs (p. 63)
• ListLongTermPricing (p. 65)
• UpdateCluster (p. 67)
• UpdateJob (p. 71)
• UpdateJobShipmentState (p. 75)
• UpdateLongTermPricing (p. 77)
The following actions are supported by AWS Snow Device Management:
• CancelTask (p. 79)
• CreateTask (p. 81)
• DescribeDevice (p. 84)
• DescribeDeviceEc2Instances (p. 88)
• DescribeExecution (p. 91)
• DescribeTask (p. 94)
• ListDeviceResources (p. 97)
• ListDevices (p. 100)
• ListExecutions (p. 103)
• ListTagsForResource (p. 106)
• ListTasks (p. 108)
• TagResource (p. 111)
• UntagResource (p. 113)
AWS Snowball
The following actions are supported by AWS Snowball:
• CancelCluster (p. 9)
• CancelJob (p. 11)
• CreateAddress (p. 13)
• CreateCluster (p. 15)
• CreateJob (p. 21)
• CreateLongTermPricing (p. 29)
• CreateReturnShippingLabel (p. 31)
• DescribeAddress (p. 34)
• DescribeAddresses (p. 36)
• DescribeCluster (p. 39)
• DescribeJob (p. 42)
• DescribeReturnShippingLabel (p. 47)
• GetJobManifest (p. 49)
• GetJobUnlockCode (p. 51)
• GetSnowballUsage (p. 53)
• GetSoftwareUpdates (p. 54)
• ListClusterJobs (p. 56)
• ListClusters (p. 59)
• ListCompatibleImages (p. 61)
• ListJobs (p. 63)
• ListLongTermPricing (p. 65)
• UpdateCluster (p. 67)
• UpdateJob (p. 71)
• UpdateJobShipmentState (p. 75)
• UpdateLongTermPricing (p. 77)
CancelCluster
CancelCluster
Service: AWS Snowball
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.
Request Syntax
{ "ClusterId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
ClusterId (p. 9)
The 39-character ID for the cluster that you want to cancel, for example CID123e4567- e89b-12d3-a456-426655440000.
Type: String
Length Constraints: Fixed length of 39.
Pattern: CID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: Yes
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 175).
InvalidJobStateException
The action can't be performed because the job's current state doesn't allow that action to be performed.
HTTP Status Code: 400 InvalidResourceException
The specified resource can't be found. Check the information you provided in your last request, and try again.
HTTP Status Code: 400 KMSRequestFailedException
The provided AWS Key Management Service key lacks the permissions to perform the specified CreateJob (p. 21) or UpdateJob (p. 71) action.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CancelJob
CancelJob
Service: AWS Snowball
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.
Request Syntax
{ "JobId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
JobId (p. 11)
The 39-character job ID for the job that you want to cancel, for example JID123e4567- e89b-12d3-a456-426655440000.
Type: String
Length Constraints: Fixed length of 39.
Pattern: (M|J)ID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: Yes
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 175).
InvalidJobStateException
The action can't be performed because the job's current state doesn't allow that action to be performed.
HTTP Status Code: 400 InvalidResourceException
The specified resource can't be found. Check the information you provided in your last request, and try again.
HTTP Status Code: 400 KMSRequestFailedException
The provided AWS Key Management Service key lacks the permissions to perform the specified CreateJob (p. 21) or UpdateJob (p. 71) action.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateAddress
CreateAddress
Service: AWS Snowball
Creates an address for a Snow device to be shipped to. 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.
Request Syntax
{ "Address": {
"AddressId": "string", "City": "string", "Company": "string", "Country": "string", "IsRestricted": boolean, "Landmark": "string", "Name": "string", "PhoneNumber": "string", "PostalCode": "string",
"PrefectureOrDistrict": "string", "StateOrProvince": "string", "Street1": "string",
"Street2": "string", "Street3": "string"
} }
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
Address (p. 13)
The address that you want the Snow device shipped to.
Type: Address (p. 117) object Required: Yes
Response Syntax
{ "AddressId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
AddressId (p. 13)
The automatically generated ID for a specific address. You'll use this ID when you create a job to specify which address you want the Snow device for that job shipped to.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 175).
InvalidAddressException
The address provided was invalid. Check the address with your region's carrier, and try again.
HTTP Status Code: 400 UnsupportedAddressException
The address is either outside the serviceable area for your region, or an error occurred. Check the address with your region's carrier and try again. If the issue persists, contact AWS Support.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateCluster
CreateCluster
Service: AWS Snowball
Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob (p. 21) action
separately to create the jobs for each of these nodes. The cluster does not ship until these five node jobs have been created.
Request Syntax
{ "AddressId": "string", "Description": "string",
"ForwardingAddressId": "string", "JobType": "string",
"KmsKeyARN": "string", "Notification": {
"JobStatesToNotify": [ "string" ], "NotifyAll": boolean,
"SnsTopicARN": "string"
},
"OnDeviceServiceConfiguration": { "NFSOnDeviceService": { "StorageLimit": number, "StorageUnit": "string"
},
"TGWOnDeviceService": { "StorageLimit": number, "StorageUnit": "string"
} },
"RemoteManagement": "string", "Resources": {
"Ec2AmiResources": [ {
"AmiId": "string",
"SnowballAmiId": "string"
} ],
"LambdaResources": [ {
"EventTriggers": [ {
"EventResourceARN": "string"
} ],
"LambdaArn": "string"
} ],
"S3Resources": [ {
"BucketArn": "string", "KeyRange": {
"BeginMarker": "string", "EndMarker": "string"
},
"TargetOnDeviceServices": [ {
"ServiceName": "string", "TransferOption": "string"
} ] } ]
},
"RoleARN": "string", "ShippingOption": "string", "SnowballType": "string", "TaxDocuments": { "IND": {
"GSTIN": "string"
} } }
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
AddressId (p. 15)
The ID for the address that you want the cluster shipped to.
Type: String
Length Constraints: Fixed length of 40.
Pattern: ADID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: Yes Description (p. 15)
An optional description of this specific cluster, for example Environmental Data Cluster-01.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: No
ForwardingAddressId (p. 15)
This field is not supported in your region.
Type: String
Length Constraints: Fixed length of 40.
Pattern: ADID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: No JobType (p. 15)
The type of job for this cluster. Currently, the only job type supported for clusters is LOCAL_USE.
For information about Snow Family device types, see Snow Family Devices and Capacity in the Snowcone User Guide or Snow Family Devices and Capacity in the Snowball Edge User Guide.
Type: String
Valid Values: IMPORT | EXPORT | LOCAL_USE
CreateCluster
Required: Yes KmsKeyARN (p. 15)
The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN values are created by using the CreateKey API action in AWS Key Management Service (AWS KMS).
Type: String
Length Constraints: Maximum length of 255.
Pattern: arn:aws.*:kms:.*:[0-9]{12}:key/.*
Required: No Notification (p. 15)
The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.
Type: Notification (p. 144) object Required: No
OnDeviceServiceConfiguration (p. 15)
Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. AWS Snow Family device clusters support Amazon S3 and NFS (Network File System).
Type: OnDeviceServiceConfiguration (p. 145) object Required: No
RemoteManagement (p. 15)
Allows you to securely operate and manage Snow devices in a cluster remotely from outside of your internal network. When set to INSTALLED_AUTOSTART, remote management will automatically be available when the device arrives at your location. Otherwise, you need to use the Snowball Client to manage the device.
Type: String
Valid Values: INSTALLED_ONLY | INSTALLED_AUTOSTART Required: No
Resources (p. 15)
The resources associated with the cluster job. These resources include Amazon S3 buckets and optional AWS Lambda functions written in the Python language.
Type: JobResource (p. 138) object Required: Yes
RoleARN (p. 15)
The RoleARN that you want to associate with this cluster. RoleArn values are created by using the CreateRole API action in AWS Identity and Access Management (IAM).
Type: String
Length Constraints: Maximum length of 255.
Pattern: arn:aws.*:iam::[0-9]{12}:role/.*
Required: Yes ShippingOption (p. 15)
The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge device, rather it represents how quickly each device moves to its destination while in transit. Regional shipping speeds are as follows:
• In Australia, you have access to express shipping. Typically, Snow devices shipped express are delivered in about a day.
• In the European Union (EU), you have access to express shipping. Typically, Snow devices shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.
• In India, Snow devices are delivered in one to seven days.
• In the United States of America (US), you have access to one-day shipping and two-day shipping.
• In Australia, you have access to express shipping. Typically, devices shipped express are delivered in about a day.
• In the European Union (EU), you have access to express shipping. Typically, Snow devices shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.
• In India, Snow devices are delivered in one to seven days.
• In the US, you have access to one-day shipping and two-day shipping.
Type: String
Valid Values: SECOND_DAY | NEXT_DAY | EXPRESS | STANDARD Required: Yes
SnowballType (p. 15)
The type of Snow Family devices to use for this cluster.
NoteFor cluster jobs, AWS Snow Family currently supports only the EDGE device type.
For information about Snow Family device types, see Snow Family Devices and Capacity in the Snowcone User Guide or Snow Family Devices and Capacity in the Snowball Edge User Guide.
Type: String
Valid Values: STANDARD | EDGE | EDGE_C | EDGE_CG | EDGE_S | SNC1_HDD | SNC1_SSD Required: Yes
TaxDocuments (p. 15)
The tax documents required in your AWS Region.
Type: TaxDocuments (p. 151) object Required: No
Response Syntax
{ "ClusterId": "string"
}
CreateCluster
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
ClusterId (p. 18)
The automatically generated ID for a cluster.
Type: String
Length Constraints: Fixed length of 39.
Pattern: CID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Errors
For information about the errors that are common to all actions, see Common Errors (p. 175).
Ec2RequestFailedException
Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted action.
HTTP Status Code: 400
InvalidInputCombinationException
Job or cluster creation failed. One or more inputs were invalid. Confirm that the
CreateCluster:SnowballType (p. 18) value supports your CreateJob:JobType (p. 24), and try again.
HTTP Status Code: 400 InvalidResourceException
The specified resource can't be found. Check the information you provided in your last request, and try again.
HTTP Status Code: 400 KMSRequestFailedException
The provided AWS Key Management Service key lacks the permissions to perform the specified CreateJob (p. 21) or UpdateJob (p. 71) action.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateJob
CreateJob
Service: AWS Snowball
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.
NoteOnly 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.
Snow Family devices 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
NoteThis device is only available in the Ningxia, Beijing, and Singapore AWS Region
• Device type: STANDARD
• Capacity: T80
• Description: Original Snowball device
NoteThis device is only available in the Ningxia, Beijing, and Singapore AWS Region.
Request Syntax
{ "AddressId": "string", "ClusterId": "string", "Description": "string", "DeviceConfiguration": {
"SnowconeDeviceConfiguration": { "WirelessConnection": { "IsWifiEnabled": boolean }
} },
"ForwardingAddressId": "string", "JobType": "string",
"KmsKeyARN": "string",
"LongTermPricingId": "string", "Notification": {
"JobStatesToNotify": [ "string" ], "NotifyAll": boolean,
"SnsTopicARN": "string"
},
"OnDeviceServiceConfiguration": { "NFSOnDeviceService": { "StorageLimit": number, "StorageUnit": "string"
},
"TGWOnDeviceService": { "StorageLimit": number, "StorageUnit": "string"
} },
"RemoteManagement": "string", "Resources": {
"Ec2AmiResources": [ {
"AmiId": "string",
"SnowballAmiId": "string"
} ],
"LambdaResources": [ {
"EventTriggers": [ {
"EventResourceARN": "string"
} ],
"LambdaArn": "string"
} ],
"S3Resources": [ {
"BucketArn": "string", "KeyRange": {
"BeginMarker": "string", "EndMarker": "string"
},
"TargetOnDeviceServices": [ {
"ServiceName": "string", "TransferOption": "string"
CreateJob
} ] } ] },
"RoleARN": "string", "ShippingOption": "string",
"SnowballCapacityPreference": "string", "SnowballType": "string",
"TaxDocuments": { "IND": {
"GSTIN": "string"
} } }
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
AddressId (p. 22)
The ID for the address that you want the Snow device shipped to.
Type: String
Length Constraints: Fixed length of 40.
Pattern: ADID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: No ClusterId (p. 22)
The ID of a cluster. If you're creating a job for a node in a cluster, you need to provide only this clusterId value. The other job attributes are inherited from the cluster.
Type: String
Length Constraints: Fixed length of 39.
Pattern: CID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: No Description (p. 22)
Defines an optional description of this specific job, for example Important Photos 2016-08-11.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: No
DeviceConfiguration (p. 22)
Defines the device configuration for an AWS Snowcone job.
For information about Snow Family device types, see Snow Family Devices and Capacity in the Snowcone User Guide or Snow Family Devices and Capacity in the Snowball Edge User Guide.
Type: DeviceConfiguration (p. 126) object Required: No
ForwardingAddressId (p. 22)
This field is not supported in your Region.
Type: String
Length Constraints: Fixed length of 40.
Pattern: ADID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: No JobType (p. 22)
Defines the type of job that you're creating.
Type: String
Valid Values: IMPORT | EXPORT | LOCAL_USE Required: No
KmsKeyARN (p. 22)
The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created using the CreateKey AWS Key Management Service (KMS) API action.
Type: String
Length Constraints: Maximum length of 255.
Pattern: arn:aws.*:kms:.*:[0-9]{12}:key/.*
Required: No
LongTermPricingId (p. 22)
The ID of the long-term pricing type for the device.
Type: String
Length Constraints: Fixed length of 41.
Pattern: LTPID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: No Notification (p. 22)
Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for this job.
Type: Notification (p. 144) object Required: No
OnDeviceServiceConfiguration (p. 22)
Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. AWS Snow Family supports Amazon S3 and NFS (Network File System) and the AWS Storage Gateway service Tape Gateway type.
Type: OnDeviceServiceConfiguration (p. 145) object
CreateJob
Required: No
RemoteManagement (p. 22)
Allows you to securely operate and manage Snowcone devices remotely from outside of your internal network. When set to INSTALLED_AUTOSTART, remote management will automatically be available when the device arrives at your location. Otherwise, you need to use the Snowball Client to manage the device.
Type: String
Valid Values: INSTALLED_ONLY | INSTALLED_AUTOSTART Required: No
Resources (p. 22)
Defines the Amazon S3 buckets associated with this job.
With IMPORT jobs, you specify the bucket or buckets that your transferred data will be imported into.
With EXPORT jobs, you specify the bucket or buckets that your transferred data will be exported from. Optionally, you can also specify a KeyRange value. If you choose to export a range, you define the length of the range by providing either an inclusive BeginMarker value, an inclusive EndMarker value, or both. Ranges are UTF-8 binary sorted.
Type: JobResource (p. 138) object Required: No
RoleARN (p. 22)
The RoleARN that you want to associate with this job. RoleArns are created using the CreateRole AWS Identity and Access Management (IAM) API action.
Type: String
Length Constraints: Maximum length of 255.
Pattern: arn:aws.*:iam::[0-9]{12}:role/.*
Required: No ShippingOption (p. 22)
The shipping speed for this job. This speed doesn't dictate how soon you'll get the Snow device, rather it represents how quickly the Snow device moves to its destination while in transit. Regional shipping speeds are as follows:
• In Australia, you have access to express shipping. Typically, Snow devices shipped express are delivered in about a day.
• In the European Union (EU), you have access to express shipping. Typically, Snow devices shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.
• In India, Snow devices are delivered in one to seven days.
• In the US, you have access to one-day shipping and two-day shipping.
Type: String
Valid Values: SECOND_DAY | NEXT_DAY | EXPRESS | STANDARD Required: No
SnowballCapacityPreference (p. 22)
If your job is being created in one of the US regions, you have the option of specifying what size Snow device you'd like for this job. In all other regions, Snowballs come with 80 TB in storage capacity.
For information about Snow Family device types, see Snow Family Devices and Capacity in the Snowcone User Guide or Snow Family Devices and Capacity in the Snowball Edge User Guide.
Type: String
Valid Values: T50 | T80 | T100 | T42 | T98 | T8 | T14 | NoPreference Required: No
SnowballType (p. 22)
The type of Snow Family devices to use for this job.
NoteFor cluster jobs, AWS Snow Family currently supports only the EDGE device type.
The type of AWS Snow device to use for this job. Currently, the only supported device type for cluster jobs is EDGE.
For more information, see Snowball Edge Device Options in the Snowball Edge Developer Guide.
For information about Snow Family device types, see Snow Family Devices and Capacity in the Snowcone User Guide or Snow Family Devices and Capacity in the Snowball Edge User Guide.
Type: String
Valid Values: STANDARD | EDGE | EDGE_C | EDGE_CG | EDGE_S | SNC1_HDD | SNC1_SSD Required: No
TaxDocuments (p. 22)
The tax documents required in your AWS Region.
Type: TaxDocuments (p. 151) object Required: No
Response Syntax
{ "JobId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
JobId (p. 26)
The automatically generated ID for a job, for example JID123e4567-e89b-12d3- a456-426655440000.
CreateJob
Type: String
Length Constraints: Fixed length of 39.
Pattern: (M|J)ID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Errors
For information about the errors that are common to all actions, see Common Errors (p. 175).
ClusterLimitExceededException
Job creation failed. Currently, clusters support five nodes. If you have fewer than five nodes for your cluster and you have more nodes to create for this cluster, try again and create jobs until your cluster has exactly five nodes.
HTTP Status Code: 400 Ec2RequestFailedException
Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted action.
HTTP Status Code: 400
InvalidInputCombinationException
Job or cluster creation failed. One or more inputs were invalid. Confirm that the
CreateCluster:SnowballType (p. 18) value supports your CreateJob:JobType (p. 24), and try again.
HTTP Status Code: 400 InvalidResourceException
The specified resource can't be found. Check the information you provided in your last request, and try again.
HTTP Status Code: 400 KMSRequestFailedException
The provided AWS Key Management Service key lacks the permissions to perform the specified CreateJob (p. 21) or UpdateJob (p. 71) action.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateLongTermPricing
CreateLongTermPricing
Service: AWS Snowball
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.
Request Syntax
{ "IsLongTermPricingAutoRenew": boolean, "LongTermPricingType": "string", "SnowballType": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
IsLongTermPricingAutoRenew (p. 29)
Specifies whether the current long-term pricing type for the device should be renewed.
Type: Boolean Required: No
LongTermPricingType (p. 29)
The type of long-term pricing option you want for the device, either 1-year or 3-year long-term pricing.
Type: String
Valid Values: OneYear | ThreeYear Required: Yes
SnowballType (p. 29)
The type of Snow Family devices to use for the long-term pricing job.
Type: String
Valid Values: STANDARD | EDGE | EDGE_C | EDGE_CG | EDGE_S | SNC1_HDD | SNC1_SSD Required: No
Response Syntax
{ "LongTermPricingId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
LongTermPricingId (p. 29)
The ID of the long-term pricing type for the device.
Type: String
Length Constraints: Fixed length of 41.
Pattern: LTPID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Errors
For information about the errors that are common to all actions, see Common Errors (p. 175).
InvalidResourceException
The specified resource can't be found. Check the information you provided in your last request, and try again.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreateReturnShippingLabel
CreateReturnShippingLabel
Service: AWS Snowball
Creates a shipping label that will be used to return the Snow device to AWS.
Request Syntax
{ "JobId": "string",
"ShippingOption": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
JobId (p. 31)
The ID for a job that you want to create the return shipping label for; for example, JID123e4567- e89b-12d3-a456-426655440000.
Type: String
Length Constraints: Fixed length of 39.
Pattern: (M|J)ID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: Yes ShippingOption (p. 31)
The shipping speed for a particular job. This speed doesn't dictate how soon the device is returned to AWS. This speed represents how quickly it moves to its destination while in transit. Regional shipping speeds are as follows:
Type: String
Valid Values: SECOND_DAY | NEXT_DAY | EXPRESS | STANDARD Required: No
Response Syntax
{
"Status": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Status (p. 31)
The status information of the task on a Snow device that is being returned to AWS.
Type: String
Valid Values: InProgress | TimedOut | Succeeded | Failed
Errors
For information about the errors that are common to all actions, see Common Errors (p. 175).
ConflictException
You get this exception when you call CreateReturnShippingLabel more than once when other requests are not completed.
HTTP Status Code: 400
InvalidInputCombinationException
Job or cluster creation failed. One or more inputs were invalid. Confirm that the
CreateCluster:SnowballType (p. 18) value supports your CreateJob:JobType (p. 24), and try again.
HTTP Status Code: 400 InvalidJobStateException
The action can't be performed because the job's current state doesn't allow that action to be performed.
HTTP Status Code: 400 InvalidResourceException
The specified resource can't be found. Check the information you provided in your last request, and try again.
HTTP Status Code: 400
ReturnShippingLabelAlreadyExistsException
You get this exception if you call CreateReturnShippingLabel and a valid return shipping label already exists. In this case, use DescribeReturnShippingLabel to get the URL.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
CreateReturnShippingLabel
• AWS SDK for Ruby V3
DescribeAddress
Service: AWS Snowball
Takes an AddressId and returns specific details about that address in the form of an Address object.
Request Syntax
{ "AddressId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
AddressId (p. 34)
The automatically generated ID for a specific address.
Type: String
Length Constraints: Fixed length of 40.
Pattern: ADID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: Yes
Response Syntax
{
"Address": {
"AddressId": "string", "City": "string", "Company": "string", "Country": "string", "IsRestricted": boolean, "Landmark": "string", "Name": "string", "PhoneNumber": "string", "PostalCode": "string",
"PrefectureOrDistrict": "string", "StateOrProvince": "string", "Street1": "string",
"Street2": "string", "Street3": "string"
}}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
DescribeAddress
Address (p. 34)
The address that you want the Snow device(s) associated with a specific job to be shipped to.
Type: Address (p. 117) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 175).
InvalidResourceException
The specified resource can't be found. Check the information you provided in your last request, and try again.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
DescribeAddresses
Service: AWS Snowball
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.
Request Syntax
{ "MaxResults": number, "NextToken": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
MaxResults (p. 36)
The number of ADDRESS objects to return.
Type: Integer
Valid Range: Minimum value of 0. Maximum value of 100.
Required: No NextToken (p. 36)
HTTP requests are stateless. To identify what object comes "next" in the list of ADDRESS objects, you have the option of specifying a value for NextToken as the starting point for your list of returned addresses.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: No
Response Syntax
{ "Addresses": [ {
"AddressId": "string", "City": "string", "Company": "string", "Country": "string", "IsRestricted": boolean, "Landmark": "string", "Name": "string", "PhoneNumber": "string", "PostalCode": "string",
"PrefectureOrDistrict": "string", "StateOrProvince": "string",
DescribeAddresses
"Street1": "string", "Street2": "string", "Street3": "string"
} ],
"NextToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
Addresses (p. 36)
The Snow device shipping addresses that were created for this account.
Type: Array of Address (p. 117) objects NextToken (p. 36)
HTTP requests are stateless. If you use the automatically generated NextToken value in your next DescribeAddresses call, your list of returned addresses will start from this point in the array.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 175).
InvalidNextTokenException
The NextToken string was altered unexpectedly, and the operation has stopped. Run the operation without changing the NextToken string, and try again.
HTTP Status Code: 400 InvalidResourceException
The specified resource can't be found. Check the information you provided in your last request, and try again.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
DescribeCluster
DescribeCluster
Service: AWS Snowball
Returns information about a specific cluster including shipping information, cluster status, and other important metadata.
Request Syntax
{ "ClusterId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
ClusterId (p. 39)
The automatically generated ID for a cluster.
Type: String
Length Constraints: Fixed length of 39.
Pattern: CID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: Yes
Response Syntax
{ "ClusterMetadata": { "AddressId": "string", "ClusterId": "string", "ClusterState": "string", "CreationDate": number, "Description": "string",
"ForwardingAddressId": "string", "JobType": "string",
"KmsKeyARN": "string", "Notification": {
"JobStatesToNotify": [ "string" ], "NotifyAll": boolean,
"SnsTopicARN": "string"
},
"OnDeviceServiceConfiguration": { "NFSOnDeviceService": {
"StorageLimit": number, "StorageUnit": "string"
},
"TGWOnDeviceService": { "StorageLimit": number, "StorageUnit": "string"
}
},
"Resources": {
"Ec2AmiResources": [ {
"AmiId": "string", "SnowballAmiId": "string"
} ],
"LambdaResources": [ {
"EventTriggers": [ {
"EventResourceARN": "string"
} ],
"LambdaArn": "string"
} ],
"S3Resources": [ {
"BucketArn": "string", "KeyRange": {
"BeginMarker": "string", "EndMarker": "string"
},
"TargetOnDeviceServices": [ {
"ServiceName": "string", "TransferOption": "string"
} ] } ] },
"RoleARN": "string", "ShippingOption": "string", "SnowballType": "string", "TaxDocuments": { "IND": {
"GSTIN": "string"
} } }}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
ClusterMetadata (p. 39)
Information about a specific cluster, including shipping information, cluster status, and other important metadata.
Type: ClusterMetadata (p. 121) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 175).
DescribeCluster
InvalidResourceException
The specified resource can't be found. Check the information you provided in your last request, and try again.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
DescribeJob
Service: AWS Snowball
Returns information about a specific job including shipping information, job status, and other important metadata.
Request Syntax
{ "JobId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 173).
The request accepts the following data in JSON format.
JobId (p. 42)
The automatically generated ID for a job, for example JID123e4567-e89b-12d3- a456-426655440000.
Type: String
Length Constraints: Fixed length of 39.
Pattern: (M|J)ID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: Yes
Response Syntax
{ "JobMetadata": {
"AddressId": "string", "ClusterId": "string", "CreationDate": number, "DataTransferProgress": { "BytesTransferred": number, "ObjectsTransferred": number, "TotalBytes": number,
"TotalObjects": number },
"Description": "string", "DeviceConfiguration": {
"SnowconeDeviceConfiguration": { "WirelessConnection": { "IsWifiEnabled": boolean }
} },
"ForwardingAddressId": "string", "JobId": "string",
"JobLogInfo": {
"JobCompletionReportURI": "string", "JobFailureLogURI": "string",
DescribeJob
"JobSuccessLogURI": "string"
},
"JobState": "string", "JobType": "string", "KmsKeyARN": "string",
"LongTermPricingId": "string", "Notification": {
"JobStatesToNotify": [ "string" ], "NotifyAll": boolean,
"SnsTopicARN": "string"
},
"OnDeviceServiceConfiguration": { "NFSOnDeviceService": {
"StorageLimit": number, "StorageUnit": "string"
},
"TGWOnDeviceService": { "StorageLimit": number, "StorageUnit": "string"
} },
"RemoteManagement": "string", "Resources": {
"Ec2AmiResources": [ {
"AmiId": "string", "SnowballAmiId": "string"
} ],
"LambdaResources": [ {
"EventTriggers": [ {
"EventResourceARN": "string"
} ],
"LambdaArn": "string"
} ],
"S3Resources": [ {
"BucketArn": "string", "KeyRange": {
"BeginMarker": "string", "EndMarker": "string"
},
"TargetOnDeviceServices": [ {
"ServiceName": "string", "TransferOption": "string"
} ] } ] },
"RoleARN": "string", "ShippingDetails": { "InboundShipment": { "Status": "string", "TrackingNumber": "string"
},
"OutboundShipment": { "Status": "string", "TrackingNumber": "string"
},
"ShippingOption": "string"
},
"SnowballCapacityPreference": "string", "SnowballType": "string",
"TaxDocuments": { "IND": {
"GSTIN": "string"
} } },
"SubJobMetadata": [ {
"AddressId": "string", "ClusterId": "string", "CreationDate": number, "DataTransferProgress": { "BytesTransferred": number, "ObjectsTransferred": number, "TotalBytes": number,
"TotalObjects": number },
"Description": "string", "DeviceConfiguration": {
"SnowconeDeviceConfiguration": { "WirelessConnection": { "IsWifiEnabled": boolean }
} },
"ForwardingAddressId": "string", "JobId": "string",
"JobLogInfo": {
"JobCompletionReportURI": "string", "JobFailureLogURI": "string", "JobSuccessLogURI": "string"
},
"JobState": "string", "JobType": "string", "KmsKeyARN": "string",
"LongTermPricingId": "string", "Notification": {
"JobStatesToNotify": [ "string" ], "NotifyAll": boolean,
"SnsTopicARN": "string"
},
"OnDeviceServiceConfiguration": { "NFSOnDeviceService": { "StorageLimit": number, "StorageUnit": "string"
},
"TGWOnDeviceService": { "StorageLimit": number, "StorageUnit": "string"
} },
"RemoteManagement": "string", "Resources": {
"Ec2AmiResources": [ {
"AmiId": "string", "SnowballAmiId": "string"
} ],
"LambdaResources": [ {
"EventTriggers": [ {
DescribeJob
"EventResourceARN": "string"
} ],
"LambdaArn": "string"
} ],
"S3Resources": [ {
"BucketArn": "string", "KeyRange": {
"BeginMarker": "string", "EndMarker": "string"
},
"TargetOnDeviceServices": [ {
"ServiceName": "string", "TransferOption": "string"
} ] } ] },
"RoleARN": "string", "ShippingDetails": { "InboundShipment": { "Status": "string",
"TrackingNumber": "string"
},
"OutboundShipment": { "Status": "string",
"TrackingNumber": "string"
},
"ShippingOption": "string"
},
"SnowballCapacityPreference": "string", "SnowballType": "string",
"TaxDocuments": { "IND": {
"GSTIN": "string"
} } } ]}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
JobMetadata (p. 42)
Information about a specific job, including shipping information, job status, and other important metadata.
Type: JobMetadata (p. 134) object SubJobMetadata (p. 42)
Information about a specific job part (in the case of an export job), including shipping information, job status, and other important metadata.
Type: Array of JobMetadata (p. 134) objects