{
  "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": {
      "input": {
        "type": "structure",
        "required": [
          "JobId"
        ],
        "members": {
          "JobId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "CreateAddress": {
      "input": {
        "type": "structure",
        "required": [
          "Address"
        ],
        "members": {
          "Address": {
            "shape": "S5"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "AddressId": {}
        }
      }
    },
    "CreateJob": {
      "input": {
        "type": "structure",
        "required": [
          "JobType",
          "Resources",
          "AddressId",
          "RoleARN",
          "ShippingOption"
        ],
        "members": {
          "JobType": {},
          "Resources": {
            "shape": "Sb"
          },
          "Description": {},
          "AddressId": {},
          "KmsKeyARN": {},
          "RoleARN": {},
          "SnowballCapacityPreference": {},
          "ShippingOption": {},
          "Notification": {
            "shape": "Sk"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "JobId": {}
        }
      }
    },
    "DescribeAddress": {
      "input": {
        "type": "structure",
        "required": [
          "AddressId"
        ],
        "members": {
          "AddressId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Address": {
            "shape": "S5"
          }
        }
      }
    },
    "DescribeAddresses": {
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Addresses": {
            "type": "list",
            "member": {
              "shape": "S5"
            }
          },
          "NextToken": {}
        }
      }
    },
    "DescribeJob": {
      "input": {
        "type": "structure",
        "required": [
          "JobId"
        ],
        "members": {
          "JobId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "JobMetadata": {
            "shape": "Sy"
          },
          "SubJobMetadata": {
            "type": "list",
            "member": {
              "shape": "Sy"
            }
          }
        }
      }
    },
    "GetJobManifest": {
      "input": {
        "type": "structure",
        "required": [
          "JobId"
        ],
        "members": {
          "JobId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ManifestURI": {}
        }
      }
    },
    "GetJobUnlockCode": {
      "input": {
        "type": "structure",
        "required": [
          "JobId"
        ],
        "members": {
          "JobId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "UnlockCode": {}
        }
      }
    },
    "GetSnowballUsage": {
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {
          "SnowballLimit": {
            "type": "integer"
          },
          "SnowballsInUse": {
            "type": "integer"
          }
        }
      }
    },
    "ListJobs": {
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "JobListEntries": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "JobId": {},
                "JobState": {},
                "IsMaster": {
                  "type": "boolean"
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "UpdateJob": {
      "input": {
        "type": "structure",
        "required": [
          "JobId"
        ],
        "members": {
          "JobId": {},
          "RoleARN": {},
          "Notification": {
            "shape": "Sk"
          },
          "Resources": {
            "shape": "Sb"
          },
          "AddressId": {},
          "ShippingOption": {},
          "Description": {},
          "SnowballCapacityPreference": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    }
  },
  "shapes": {
    "S5": {
      "type": "structure",
      "members": {
        "AddressId": {},
        "Name": {},
        "Company": {},
        "Street1": {},
        "Street2": {},
        "Street3": {},
        "City": {},
        "StateOrProvince": {},
        "PrefectureOrDistrict": {},
        "Landmark": {},
        "Country": {},
        "PostalCode": {},
        "PhoneNumber": {}
      }
    },
    "Sb": {
      "type": "structure",
      "members": {
        "S3Resources": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "BucketArn": {},
              "KeyRange": {
                "type": "structure",
                "members": {
                  "BeginMarker": {},
                  "EndMarker": {}
                }
              }
            }
          }
        }
      }
    },
    "Sk": {
      "type": "structure",
      "members": {
        "SnsTopicARN": {},
        "JobStatesToNotify": {
          "type": "list",
          "member": {}
        },
        "NotifyAll": {
          "type": "boolean"
        }
      }
    },
    "Sy": {
      "type": "structure",
      "members": {
        "JobId": {},
        "JobState": {},
        "JobType": {},
        "CreationDate": {
          "type": "timestamp"
        },
        "Resources": {
          "shape": "Sb"
        },
        "Description": {},
        "KmsKeyARN": {},
        "RoleARN": {},
        "AddressId": {},
        "ShippingDetails": {
          "type": "structure",
          "members": {
            "ShippingOption": {},
            "InboundShipment": {
              "shape": "S11"
            },
            "OutboundShipment": {
              "shape": "S11"
            }
          }
        },
        "SnowballCapacityPreference": {},
        "Notification": {
          "shape": "Sk"
        },
        "DataTransferProgress": {
          "type": "structure",
          "members": {
            "BytesTransferred": {
              "type": "long"
            },
            "ObjectsTransferred": {
              "type": "long"
            },
            "TotalBytes": {
              "type": "long"
            },
            "TotalObjects": {
              "type": "long"
            }
          }
        },
        "JobLogInfo": {
          "type": "structure",
          "members": {
            "JobCompletionReportURI": {},
            "JobSuccessLogURI": {},
            "JobFailureLogURI": {}
          }
        }
      }
    },
    "S11": {
      "type": "structure",
      "members": {
        "Status": {},
        "TrackingNumber": {}
      }
    }
  }
}