{
  "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",
    "uid": "snowball-2016-06-30"
  },
  "operations": {
    "CancelCluster": {
      "input": {
        "type": "structure",
        "required": [
          "ClusterId"
        ],
        "members": {
          "ClusterId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "CancelJob": {
      "input": {
        "type": "structure",
        "required": [
          "JobId"
        ],
        "members": {
          "JobId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "CreateAddress": {
      "input": {
        "type": "structure",
        "required": [
          "Address"
        ],
        "members": {
          "Address": {
            "shape": "S8"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "AddressId": {}
        }
      }
    },
    "CreateCluster": {
      "input": {
        "type": "structure",
        "required": [
          "JobType",
          "Resources",
          "AddressId",
          "RoleARN",
          "ShippingOption"
        ],
        "members": {
          "JobType": {},
          "Resources": {
            "shape": "Se"
          },
          "Description": {},
          "AddressId": {},
          "KmsKeyARN": {},
          "RoleARN": {},
          "SnowballType": {},
          "ShippingOption": {},
          "Notification": {
            "shape": "Sr"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ClusterId": {}
        }
      }
    },
    "CreateJob": {
      "input": {
        "type": "structure",
        "members": {
          "JobType": {},
          "Resources": {
            "shape": "Se"
          },
          "Description": {},
          "AddressId": {},
          "KmsKeyARN": {},
          "RoleARN": {},
          "SnowballCapacityPreference": {},
          "ShippingOption": {},
          "Notification": {
            "shape": "Sr"
          },
          "ClusterId": {},
          "SnowballType": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "JobId": {}
        }
      }
    },
    "DescribeAddress": {
      "input": {
        "type": "structure",
        "required": [
          "AddressId"
        ],
        "members": {
          "AddressId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Address": {
            "shape": "S8"
          }
        }
      }
    },
    "DescribeAddresses": {
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Addresses": {
            "type": "list",
            "member": {
              "shape": "S8"
            }
          },
          "NextToken": {}
        }
      }
    },
    "DescribeCluster": {
      "input": {
        "type": "structure",
        "required": [
          "ClusterId"
        ],
        "members": {
          "ClusterId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ClusterMetadata": {
            "type": "structure",
            "members": {
              "ClusterId": {},
              "Description": {},
              "KmsKeyARN": {},
              "RoleARN": {},
              "ClusterState": {},
              "JobType": {},
              "SnowballType": {},
              "CreationDate": {
                "type": "timestamp"
              },
              "Resources": {
                "shape": "Se"
              },
              "AddressId": {},
              "ShippingOption": {},
              "Notification": {
                "shape": "Sr"
              }
            }
          }
        }
      }
    },
    "DescribeJob": {
      "input": {
        "type": "structure",
        "required": [
          "JobId"
        ],
        "members": {
          "JobId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "JobMetadata": {
            "shape": "S1d"
          },
          "SubJobMetadata": {
            "type": "list",
            "member": {
              "shape": "S1d"
            }
          }
        }
      }
    },
    "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"
          }
        }
      }
    },
    "ListClusterJobs": {
      "input": {
        "type": "structure",
        "required": [
          "ClusterId"
        ],
        "members": {
          "ClusterId": {},
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "JobListEntries": {
            "shape": "S1t"
          },
          "NextToken": {}
        }
      }
    },
    "ListClusters": {
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ClusterListEntries": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ClusterId": {},
                "ClusterState": {},
                "CreationDate": {
                  "type": "timestamp"
                },
                "Description": {}
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListJobs": {
      "input": {
        "type": "structure",
        "members": {
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "JobListEntries": {
            "shape": "S1t"
          },
          "NextToken": {}
        }
      }
    },
    "UpdateCluster": {
      "input": {
        "type": "structure",
        "required": [
          "ClusterId"
        ],
        "members": {
          "ClusterId": {},
          "RoleARN": {},
          "Description": {},
          "Resources": {
            "shape": "Se"
          },
          "AddressId": {},
          "ShippingOption": {},
          "Notification": {
            "shape": "Sr"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateJob": {
      "input": {
        "type": "structure",
        "required": [
          "JobId"
        ],
        "members": {
          "JobId": {},
          "RoleARN": {},
          "Notification": {
            "shape": "Sr"
          },
          "Resources": {
            "shape": "Se"
          },
          "AddressId": {},
          "ShippingOption": {},
          "Description": {},
          "SnowballCapacityPreference": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    }
  },
  "shapes": {
    "S8": {
      "type": "structure",
      "members": {
        "AddressId": {},
        "Name": {},
        "Company": {},
        "Street1": {},
        "Street2": {},
        "Street3": {},
        "City": {},
        "StateOrProvince": {},
        "PrefectureOrDistrict": {},
        "Landmark": {},
        "Country": {},
        "PostalCode": {},
        "PhoneNumber": {}
      }
    },
    "Se": {
      "type": "structure",
      "members": {
        "S3Resources": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "BucketArn": {},
              "KeyRange": {
                "type": "structure",
                "members": {
                  "BeginMarker": {},
                  "EndMarker": {}
                }
              }
            }
          }
        },
        "LambdaResources": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "LambdaArn": {},
              "EventTriggers": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "EventResourceARN": {}
                  }
                }
              }
            }
          }
        }
      }
    },
    "Sr": {
      "type": "structure",
      "members": {
        "SnsTopicARN": {},
        "JobStatesToNotify": {
          "type": "list",
          "member": {}
        },
        "NotifyAll": {
          "type": "boolean"
        }
      }
    },
    "S1d": {
      "type": "structure",
      "members": {
        "JobId": {},
        "JobState": {},
        "JobType": {},
        "SnowballType": {},
        "CreationDate": {
          "type": "timestamp"
        },
        "Resources": {
          "shape": "Se"
        },
        "Description": {},
        "KmsKeyARN": {},
        "RoleARN": {},
        "AddressId": {},
        "ShippingDetails": {
          "type": "structure",
          "members": {
            "ShippingOption": {},
            "InboundShipment": {
              "shape": "S1f"
            },
            "OutboundShipment": {
              "shape": "S1f"
            }
          }
        },
        "SnowballCapacityPreference": {},
        "Notification": {
          "shape": "Sr"
        },
        "DataTransferProgress": {
          "type": "structure",
          "members": {
            "BytesTransferred": {
              "type": "long"
            },
            "ObjectsTransferred": {
              "type": "long"
            },
            "TotalBytes": {
              "type": "long"
            },
            "TotalObjects": {
              "type": "long"
            }
          }
        },
        "JobLogInfo": {
          "type": "structure",
          "members": {
            "JobCompletionReportURI": {},
            "JobSuccessLogURI": {},
            "JobFailureLogURI": {}
          }
        },
        "ClusterId": {}
      }
    },
    "S1f": {
      "type": "structure",
      "members": {
        "Status": {},
        "TrackingNumber": {}
      }
    },
    "S1t": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "JobId": {},
          "JobState": {},
          "IsMaster": {
            "type": "boolean"
          },
          "JobType": {},
          "SnowballType": {},
          "CreationDate": {
            "type": "timestamp"
          },
          "Description": {}
        }
      }
    }
  }
}