@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Import/Export Snowball
@version 2016-06-30
@auth AWS SigV4
@endpoints 27
@hint download_for_search
@toc root(27)

@endpoint POST /
@required {ClusterId: str}

@endpoint POST /
@required {JobId: str}

@endpoint POST /
@required {Address: Address}
@returns(200) {AddressId: str?}

@endpoint POST /
@required {JobType: str, AddressId: str, SnowballType: str, ShippingOption: str}
@optional {Resources: JobResource, OnDeviceServiceConfiguration: OnDeviceServiceConfiguration, Description: str, KmsKeyARN: str, RoleARN: str, Notification: Notification, ForwardingAddressId: str, TaxDocuments: TaxDocuments, RemoteManagement: str, InitialClusterSize: int, ForceCreateJobs: bool, LongTermPricingIds: [str], SnowballCapacityPreference: str}
@returns(200) {ClusterId: str?, JobListEntries: [JobListEntry]?}

@endpoint POST /
@optional {JobType: str, Resources: JobResource, OnDeviceServiceConfiguration: OnDeviceServiceConfiguration, Description: str, AddressId: str, KmsKeyARN: str, RoleARN: str, SnowballCapacityPreference: str, ShippingOption: str, Notification: Notification, ClusterId: str, SnowballType: str, ForwardingAddressId: str, TaxDocuments: TaxDocuments, DeviceConfiguration: DeviceConfiguration, RemoteManagement: str, LongTermPricingId: str, ImpactLevel: str, PickupDetails: PickupDetails}
@returns(200) {JobId: str?}

@endpoint POST /
@required {LongTermPricingType: str, SnowballType: str}
@optional {IsLongTermPricingAutoRenew: bool}
@returns(200) {LongTermPricingId: str?}

@endpoint POST /
@required {JobId: str}
@optional {ShippingOption: str}
@returns(200) {Status: str?}

@endpoint POST /
@required {AddressId: str}
@returns(200) {Address: Address?{AddressId: str?, Name: str?, Company: str?, Street1: str?, Street2: str?, Street3: str?, City: str?, StateOrProvince: str?, PrefectureOrDistrict: str?, Landmark: str?, Country: str?, PostalCode: str?, PhoneNumber: str?, IsRestricted: bool?, Type: str?}}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {Addresses: [Address]?, NextToken: str?}

@endpoint POST /
@required {ClusterId: str}
@returns(200) {ClusterMetadata: ClusterMetadata?{ClusterId: str?, Description: str?, KmsKeyARN: str?, RoleARN: str?, ClusterState: str?, JobType: str?, SnowballType: str?, CreationDate: str(timestamp)?, Resources: JobResource?{S3Resources: [S3Resource]?, LambdaResources: [LambdaResource]?, Ec2AmiResources: [Ec2AmiResource]?}, AddressId: str?, ShippingOption: str?, Notification: Notification?{SnsTopicARN: str?, JobStatesToNotify: [str]?, NotifyAll: bool?, DevicePickupSnsTopicARN: str?}, ForwardingAddressId: str?, TaxDocuments: TaxDocuments?{IND: INDTaxDocuments?{GSTIN: str?}}, OnDeviceServiceConfiguration: OnDeviceServiceConfiguration?{NFSOnDeviceService: NFSOnDeviceServiceConfiguration?{StorageLimit: int?, StorageUnit: str?}, TGWOnDeviceService: TGWOnDeviceServiceConfiguration?{StorageLimit: int?, StorageUnit: str?}, EKSOnDeviceService: EKSOnDeviceServiceConfiguration?{KubernetesVersion: str?, EKSAnywhereVersion: str?}, S3OnDeviceService: S3OnDeviceServiceConfiguration?{StorageLimit: num(f64)?, StorageUnit: str?, ServiceSize: int?, FaultTolerance: int?}}}}

@endpoint POST /
@required {JobId: str}
@returns(200) {JobMetadata: JobMetadata?{JobId: str?, JobState: str?, JobType: str?, SnowballType: str?, CreationDate: str(timestamp)?, Resources: JobResource?{S3Resources: [S3Resource]?, LambdaResources: [LambdaResource]?, Ec2AmiResources: [Ec2AmiResource]?}, Description: str?, KmsKeyARN: str?, RoleARN: str?, AddressId: str?, ShippingDetails: ShippingDetails?{ShippingOption: str?, InboundShipment: Shipment?{Status: str?, TrackingNumber: str?}, OutboundShipment: Shipment?{Status: str?, TrackingNumber: str?}}, SnowballCapacityPreference: str?, Notification: Notification?{SnsTopicARN: str?, JobStatesToNotify: [str]?, NotifyAll: bool?, DevicePickupSnsTopicARN: str?}, DataTransferProgress: DataTransfer?{BytesTransferred: int(i64)?, ObjectsTransferred: int(i64)?, TotalBytes: int(i64)?, TotalObjects: int(i64)?}, JobLogInfo: JobLogs?{JobCompletionReportURI: str?, JobSuccessLogURI: str?, JobFailureLogURI: str?}, ClusterId: str?, ForwardingAddressId: str?, TaxDocuments: TaxDocuments?{IND: INDTaxDocuments?{GSTIN: str?}}, DeviceConfiguration: DeviceConfiguration?{SnowconeDeviceConfiguration: SnowconeDeviceConfiguration?{WirelessConnection: WirelessConnection?}}, RemoteManagement: str?, LongTermPricingId: str?, OnDeviceServiceConfiguration: OnDeviceServiceConfiguration?{NFSOnDeviceService: NFSOnDeviceServiceConfiguration?{StorageLimit: int?, StorageUnit: str?}, TGWOnDeviceService: TGWOnDeviceServiceConfiguration?{StorageLimit: int?, StorageUnit: str?}, EKSOnDeviceService: EKSOnDeviceServiceConfiguration?{KubernetesVersion: str?, EKSAnywhereVersion: str?}, S3OnDeviceService: S3OnDeviceServiceConfiguration?{StorageLimit: num(f64)?, StorageUnit: str?, ServiceSize: int?, FaultTolerance: int?}}, ImpactLevel: str?, PickupDetails: PickupDetails?{Name: str?, PhoneNumber: str?, Email: str?, IdentificationNumber: str?, IdentificationExpirationDate: str(timestamp)?, IdentificationIssuingOrg: str?, DevicePickupId: str?}, SnowballId: str?}, SubJobMetadata: [JobMetadata]?}

@endpoint POST /
@required {JobId: str}
@returns(200) {Status: str?, ExpirationDate: str(timestamp)?, ReturnShippingLabelURI: str?}

@endpoint POST /
@required {JobId: str}
@returns(200) {ManifestURI: str?}

@endpoint POST /
@required {JobId: str}
@returns(200) {UnlockCode: str?}

@endpoint POST /
@returns(200) {SnowballLimit: int?, SnowballsInUse: int?}

@endpoint POST /
@required {JobId: str}
@returns(200) {UpdatesURI: str?}

@endpoint POST /
@required {ClusterId: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {JobListEntries: [JobListEntry]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {ClusterListEntries: [ClusterListEntry]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {CompatibleImages: [CompatibleImage]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {JobListEntries: [JobListEntry]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {LongTermPricingEntries: [LongTermPricingListEntry]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {Addresses: [Address]?, NextToken: str?}

@endpoint POST /
@required {ServiceName: str}
@optional {DependentServices: [DependentService], MaxResults: int, NextToken: str}
@returns(200) {ServiceVersions: [ServiceVersion], ServiceName: str, DependentServices: [DependentService]?, NextToken: str?}

@endpoint POST /
@required {ClusterId: str}
@optional {RoleARN: str, Description: str, Resources: JobResource, OnDeviceServiceConfiguration: OnDeviceServiceConfiguration, AddressId: str, ShippingOption: str, Notification: Notification, ForwardingAddressId: str}

@endpoint POST /
@required {JobId: str}
@optional {RoleARN: str, Notification: Notification, Resources: JobResource, OnDeviceServiceConfiguration: OnDeviceServiceConfiguration, AddressId: str, ShippingOption: str, Description: str, SnowballCapacityPreference: str, ForwardingAddressId: str, PickupDetails: PickupDetails}

@endpoint POST /
@required {JobId: str, ShipmentState: str}

@endpoint POST /
@required {LongTermPricingId: str}
@optional {ReplacementJob: str, IsLongTermPricingAutoRenew: bool}

@end
