{
  "version": "2.0",
  "operations": {
    "CancelJob": "This operation cancels a specified job. Only the job owner can cancel it. The operation fails if the job has already started or is complete.",
    "CreateJob": "This operation initiates the process of scheduling an upload or download of your data. You include in the request a manifest that describes the data transfer specifics. The response to the request includes a job ID, which you can use in other operations, a signature that you use to identify your storage device, and the address where you should ship your storage device.",
    "GetShippingLabel": "This operation generates a pre-paid UPS shipping label that you will use to ship your device to AWS for processing.",
    "GetStatus": "This operation returns information about a job, including where the job is in the processing pipeline, the status of the results, and the signature value associated with the job. You can only return information about jobs you own.",
    "ListJobs": "This operation returns the jobs associated with the requester. AWS Import/Export lists the jobs in reverse chronological order based on the date of creation. For example if Job Test1 was created 2009Dec30 and Test2 was created 2010Feb05, the ListJobs operation would return Test2 followed by Test1.",
    "UpdateJob": "You use this operation to change the parameters specified in the original manifest file by supplying a new manifest file. The manifest file attached to this request replaces the original manifest file. You can only use the operation after a CreateJob request but before the data transfer starts and you can only use it on jobs you own."
  },
  "service": "<fullname>AWS Import/Export Service</fullname> AWS Import/Export accelerates transferring large amounts of data between the AWS cloud and portable storage devices that you mail to us. AWS Import/Export transfers data directly onto and off of your storage devices using Amazon's high-speed internal network and bypassing the Internet. For large data sets, AWS Import/Export is often faster than Internet transfer and more cost effective than upgrading your connectivity.",
  "shapes": {
    "APIVersion": {
      "base": "Specifies the version of the client tool.",
      "refs": {
        "CancelJobInput$APIVersion": null,
        "CreateJobInput$APIVersion": null,
        "GetShippingLabelInput$APIVersion": null,
        "GetStatusInput$APIVersion": null,
        "ListJobsInput$APIVersion": null,
        "UpdateJobInput$APIVersion": null
      }
    },
    "Artifact": {
      "base": "A discrete item that contains the description and URL of an artifact (such as a PDF).",
      "refs": {
        "ArtifactList$member": null
      }
    },
    "ArtifactList": {
      "base": "A collection of artifacts.",
      "refs": {
        "CreateJobOutput$ArtifactList": null,
        "GetStatusOutput$ArtifactList": null,
        "UpdateJobOutput$ArtifactList": null
      }
    },
    "BucketPermissionException": {
      "base": "The account specified does not have the appropriate bucket permissions.",
      "refs": {
      }
    },
    "CancelJobInput": {
      "base": "Input structure for the CancelJob operation.",
      "refs": {
      }
    },
    "CancelJobOutput": {
      "base": "Output structure for the CancelJob operation.",
      "refs": {
      }
    },
    "CanceledJobIdException": {
      "base": "The specified job ID has been canceled and is no longer valid.",
      "refs": {
      }
    },
    "Carrier": {
      "base": "Name of the shipping company. This value is included when the LocationCode is \"Returned\".",
      "refs": {
        "GetStatusOutput$Carrier": null
      }
    },
    "CreateJobInput": {
      "base": "Input structure for the CreateJob operation.",
      "refs": {
      }
    },
    "CreateJobOutput": {
      "base": "Output structure for the CreateJob operation.",
      "refs": {
      }
    },
    "CreateJobQuotaExceededException": {
      "base": "Each account can create only a certain number of jobs per day. If you need to create more than this, please contact awsimportexport@amazon.com to explain your particular use case.",
      "refs": {
      }
    },
    "CreationDate": {
      "base": "Timestamp of the CreateJob request in ISO8601 date format. For example \"2010-03-28T20:27:35Z\".",
      "refs": {
        "GetStatusOutput$CreationDate": null,
        "Job$CreationDate": null
      }
    },
    "CurrentManifest": {
      "base": "The last manifest submitted, which will be used to process the job.",
      "refs": {
        "GetStatusOutput$CurrentManifest": null
      }
    },
    "Description": {
      "base": "The associated description for this object.",
      "refs": {
        "Artifact$Description": null
      }
    },
    "ErrorCount": {
      "base": "Number of errors. We return this value when the ProgressCode is Success or SuccessWithErrors.",
      "refs": {
        "GetStatusOutput$ErrorCount": null
      }
    },
    "ErrorMessage": {
      "base": "The human-readable description of a particular error.",
      "refs": {
        "BucketPermissionException$message": null,
        "CanceledJobIdException$message": null,
        "CreateJobQuotaExceededException$message": null,
        "ExpiredJobIdException$message": null,
        "InvalidAccessKeyIdException$message": null,
        "InvalidAddressException$message": null,
        "InvalidCustomsException$message": null,
        "InvalidFileSystemException$message": null,
        "InvalidJobIdException$message": null,
        "InvalidManifestFieldException$message": null,
        "InvalidParameterException$message": null,
        "InvalidVersionException$message": null,
        "MalformedManifestException$message": null,
        "MissingCustomsException$message": null,
        "MissingManifestFieldException$message": null,
        "MissingParameterException$message": null,
        "MultipleRegionsException$message": null,
        "NoSuchBucketException$message": null,
        "UnableToCancelJobIdException$message": null,
        "UnableToUpdateJobIdException$message": null
      }
    },
    "ExpiredJobIdException": {
      "base": "Indicates that the specified job has expired out of the system.",
      "refs": {
      }
    },
    "GenericString": {
      "base": null,
      "refs": {
        "GetShippingLabelOutput$ShippingLabelURL": null,
        "GetShippingLabelOutput$Warning": null,
        "JobIdList$member": null
      }
    },
    "GetShippingLabelInput": {
      "base": null,
      "refs": {
      }
    },
    "GetShippingLabelOutput": {
      "base": null,
      "refs": {
      }
    },
    "GetStatusInput": {
      "base": "Input structure for the GetStatus operation.",
      "refs": {
      }
    },
    "GetStatusOutput": {
      "base": "Output structure for the GetStatus operation.",
      "refs": {
      }
    },
    "InvalidAccessKeyIdException": {
      "base": "The AWS Access Key ID specified in the request did not match the manifest's accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID.",
      "refs": {
      }
    },
    "InvalidAddressException": {
      "base": "The address specified in the manifest is invalid.",
      "refs": {
      }
    },
    "InvalidCustomsException": {
      "base": "One or more customs parameters was invalid. Please correct and resubmit.",
      "refs": {
      }
    },
    "InvalidFileSystemException": {
      "base": "File system specified in export manifest is invalid.",
      "refs": {
      }
    },
    "InvalidJobIdException": {
      "base": "The JOBID was missing, not found, or not associated with the AWS account.",
      "refs": {
      }
    },
    "InvalidManifestFieldException": {
      "base": "One or more manifest fields was invalid. Please correct and resubmit.",
      "refs": {
      }
    },
    "InvalidParameterException": {
      "base": "One or more parameters had an invalid value.",
      "refs": {
      }
    },
    "InvalidVersionException": {
      "base": "The client tool version is invalid.",
      "refs": {
      }
    },
    "IsCanceled": {
      "base": "Indicates whether the job was canceled.",
      "refs": {
        "Job$IsCanceled": null
      }
    },
    "IsTruncated": {
      "base": "Indicates whether the list of jobs was truncated. If true, then call ListJobs again using the last JobId element as the marker.",
      "refs": {
        "ListJobsOutput$IsTruncated": null
      }
    },
    "Job": {
      "base": "Representation of a job returned by the ListJobs operation.",
      "refs": {
        "JobsList$member": null
      }
    },
    "JobId": {
      "base": "A unique identifier which refers to a particular job.",
      "refs": {
        "CancelJobInput$JobId": null,
        "CreateJobOutput$JobId": null,
        "GetStatusInput$JobId": null,
        "GetStatusOutput$JobId": null,
        "Job$JobId": null,
        "UpdateJobInput$JobId": null
      }
    },
    "JobIdList": {
      "base": null,
      "refs": {
        "GetShippingLabelInput$jobIds": null
      }
    },
    "JobType": {
      "base": "Specifies whether the job to initiate is an import or export job.",
      "refs": {
        "CreateJobInput$JobType": null,
        "CreateJobOutput$JobType": null,
        "GetStatusOutput$JobType": null,
        "Job$JobType": null,
        "UpdateJobInput$JobType": null
      }
    },
    "JobsList": {
      "base": "A list container for Jobs returned by the ListJobs operation.",
      "refs": {
        "ListJobsOutput$Jobs": null
      }
    },
    "ListJobsInput": {
      "base": "Input structure for the ListJobs operation.",
      "refs": {
      }
    },
    "ListJobsOutput": {
      "base": "Output structure for the ListJobs operation.",
      "refs": {
      }
    },
    "LocationCode": {
      "base": "A token representing the location of the storage device, such as \"AtAWS\".",
      "refs": {
        "GetStatusOutput$LocationCode": null
      }
    },
    "LocationMessage": {
      "base": "A more human readable form of the physical location of the storage device.",
      "refs": {
        "GetStatusOutput$LocationMessage": null
      }
    },
    "LogBucket": {
      "base": "Amazon S3 bucket for user logs.",
      "refs": {
        "GetStatusOutput$LogBucket": null
      }
    },
    "LogKey": {
      "base": "The key where the user logs were stored.",
      "refs": {
        "GetStatusOutput$LogKey": null
      }
    },
    "MalformedManifestException": {
      "base": "Your manifest is not well-formed.",
      "refs": {
      }
    },
    "Manifest": {
      "base": "The UTF-8 encoded text of the manifest file.",
      "refs": {
        "CreateJobInput$Manifest": null,
        "UpdateJobInput$Manifest": null
      }
    },
    "ManifestAddendum": {
      "base": "For internal use only.",
      "refs": {
        "CreateJobInput$ManifestAddendum": null
      }
    },
    "Marker": {
      "base": "Specifies the JOBID to start after when listing the jobs created with your account. AWS Import/Export lists your jobs in reverse chronological order. See MaxJobs.",
      "refs": {
        "ListJobsInput$Marker": null
      }
    },
    "MaxJobs": {
      "base": "Sets the maximum number of jobs returned in the response. If there are additional jobs that were not returned because MaxJobs was exceeded, the response contains &lt;IsTruncated&gt;true&lt;/IsTruncated&gt;. To return the additional jobs, see Marker.",
      "refs": {
        "ListJobsInput$MaxJobs": null
      }
    },
    "MissingCustomsException": {
      "base": "One or more required customs parameters was missing from the manifest.",
      "refs": {
      }
    },
    "MissingManifestFieldException": {
      "base": "One or more required fields were missing from the manifest file. Please correct and resubmit.",
      "refs": {
      }
    },
    "MissingParameterException": {
      "base": "One or more required parameters was missing from the request.",
      "refs": {
      }
    },
    "MultipleRegionsException": {
      "base": "Your manifest file contained buckets from multiple regions. A job is restricted to buckets from one region. Please correct and resubmit.",
      "refs": {
      }
    },
    "NoSuchBucketException": {
      "base": "The specified bucket does not exist. Create the specified bucket or change the manifest's bucket, exportBucket, or logBucket field to a bucket that the account, as specified by the manifest's Access Key ID, has write permissions to.",
      "refs": {
      }
    },
    "ProgressCode": {
      "base": "A token representing the state of the job, such as \"Started\".",
      "refs": {
        "GetStatusOutput$ProgressCode": null
      }
    },
    "ProgressMessage": {
      "base": "A more human readable form of the job status.",
      "refs": {
        "GetStatusOutput$ProgressMessage": null
      }
    },
    "Signature": {
      "base": "An encrypted code used to authenticate the request and response, for example, \"DV+TpDfx1/TdSE9ktyK9k/bDTVI=\". Only use this value is you want to create the signature file yourself. Generally you should use the SignatureFileContents value.",
      "refs": {
        "CreateJobOutput$Signature": null,
        "GetStatusOutput$Signature": null,
        "GetStatusOutput$SignatureFileContents": null
      }
    },
    "SignatureFileContents": {
      "base": "The actual text of the SIGNATURE file to be written to disk.",
      "refs": {
        "CreateJobOutput$SignatureFileContents": null
      }
    },
    "Success": {
      "base": "Specifies whether (true) or not (false) AWS Import/Export updated your job.",
      "refs": {
        "CancelJobOutput$Success": null,
        "UpdateJobOutput$Success": null
      }
    },
    "TrackingNumber": {
      "base": "The shipping tracking number assigned by AWS Import/Export to the storage device when it's returned to you. We return this value when the LocationCode is \"Returned\".",
      "refs": {
        "GetStatusOutput$TrackingNumber": null
      }
    },
    "URL": {
      "base": "The URL for a given Artifact.",
      "refs": {
        "Artifact$URL": null
      }
    },
    "UnableToCancelJobIdException": {
      "base": "AWS Import/Export cannot cancel the job",
      "refs": {
      }
    },
    "UnableToUpdateJobIdException": {
      "base": "AWS Import/Export cannot update the job",
      "refs": {
      }
    },
    "UpdateJobInput": {
      "base": "Input structure for the UpateJob operation.",
      "refs": {
      }
    },
    "UpdateJobOutput": {
      "base": "Output structure for the UpateJob operation.",
      "refs": {
      }
    },
    "ValidateOnly": {
      "base": "Validate the manifest and parameter values in the request but do not actually create a job.",
      "refs": {
        "CreateJobInput$ValidateOnly": null,
        "UpdateJobInput$ValidateOnly": null
      }
    },
    "WarningMessage": {
      "base": "An optional message notifying you of non-fatal issues with the job, such as use of an incompatible Amazon S3 bucket name.",
      "refs": {
        "CreateJobOutput$WarningMessage": null,
        "UpdateJobOutput$WarningMessage": null
      }
    },
    "city": {
      "base": "Specifies the name of your city for the return address.",
      "refs": {
        "GetShippingLabelInput$city": null
      }
    },
    "company": {
      "base": "Specifies the name of the company that will ship this package.",
      "refs": {
        "GetShippingLabelInput$company": null
      }
    },
    "country": {
      "base": "Specifies the name of your country for the return address.",
      "refs": {
        "GetShippingLabelInput$country": null
      }
    },
    "name": {
      "base": "Specifies the name of the person responsible for shipping this package.",
      "refs": {
        "GetShippingLabelInput$name": null
      }
    },
    "phoneNumber": {
      "base": "Specifies the phone number of the person responsible for shipping this package.",
      "refs": {
        "GetShippingLabelInput$phoneNumber": null
      }
    },
    "postalCode": {
      "base": "Specifies the postal code for the return address.",
      "refs": {
        "GetShippingLabelInput$postalCode": null
      }
    },
    "stateOrProvince": {
      "base": "Specifies the name of your state or your province for the return address.",
      "refs": {
        "GetShippingLabelInput$stateOrProvince": null
      }
    },
    "street1": {
      "base": "Specifies the first part of the street address for the return address, for example 1234 Main Street.",
      "refs": {
        "GetShippingLabelInput$street1": null
      }
    },
    "street2": {
      "base": "Specifies the optional second part of the street address for the return address, for example Suite 100.",
      "refs": {
        "GetShippingLabelInput$street2": null
      }
    },
    "street3": {
      "base": "Specifies the optional third part of the street address for the return address, for example c/o Jane Doe.",
      "refs": {
        "GetShippingLabelInput$street3": null
      }
    }
  }
}
