{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2016-06-30",
    "endpointPrefix":"snowball",
    "jsonVersion":"1.1",
    "protocol":"json",
    "serviceAbbreviation":"Amazon Snowball",
    "serviceFullName":"Amazon Import/Export Snowball",
    "signatureVersion":"v4",
    "targetPrefix":"AWSIESnowballJobManagementService"
  },
  "operations":{
    "CancelJob":{
      "name":"CancelJob",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CancelJobRequest"},
      "output":{"shape":"CancelJobResult"},
      "errors":[
        {"shape":"InvalidResourceException"},
        {"shape":"InvalidJobStateException"},
        {"shape":"KMSRequestFailedException"}
      ]
    },
    "CreateAddress":{
      "name":"CreateAddress",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateAddressRequest"},
      "output":{"shape":"CreateAddressResult"},
      "errors":[
        {"shape":"InvalidAddressException"},
        {"shape":"UnsupportedAddressException"}
      ]
    },
    "CreateJob":{
      "name":"CreateJob",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateJobRequest"},
      "output":{"shape":"CreateJobResult"},
      "errors":[
        {"shape":"InvalidResourceException"},
        {"shape":"KMSRequestFailedException"}
      ]
    },
    "DescribeAddress":{
      "name":"DescribeAddress",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAddressRequest"},
      "output":{"shape":"DescribeAddressResult"},
      "errors":[
        {"shape":"InvalidResourceException"}
      ]
    },
    "DescribeAddresses":{
      "name":"DescribeAddresses",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAddressesRequest"},
      "output":{"shape":"DescribeAddressesResult"},
      "errors":[
        {"shape":"InvalidResourceException"}
      ]
    },
    "DescribeJob":{
      "name":"DescribeJob",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeJobRequest"},
      "output":{"shape":"DescribeJobResult"},
      "errors":[
        {"shape":"InvalidResourceException"}
      ]
    },
    "GetJobManifest":{
      "name":"GetJobManifest",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetJobManifestRequest"},
      "output":{"shape":"GetJobManifestResult"},
      "errors":[
        {"shape":"InvalidResourceException"},
        {"shape":"InvalidJobStateException"}
      ]
    },
    "GetJobUnlockCode":{
      "name":"GetJobUnlockCode",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetJobUnlockCodeRequest"},
      "output":{"shape":"GetJobUnlockCodeResult"},
      "errors":[
        {"shape":"InvalidResourceException"},
        {"shape":"InvalidJobStateException"}
      ]
    },
    "GetSnowballUsage":{
      "name":"GetSnowballUsage",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetSnowballUsageRequest"},
      "output":{"shape":"GetSnowballUsageResult"}
    },
    "ListJobs":{
      "name":"ListJobs",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListJobsRequest"},
      "output":{"shape":"ListJobsResult"}
    },
    "UpdateJob":{
      "name":"UpdateJob",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateJobRequest"},
      "output":{"shape":"UpdateJobResult"},
      "errors":[
        {"shape":"InvalidResourceException"},
        {"shape":"InvalidJobStateException"},
        {"shape":"KMSRequestFailedException"}
      ]
    }
  },
  "shapes":{
    "Address":{
      "type":"structure",
      "members":{
        "AddressId":{"shape":"AddressId"},
        "Name":{"shape":"String"},
        "Company":{"shape":"String"},
        "Street1":{"shape":"String"},
        "Street2":{"shape":"String"},
        "Street3":{"shape":"String"},
        "City":{"shape":"String"},
        "StateOrProvince":{"shape":"String"},
        "PrefectureOrDistrict":{"shape":"String"},
        "Landmark":{"shape":"String"},
        "Country":{"shape":"String"},
        "PostalCode":{"shape":"String"},
        "PhoneNumber":{"shape":"String"}
      }
    },
    "AddressId":{
      "type":"string",
      "max":40,
      "min":40,
      "pattern":"ADID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
    },
    "AddressList":{
      "type":"list",
      "member":{"shape":"Address"}
    },
    "Boolean":{"type":"boolean"},
    "CancelJobRequest":{
      "type":"structure",
      "required":["JobId"],
      "members":{
        "JobId":{"shape":"JobId"}
      }
    },
    "CancelJobResult":{
      "type":"structure",
      "members":{
      }
    },
    "CreateAddressRequest":{
      "type":"structure",
      "required":["Address"],
      "members":{
        "Address":{"shape":"Address"}
      }
    },
    "CreateAddressResult":{
      "type":"structure",
      "members":{
        "AddressId":{"shape":"String"}
      }
    },
    "CreateJobRequest":{
      "type":"structure",
      "required":[
        "JobType",
        "Resources",
        "AddressId",
        "RoleARN",
        "ShippingOption"
      ],
      "members":{
        "JobType":{"shape":"JobType"},
        "Resources":{"shape":"JobResource"},
        "Description":{"shape":"String"},
        "AddressId":{"shape":"AddressId"},
        "KmsKeyARN":{"shape":"KmsKeyARN"},
        "RoleARN":{"shape":"RoleARN"},
        "SnowballCapacityPreference":{"shape":"SnowballCapacity"},
        "ShippingOption":{"shape":"ShippingOption"},
        "Notification":{"shape":"Notification"}
      }
    },
    "CreateJobResult":{
      "type":"structure",
      "members":{
        "JobId":{"shape":"JobId"}
      }
    },
    "DataTransfer":{
      "type":"structure",
      "members":{
        "BytesTransferred":{"shape":"Long"},
        "ObjectsTransferred":{"shape":"Long"},
        "TotalBytes":{"shape":"Long"},
        "TotalObjects":{"shape":"Long"}
      }
    },
    "DescribeAddressRequest":{
      "type":"structure",
      "required":["AddressId"],
      "members":{
        "AddressId":{"shape":"AddressId"}
      }
    },
    "DescribeAddressResult":{
      "type":"structure",
      "members":{
        "Address":{"shape":"Address"}
      }
    },
    "DescribeAddressesRequest":{
      "type":"structure",
      "members":{
        "MaxResults":{"shape":"ListLimit"},
        "NextToken":{"shape":"String"}
      }
    },
    "DescribeAddressesResult":{
      "type":"structure",
      "members":{
        "Addresses":{"shape":"AddressList"},
        "NextToken":{"shape":"String"}
      }
    },
    "DescribeJobRequest":{
      "type":"structure",
      "required":["JobId"],
      "members":{
        "JobId":{"shape":"JobId"}
      }
    },
    "DescribeJobResult":{
      "type":"structure",
      "members":{
        "JobMetadata":{"shape":"JobMetadata"},
        "SubJobMetadata":{"shape":"JobMetadataList"}
      }
    },
    "GetJobManifestRequest":{
      "type":"structure",
      "required":["JobId"],
      "members":{
        "JobId":{"shape":"JobId"}
      }
    },
    "GetJobManifestResult":{
      "type":"structure",
      "members":{
        "ManifestURI":{"shape":"String"}
      }
    },
    "GetJobUnlockCodeRequest":{
      "type":"structure",
      "required":["JobId"],
      "members":{
        "JobId":{"shape":"JobId"}
      }
    },
    "GetJobUnlockCodeResult":{
      "type":"structure",
      "members":{
        "UnlockCode":{"shape":"String"}
      }
    },
    "GetSnowballUsageRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetSnowballUsageResult":{
      "type":"structure",
      "members":{
        "SnowballLimit":{"shape":"Integer"},
        "SnowballsInUse":{"shape":"Integer"}
      }
    },
    "Integer":{"type":"integer"},
    "InvalidAddressException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "exception":true
    },
    "InvalidJobStateException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "exception":true
    },
    "InvalidResourceException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "exception":true
    },
    "JobId":{
      "type":"string",
      "max":39,
      "min":39,
      "pattern":"(M|J)ID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
    },
    "JobListEntry":{
      "type":"structure",
      "members":{
        "JobId":{"shape":"String"},
        "JobState":{"shape":"JobState"},
        "IsMaster":{"shape":"Boolean"}
      }
    },
    "JobListEntryList":{
      "type":"list",
      "member":{"shape":"JobListEntry"}
    },
    "JobLogs":{
      "type":"structure",
      "members":{
        "JobCompletionReportURI":{"shape":"String"},
        "JobSuccessLogURI":{"shape":"String"},
        "JobFailureLogURI":{"shape":"String"}
      }
    },
    "JobMetadata":{
      "type":"structure",
      "members":{
        "JobId":{"shape":"String"},
        "JobState":{"shape":"JobState"},
        "JobType":{"shape":"JobType"},
        "CreationDate":{"shape":"Timestamp"},
        "Resources":{"shape":"JobResource"},
        "Description":{"shape":"String"},
        "KmsKeyARN":{"shape":"KmsKeyARN"},
        "RoleARN":{"shape":"RoleARN"},
        "AddressId":{"shape":"AddressId"},
        "ShippingDetails":{"shape":"ShippingDetails"},
        "SnowballCapacityPreference":{"shape":"SnowballCapacity"},
        "Notification":{"shape":"Notification"},
        "DataTransferProgress":{"shape":"DataTransfer"},
        "JobLogInfo":{"shape":"JobLogs"}
      }
    },
    "JobMetadataList":{
      "type":"list",
      "member":{"shape":"JobMetadata"}
    },
    "JobResource":{
      "type":"structure",
      "members":{
        "S3Resources":{"shape":"S3ResourceList"}
      }
    },
    "JobState":{
      "type":"string",
      "enum":[
        "New",
        "PreparingAppliance",
        "PreparingShipment",
        "InTransitToCustomer",
        "WithCustomer",
        "InTransitToAWS",
        "WithAWS",
        "InProgress",
        "Complete",
        "Cancelled",
        "Listing",
        "Pending"
      ]
    },
    "JobStateList":{
      "type":"list",
      "member":{"shape":"JobState"}
    },
    "JobType":{
      "type":"string",
      "enum":[
        "IMPORT",
        "EXPORT"
      ]
    },
    "KMSRequestFailedException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "exception":true
    },
    "KeyRange":{
      "type":"structure",
      "members":{
        "BeginMarker":{"shape":"String"},
        "EndMarker":{"shape":"String"}
      }
    },
    "KmsKeyARN":{
      "type":"string",
      "max":255,
      "pattern":"arn:(aws|aws-us-gov):kms:.*:[0-9]{12}:key/.*"
    },
    "ListJobsRequest":{
      "type":"structure",
      "members":{
        "MaxResults":{"shape":"ListLimit"},
        "NextToken":{"shape":"String"}
      }
    },
    "ListJobsResult":{
      "type":"structure",
      "members":{
        "JobListEntries":{"shape":"JobListEntryList"},
        "NextToken":{"shape":"String"}
      }
    },
    "ListLimit":{
      "type":"integer",
      "max":100,
      "min":0
    },
    "Long":{"type":"long"},
    "Notification":{
      "type":"structure",
      "members":{
        "SnsTopicARN":{"shape":"SnsTopicARN"},
        "JobStatesToNotify":{"shape":"JobStateList"},
        "NotifyAll":{"shape":"Boolean"}
      }
    },
    "ResourceARN":{
      "type":"string",
      "max":255,
      "pattern":"arn:(aws|aws-us-gov):s3:::.*"
    },
    "RoleARN":{
      "type":"string",
      "max":255,
      "pattern":"arn:(aws|aws-us-gov):iam::[0-9]{12}:role/.*"
    },
    "S3Resource":{
      "type":"structure",
      "members":{
        "BucketArn":{"shape":"ResourceARN"},
        "KeyRange":{"shape":"KeyRange"}
      }
    },
    "S3ResourceList":{
      "type":"list",
      "member":{"shape":"S3Resource"}
    },
    "Shipment":{
      "type":"structure",
      "members":{
        "Status":{"shape":"String"},
        "TrackingNumber":{"shape":"String"}
      }
    },
    "ShippingDetails":{
      "type":"structure",
      "members":{
        "ShippingOption":{"shape":"ShippingOption"},
        "InboundShipment":{"shape":"Shipment"},
        "OutboundShipment":{"shape":"Shipment"}
      }
    },
    "ShippingOption":{
      "type":"string",
      "enum":[
        "SECOND_DAY",
        "NEXT_DAY",
        "EXPRESS",
        "STANDARD"
      ]
    },
    "SnowballCapacity":{
      "type":"string",
      "enum":[
        "T50",
        "T80",
        "NoPreference"
      ]
    },
    "SnsTopicARN":{
      "type":"string",
      "max":255,
      "pattern":"arn:(aws|aws-us-gov):sns:.*:[0-9]{12}:.*"
    },
    "String":{
      "type":"string",
      "max":255,
      "min":1
    },
    "Timestamp":{"type":"timestamp"},
    "UnsupportedAddressException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"String"}
      },
      "exception":true
    },
    "UpdateJobRequest":{
      "type":"structure",
      "required":["JobId"],
      "members":{
        "JobId":{"shape":"JobId"},
        "RoleARN":{"shape":"RoleARN"},
        "Notification":{"shape":"Notification"},
        "Resources":{"shape":"JobResource"},
        "AddressId":{"shape":"AddressId"},
        "ShippingOption":{"shape":"ShippingOption"},
        "Description":{"shape":"String"},
        "SnowballCapacityPreference":{"shape":"SnowballCapacity"}
      }
    },
    "UpdateJobResult":{
      "type":"structure",
      "members":{
      }
    }
  }
}
