createJob method
- String? addressId,
- String? clusterId,
- String? description,
- DeviceConfiguration? deviceConfiguration,
- String? forwardingAddressId,
- ImpactLevel? impactLevel,
- JobType? jobType,
- String? kmsKeyARN,
- String? longTermPricingId,
- Notification? notification,
- OnDeviceServiceConfiguration? onDeviceServiceConfiguration,
- PickupDetails? pickupDetails,
- RemoteManagement? remoteManagement,
- JobResource? resources,
- String? roleARN,
- ShippingOption? shippingOption,
- SnowballCapacity? snowballCapacityPreference,
- SnowballType? snowballType,
- TaxDocuments? taxDocuments,
Creates a job to import or export data between Amazon S3 and your
on-premises data center. Your Amazon Web Services 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.
The device capacity is optional.
Availability of device types differ by Amazon Web Services Region. For more information about Region availability, see Amazon Web Services Regional Services.
Snow Family devices and their capacities.
-
Device type: SNC1_SSD
- Capacity: T14
- Description: Snowcone
-
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
-
Device type: STANDARD
- Capacity: T80
- Description: Original Snowball device
-
Snow Family device type: RACK_5U_C
- Capacity: T13
- Description: Snowblade.
-
Device type: V3_5S
- Capacity: T240
- Description: Snowball Edge Storage Optimized 210TB
May throw ClusterLimitExceededException.
May throw Ec2RequestFailedException.
May throw InvalidInputCombinationException.
May throw InvalidResourceException.
May throw KMSRequestFailedException.
Parameter addressId :
The ID for the address that you want the Snow device shipped to.
Parameter clusterId :
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.
Parameter description :
Defines an optional description of this specific job, for example
Important Photos 2016-08-11.
Parameter deviceConfiguration :
Defines the device configuration for an Snowball Edge job.
For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the Snowcone User Guide.
Parameter forwardingAddressId :
The forwarding address ID for a job. This field is not supported in most
Regions.
Parameter impactLevel :
The highest impact level of data that will be stored or processed on the
device, provided at job creation.
Parameter jobType :
Defines the type of job that you're creating.
Parameter kmsKeyARN :
The KmsKeyARN that you want to associate with this job.
KmsKeyARNs are created using the CreateKey
Key Management Service (KMS) API action.
Parameter longTermPricingId :
The ID of the long-term pricing type for the device.
Parameter notification :
Defines the Amazon Simple Notification Service (Amazon SNS) notification
settings for this job.
Parameter onDeviceServiceConfiguration :
Specifies the service or services on the Snow Family device that your
transferred data will be exported from or imported into. Amazon Web
Services Snow Family supports Amazon S3 and NFS (Network File System) and
the Amazon Web Services Storage Gateway service Tape Gateway type.
Parameter pickupDetails :
Information identifying the person picking up the device.
Parameter remoteManagement :
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 Edge client to manage the device. When set to
NOT_INSTALLED, remote management will not be available on the
device.
Parameter resources :
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.
Parameter roleARN :
The RoleARN that you want to associate with this job.
RoleArns are created using the CreateRole
Identity and Access Management (IAM) API action.
Parameter shippingOption :
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.
Parameter snowballCapacityPreference :
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 more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the Snowcone User Guide.
Parameter snowballType :
The type of Snow Family devices to use for this job.
The type of Amazon Web Services 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 more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the Snowcone User Guide.
Parameter taxDocuments :
The tax documents required in your Amazon Web Services Region.
Implementation
Future<CreateJobResult> createJob({
String? addressId,
String? clusterId,
String? description,
DeviceConfiguration? deviceConfiguration,
String? forwardingAddressId,
ImpactLevel? impactLevel,
JobType? jobType,
String? kmsKeyARN,
String? longTermPricingId,
Notification? notification,
OnDeviceServiceConfiguration? onDeviceServiceConfiguration,
PickupDetails? pickupDetails,
RemoteManagement? remoteManagement,
JobResource? resources,
String? roleARN,
ShippingOption? shippingOption,
SnowballCapacity? snowballCapacityPreference,
SnowballType? snowballType,
TaxDocuments? taxDocuments,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSIESnowballJobManagementService.CreateJob'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
if (addressId != null) 'AddressId': addressId,
if (clusterId != null) 'ClusterId': clusterId,
if (description != null) 'Description': description,
if (deviceConfiguration != null)
'DeviceConfiguration': deviceConfiguration,
if (forwardingAddressId != null)
'ForwardingAddressId': forwardingAddressId,
if (impactLevel != null) 'ImpactLevel': impactLevel.value,
if (jobType != null) 'JobType': jobType.value,
if (kmsKeyARN != null) 'KmsKeyARN': kmsKeyARN,
if (longTermPricingId != null) 'LongTermPricingId': longTermPricingId,
if (notification != null) 'Notification': notification,
if (onDeviceServiceConfiguration != null)
'OnDeviceServiceConfiguration': onDeviceServiceConfiguration,
if (pickupDetails != null) 'PickupDetails': pickupDetails,
if (remoteManagement != null)
'RemoteManagement': remoteManagement.value,
if (resources != null) 'Resources': resources,
if (roleARN != null) 'RoleARN': roleARN,
if (shippingOption != null) 'ShippingOption': shippingOption.value,
if (snowballCapacityPreference != null)
'SnowballCapacityPreference': snowballCapacityPreference.value,
if (snowballType != null) 'SnowballType': snowballType.value,
if (taxDocuments != null) 'TaxDocuments': taxDocuments,
},
);
return CreateJobResult.fromJson(jsonResponse.body);
}