# This file is auto-generated by AWSMetadata.jl
using AWS
using AWS.AWSServices: importexport
using AWS.Compat
using AWS.UUIDs

"""
    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.

# Required Parameters
- `JobId`: 

# Optional Parameters
- `APIVersion`: 
"""
cancel_job(JobId; aws_config::AWSConfig=global_aws_config()) = importexport("CancelJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
cancel_job(JobId, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = importexport("CancelJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), args)); aws_config=aws_config)

"""
    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.

# Required Parameters
- `JobType`: 
- `Manifest`: 
- `ValidateOnly`: 

# Optional Parameters
- `APIVersion`: 
- `ManifestAddendum`: 
"""
create_job(JobType, Manifest, ValidateOnly; aws_config::AWSConfig=global_aws_config()) = importexport("CreateJob", Dict{String, Any}("JobType"=>JobType, "Manifest"=>Manifest, "ValidateOnly"=>ValidateOnly); aws_config=aws_config)
create_job(JobType, Manifest, ValidateOnly, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = importexport("CreateJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobType"=>JobType, "Manifest"=>Manifest, "ValidateOnly"=>ValidateOnly), args)); aws_config=aws_config)

"""
    GetShippingLabel()

This operation generates a pre-paid UPS shipping label that you will use to ship your device to AWS for processing.

# Required Parameters
- `jobIds`: 

# Optional Parameters
- `APIVersion`: 
- `city`: 
- `company`: 
- `country`: 
- `name`: 
- `phoneNumber`: 
- `postalCode`: 
- `stateOrProvince`: 
- `street1`: 
- `street2`: 
- `street3`: 
"""
get_shipping_label(jobIds; aws_config::AWSConfig=global_aws_config()) = importexport("GetShippingLabel", Dict{String, Any}("jobIds"=>jobIds); aws_config=aws_config)
get_shipping_label(jobIds, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = importexport("GetShippingLabel", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("jobIds"=>jobIds), args)); aws_config=aws_config)

"""
    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.

# Required Parameters
- `JobId`: 

# Optional Parameters
- `APIVersion`: 
"""
get_status(JobId; aws_config::AWSConfig=global_aws_config()) = importexport("GetStatus", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
get_status(JobId, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = importexport("GetStatus", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), args)); aws_config=aws_config)

"""
    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.

# Optional Parameters
- `APIVersion`: 
- `Marker`: 
- `MaxJobs`: 
"""
list_jobs(; aws_config::AWSConfig=global_aws_config()) = importexport("ListJobs"; aws_config=aws_config)
list_jobs(args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = importexport("ListJobs", args; aws_config=aws_config)

"""
    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.

# Required Parameters
- `JobId`: 
- `JobType`: 
- `Manifest`: 
- `ValidateOnly`: 

# Optional Parameters
- `APIVersion`: 
"""
update_job(JobId, JobType, Manifest, ValidateOnly; aws_config::AWSConfig=global_aws_config()) = importexport("UpdateJob", Dict{String, Any}("JobId"=>JobId, "JobType"=>JobType, "Manifest"=>Manifest, "ValidateOnly"=>ValidateOnly); aws_config=aws_config)
update_job(JobId, JobType, Manifest, ValidateOnly, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = importexport("UpdateJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId, "JobType"=>JobType, "Manifest"=>Manifest, "ValidateOnly"=>ValidateOnly), args)); aws_config=aws_config)
