Skip to content

create_job

create_job(
    *,
    config_overrides: Optional[SnowballClientConfig] = None,
    job_type: Optional[JobType] = None,
    resources: Optional[JobResource] = None,
    on_device_service_configuration: Optional[OnDeviceServiceConfiguration] = None,
    description: Optional[String] = None,
    address_id: Optional[AddressId] = None,
    kms_key_arn: Optional[KmsKeyARN] = None,
    role_arn: Optional[RoleARN] = None,
    snowball_capacity_preference: Optional[SnowballCapacity] = None,
    shipping_option: Optional[ShippingOption] = None,
    notification: Optional[Notification] = None,
    cluster_id: Optional[ClusterId] = None,
    snowball_type: Optional[SnowballType] = None,
    forwarding_address_id: Optional[AddressId] = None,
    tax_documents: Optional[TaxDocuments] = None,
    device_configuration: Optional[DeviceConfiguration] = None,
    remote_management: Optional[RemoteManagement] = None,
    long_term_pricing_id: Optional[LongTermPricingId] = None,
    impact_level: Optional[ImpactLevel] = None,
    pickup_details: Optional[PickupDetails] = None,
) -> CreateJobResult

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.

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

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

    This device is replaced with T98.

  • Device type: STANDARD

    • Capacity: T50

    • Description: Original Snowball device

      This device is only available in the Ningxia, Beijing, and Singapore Amazon Web Services Region

  • Device type: STANDARD

    • Capacity: T80

    • Description: Original Snowball device

      This device is only available in the Ningxia, Beijing, and Singapore Amazon Web Services Region.

  • Snow Family device type: RACK_5U_C

    • Capacity: T13

    • Description: Snowblade.

  • Device type: V3_5S

    • Capacity: T240

    • Description: Snowball Edge Storage Optimized 210TB

Parameters:

  • job_type (Optional[JobType], default: None ) –

    Defines the type of job that you're creating.

  • resources (Optional[JobResource], default: None ) –

    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.

  • on_device_service_configuration (Optional[OnDeviceServiceConfiguration], default: None ) –

    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.

  • description (Optional[String], default: None ) –

    Defines an optional description of this specific job, for example Important Photos 2016-08-11.

  • address_id (Optional[AddressId], default: None ) –

    The ID for the address that you want the Snow device shipped to.

  • kms_key_arn (Optional[KmsKeyARN], default: None ) –

    The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created using the CreateKey Key Management Service (KMS) API action.

  • role_arn (Optional[RoleARN], default: None ) –

    The RoleARN that you want to associate with this job. RoleArns are created using the CreateRole Identity and Access Management (IAM) API action.

  • snowball_capacity_preference (Optional[SnowballCapacity], default: None ) –

    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.

  • shipping_option (Optional[ShippingOption], default: None ) –

    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.

  • notification (Optional[Notification], default: None ) –

    Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for this job.

  • cluster_id (Optional[ClusterId], default: None ) –

    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.

  • snowball_type (Optional[SnowballType], default: None ) –

    The type of Snow Family devices to use for this job.

    For cluster jobs, Amazon Web Services Snow Family currently supports only the EDGE device type.

    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.

  • forwarding_address_id (Optional[AddressId], default: None ) –

    The forwarding address ID for a job. This field is not supported in most Regions.

  • tax_documents (Optional[TaxDocuments], default: None ) –

    The tax documents required in your Amazon Web Services Region.

  • device_configuration (Optional[DeviceConfiguration], default: None ) –

    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.

  • remote_management (Optional[RemoteManagement], default: None ) –

    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.

  • long_term_pricing_id (Optional[LongTermPricingId], default: None ) –

    The ID of the long-term pricing type for the device.

  • impact_level (Optional[ImpactLevel], default: None ) –

    The highest impact level of data that will be stored or processed on the device, provided at job creation.

  • pickup_details (Optional[PickupDetails], default: None ) –

    Information identifying the person picking up the device.

Raises:

Examples:

To create a job 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 Snowball. 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.

>>> client.create_job(job_type='IMPORT', resources={'S3Resources': [{'BucketArn': 'arn:aws:s3:::MyBucket', 'KeyRange': {}}]}, description='My Job', address_id='ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b', kms_key_arn='arn:aws:kms:us-east-1:123456789012:key/abcd1234-12ab-34cd-56ef-123456123456', role_arn='arn:aws:iam::123456789012:role/snowball-import-S3-role', snowball_capacity_preference='T80', shipping_option='SECOND_DAY', notification={'NotifyAll': False, 'JobStatesToNotify': []}, snowball_type='STANDARD')
Source code in docs_src/capo_snowball/_services/snowball.py
def create_job(
    self,
    *,
    config_overrides: Optional[SnowballClientConfig] = None,
    job_type: Optional["capo_snowball.types.job_type.JobType"] = None,
    resources: Optional["capo_snowball.types.job_resource.JobResource"] = None,
    on_device_service_configuration: Optional[
        "capo_snowball.types.on_device_service_configuration.OnDeviceServiceConfiguration"
    ] = None,
    description: Optional["capo_snowball.types.string.String"] = None,
    address_id: Optional["capo_snowball.types.address_id.AddressId"] = None,
    kms_key_arn: Optional["capo_snowball.types.kms_key_arn.KmsKeyARN"] = None,
    role_arn: Optional["capo_snowball.types.role_arn.RoleARN"] = None,
    snowball_capacity_preference: Optional[
        "capo_snowball.types.snowball_capacity.SnowballCapacity"
    ] = None,
    shipping_option: Optional[
        "capo_snowball.types.shipping_option.ShippingOption"
    ] = None,
    notification: Optional["capo_snowball.types.notification.Notification"] = None,
    cluster_id: Optional["capo_snowball.types.cluster_id.ClusterId"] = None,
    snowball_type: Optional[
        "capo_snowball.types.snowball_type.SnowballType"
    ] = None,
    forwarding_address_id: Optional[
        "capo_snowball.types.address_id.AddressId"
    ] = None,
    tax_documents: Optional[
        "capo_snowball.types.tax_documents.TaxDocuments"
    ] = None,
    device_configuration: Optional[
        "capo_snowball.types.device_configuration.DeviceConfiguration"
    ] = None,
    remote_management: Optional[
        "capo_snowball.types.remote_management.RemoteManagement"
    ] = None,
    long_term_pricing_id: Optional[
        "capo_snowball.types.long_term_pricing_id.LongTermPricingId"
    ] = None,
    impact_level: Optional["capo_snowball.types.impact_level.ImpactLevel"] = None,
    pickup_details: Optional[
        "capo_snowball.types.pickup_details.PickupDetails"
    ] = None,
) -> "capo_snowball.types.create_job_result.CreateJobResult":
    """<p>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 <code>clusterId</code> value; the other job attributes are inherited from the cluster. </p> <note> <p>Only the Snowball; Edge device type is supported when ordering clustered jobs.</p> <p>The device capacity is optional.</p> <p>Availability of device types differ by Amazon Web Services Region. For more information about Region availability, see <a href="https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/?p=ngi&loc=4">Amazon Web Services Regional Services</a>.</p> </note> <p></p> <p class="title"> <b>Snow Family devices and their capacities.</b> </p> <ul> <li> <p>Device type: <b>SNC1_SSD</b> </p> <ul> <li> <p>Capacity: T14</p> </li> <li> <p>Description: Snowcone </p> </li> </ul> <p></p> </li> <li> <p>Device type: <b>SNC1_HDD</b> </p> <ul> <li> <p>Capacity: T8</p> </li> <li> <p>Description: Snowcone </p> </li> </ul> <p></p> </li> <li> <p>Device type: <b>EDGE_S</b> </p> <ul> <li> <p>Capacity: T98</p> </li> <li> <p>Description: Snowball Edge Storage Optimized for data transfer only </p> </li> </ul> <p></p> </li> <li> <p>Device type: <b>EDGE_CG</b> </p> <ul> <li> <p>Capacity: T42</p> </li> <li> <p>Description: Snowball Edge Compute Optimized with GPU</p> </li> </ul> <p></p> </li> <li> <p>Device type: <b>EDGE_C</b> </p> <ul> <li> <p>Capacity: T42</p> </li> <li> <p>Description: Snowball Edge Compute Optimized without GPU</p> </li> </ul> <p></p> </li> <li> <p>Device type: <b>EDGE</b> </p> <ul> <li> <p>Capacity: T100</p> </li> <li> <p>Description: Snowball Edge Storage Optimized with EC2 Compute</p> </li> </ul> <note> <p>This device is replaced with T98.</p> </note> <p></p> </li> <li> <p>Device type: <b>STANDARD</b> </p> <ul> <li> <p>Capacity: T50</p> </li> <li> <p>Description: Original Snowball device</p> <note> <p>This device is only available in the Ningxia, Beijing, and Singapore Amazon Web Services Region </p> </note> </li> </ul> <p></p> </li> <li> <p>Device type: <b>STANDARD</b> </p> <ul> <li> <p>Capacity: T80</p> </li> <li> <p>Description: Original Snowball device</p> <note> <p>This device is only available in the Ningxia, Beijing, and Singapore Amazon Web Services Region. </p> </note> </li> </ul> <p></p> </li> <li> <p>Snow Family device type: <b>RACK_5U_C</b> </p> <ul> <li> <p>Capacity: T13 </p> </li> <li> <p>Description: Snowblade.</p> </li> </ul> </li> <li> <p>Device type: <b>V3_5S</b> </p> <ul> <li> <p>Capacity: T240</p> </li> <li> <p>Description: Snowball Edge Storage Optimized 210TB</p> </li> </ul> </li> </ul>

    Args:
        job_type: <p>Defines the type of job that you're creating. </p>
        resources: <p>Defines the Amazon S3 buckets associated with this job.</p> <p>With <code>IMPORT</code> jobs, you specify the bucket or buckets that your transferred data will be imported into.</p> <p>With <code>EXPORT</code> jobs, you specify the bucket or buckets that your transferred data will be exported from. Optionally, you can also specify a <code>KeyRange</code> value. If you choose to export a range, you define the length of the range by providing either an inclusive <code>BeginMarker</code> value, an inclusive <code>EndMarker</code> value, or both. Ranges are UTF-8 binary sorted.</p>
        on_device_service_configuration: <p>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.</p>
        description: <p>Defines an optional description of this specific job, for example <code>Important Photos 2016-08-11</code>.</p>
        address_id: <p>The ID for the address that you want the Snow device shipped to.</p>
        kms_key_arn: <p>The <code>KmsKeyARN</code> that you want to associate with this job. <code>KmsKeyARN</code>s are created using the <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html">CreateKey</a> Key Management Service (KMS) API action.</p>
        role_arn: <p>The <code>RoleARN</code> that you want to associate with this job. <code>RoleArn</code>s are created using the <a href="https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html">CreateRole</a> Identity and Access Management (IAM) API action.</p>
        snowball_capacity_preference: <p>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.</p> <p>For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the <i>Snowcone User Guide</i> or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the <i>Snowcone User Guide</i>.</p>
        shipping_option: <p>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:</p> <ul> <li> <p>In Australia, you have access to express shipping. Typically, Snow devices shipped express are delivered in about a day.</p> </li> <li> <p>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.</p> </li> <li> <p>In India, Snow devices are delivered in one to seven days.</p> </li> <li> <p>In the US, you have access to one-day shipping and two-day shipping.</p> </li> </ul>
        notification: <p>Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for this job.</p>
        cluster_id: <p>The ID of a cluster. If you're creating a job for a node in a cluster, you need to provide only this <code>clusterId</code> value. The other job attributes are inherited from the cluster.</p>
        snowball_type: <p>The type of Snow Family devices to use for this job. </p> <note> <p>For cluster jobs, Amazon Web Services Snow Family currently supports only the <code>EDGE</code> device type.</p> </note> <p>The type of Amazon Web Services Snow device to use for this job. Currently, the only supported device type for cluster jobs is <code>EDGE</code>.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/snowball/latest/developer-guide/device-differences.html">Snowball Edge Device Options</a> in the Snowball Edge Developer Guide.</p> <p>For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the <i>Snowcone User Guide</i> or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the <i>Snowcone User Guide</i>.</p>
        forwarding_address_id: <p>The forwarding address ID for a job. This field is not supported in most Regions.</p>
        tax_documents: <p>The tax documents required in your Amazon Web Services Region.</p>
        device_configuration: <p>Defines the device configuration for an Snowball Edge job.</p> <p>For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the <i>Snowcone User Guide</i> or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html" (Snow Family Devices and Capacity) in the <i>Snowcone User Guide</i>.</p>
        remote_management: <p>Allows you to securely operate and manage Snowcone devices remotely from outside of your internal network. When set to <code>INSTALLED_AUTOSTART</code>, 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 <code>NOT_INSTALLED</code>, remote management will not be available on the device. </p>
        long_term_pricing_id: <p>The ID of the long-term pricing type for the device.</p>
        impact_level: <p>The highest impact level of data that will be stored or processed on the device, provided at job creation.</p>
        pickup_details: <p>Information identifying the person picking up the device.</p>

    Raises:
        capo_snowball.errors.cluster_limit_exceeded_exception.ClusterLimitExceededException: <p>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.</p>
        capo_snowball.errors.ec2_request_failed_exception.Ec2RequestFailedException: <p>Your user lacks the necessary Amazon EC2 permissions to perform the attempted action.</p>
        capo_snowball.errors.invalid_input_combination_exception.InvalidInputCombinationException: <p>Job or cluster creation failed. One or more inputs were invalid. Confirm that the <a>CreateClusterRequest$SnowballType</a> value supports your <a>CreateJobRequest$JobType</a>, and try again.</p>
        capo_snowball.errors.invalid_resource_exception.InvalidResourceException: <p>The specified resource can't be found. Check the information you provided in your last request, and try again.</p>
        capo_snowball.errors.kms_request_failed_exception.KMSRequestFailedException: <p>The provided Key Management Service key lacks the permissions to perform the specified <a>CreateJob</a> or <a>UpdateJob</a> action.</p>
        capo_snowball.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To create a job
        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 Snowball. 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.

        >>> client.create_job(job_type='IMPORT', resources={'S3Resources': [{'BucketArn': 'arn:aws:s3:::MyBucket', 'KeyRange': {}}]}, description='My Job', address_id='ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b', kms_key_arn='arn:aws:kms:us-east-1:123456789012:key/abcd1234-12ab-34cd-56ef-123456123456', role_arn='arn:aws:iam::123456789012:role/snowball-import-S3-role', snowball_capacity_preference='T80', shipping_option='SECOND_DAY', notification={'NotifyAll': False, 'JobStatesToNotify': []}, snowball_type='STANDARD')
    """

    def _handler(
        req: "OperationRequest[capo_snowball.types.create_job_request.CreateJobRequest]",
    ) -> OperationResponse["capo_snowball.types.create_job_result.CreateJobResult"]:
        import capo_snowball._operations.awsie_snowball_job_management_service.create_job

        output, http_response = (
            capo_snowball._operations.awsie_snowball_job_management_service.create_job.create_job(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_snowball.types.create_job_request.CreateJobRequest",
    ) -> dict[str, Any]:
        import capo_snowball.types.create_job_request

        return capo_snowball.types.create_job_request.redact_sensitive(input_)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateJob", redact_input=_redact_input)
    )
    input_: capo_snowball.types.create_job_request.CreateJobRequest = {}
    if job_type is not None:
        input_["job_type"] = job_type
    if resources is not None:
        input_["resources"] = resources
    if on_device_service_configuration is not None:
        input_["on_device_service_configuration"] = on_device_service_configuration
    if description is not None:
        input_["description"] = description
    if address_id is not None:
        input_["address_id"] = address_id
    if kms_key_arn is not None:
        input_["kms_key_arn"] = kms_key_arn
    if role_arn is not None:
        input_["role_arn"] = role_arn
    if snowball_capacity_preference is not None:
        input_["snowball_capacity_preference"] = snowball_capacity_preference
    if shipping_option is not None:
        input_["shipping_option"] = shipping_option
    if notification is not None:
        input_["notification"] = notification
    if cluster_id is not None:
        input_["cluster_id"] = cluster_id
    if snowball_type is not None:
        input_["snowball_type"] = snowball_type
    if forwarding_address_id is not None:
        input_["forwarding_address_id"] = forwarding_address_id
    if tax_documents is not None:
        input_["tax_documents"] = tax_documents
    if device_configuration is not None:
        input_["device_configuration"] = device_configuration
    if remote_management is not None:
        input_["remote_management"] = remote_management
    if long_term_pricing_id is not None:
        input_["long_term_pricing_id"] = long_term_pricing_id
    if impact_level is not None:
        input_["impact_level"] = impact_level
    if pickup_details is not None:
        input_["pickup_details"] = pickup_details

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output