Merge pull request #19 from mcna/master
[zs3.git] / package.lisp
blobb08ec9b5c679bf8c6d09ce9b26460f16d8260969
1 ;;;;
2 ;;;; Copyright (c) 2008 Zachary Beane, All Rights Reserved
3 ;;;;
4 ;;;; Redistribution and use in source and binary forms, with or without
5 ;;;; modification, are permitted provided that the following conditions
6 ;;;; are met:
7 ;;;;
8 ;;;; * Redistributions of source code must retain the above copyright
9 ;;;; notice, this list of conditions and the following disclaimer.
10 ;;;;
11 ;;;; * Redistributions in binary form must reproduce the above
12 ;;;; copyright notice, this list of conditions and the following
13 ;;;; disclaimer in the documentation and/or other materials
14 ;;;; provided with the distribution.
15 ;;;;
16 ;;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
17 ;;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 ;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 ;;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
20 ;;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 ;;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22 ;;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 ;;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 ;;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 ;;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 ;;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 ;;;;
28 ;;;; package.lisp
30 (defpackage #:zs3
31 (:use #:cl)
32 ;; In documentation order and grouping:
33 ;; Credentials
34 (:export #:*credentials*
35 #:access-key
36 #:secret-key
37 #:file-credentials)
38 ;; Buckets
39 (:export #:all-buckets
40 #:creation-date
41 #:name
42 #:all-keys
43 #:bucket-exists-p
44 #:create-bucket
45 #:delete-bucket
46 #:bucket-location
47 #:bucket-lifecycle
48 #:lifecycle-rule)
49 ;; Bucket queries
50 (:export #:query-bucket
51 #:continue-bucket-query
52 #:bucket-name
53 #:keys
54 #:common-prefixes
55 #:prefix
56 #:marker
57 #:delimiter
58 #:truncatedp
59 #:last-modified
60 #:etag
61 #:size
62 #:owner
63 #:storage-class)
64 ;; Objects
65 (:export #:get-object
66 #:get-vector
67 #:get-string
68 #:get-file
69 #:put-object
70 #:put-vector
71 #:put-string
72 #:put-file
73 #:put-stream
74 #:copy-object
75 #:delete-object
76 #:delete-objects
77 #:delete-all-objects
78 #:object-metadata
79 #:set-storage-class
80 #:restore-object
81 #:object-restoration-status)
82 ;; Access Control
83 (:export #:get-acl
84 #:put-acl
85 #:grant
86 #:acl-eqv
87 #:*all-users*
88 #:*aws-users*
89 #:*log-delivery*
90 #:acl-email
91 #:acl-person
92 #:me
93 #:make-public
94 #:make-private)
95 ;; Logging
96 (:export #:enable-logging-to
97 #:disable-logging-to
98 #:enable-logging
99 #:disable-logging
100 #:logging-setup)
101 ;; Misc.
102 (:export #:*use-ssl*
103 #:*s3-endpoint*
104 #:*s3-region*
105 #:*use-content-md5*
106 #:*signed-payload*
107 #:make-post-policy
108 #:head
109 #:authorized-url
110 #:resource-url)
111 ;; Util
112 (:export #:octet-vector
113 #:now+
114 #:now-
115 #:file-etag
116 #:parameters-alist
117 #:clear-redirects)
118 ;; Conditions
119 (:export #:slow-down
120 #:no-such-bucket
121 #:no-such-key
122 #:access-denied
123 #:signature-mismatch
124 #:precondition-failed
125 #:invalid-bucket-name
126 #:bucket-exists
127 #:too-many-buckets
128 #:ambiguous-grant
129 #:bucket-not-empty
130 #:invalid-logging-target
131 #:key-too-long
132 #:request-time-skewed
133 #:operation-aborted
134 #:no-such-lifecycle-configuration
135 #:restore-already-in-progress)
136 ;; Cloudfront distribution management
137 (:export #:status
138 #:origin-bucket
139 #:domain-name
140 #:cnames
141 #:default-root-object
142 #:logging-bucket
143 #:logging-prefix
144 #:enabledp
145 #:comment
146 ;; Queries & updates
147 #:all-distributions
148 #:create-distribution
149 #:delete-distribution
150 #:refresh
151 #:enable
152 #:disable
153 #:ensure-cname
154 #:remove-cname
155 #:set-comment
156 #:distributions-for-bucket
157 ;; Invalidations
158 #:invalidate-paths
159 ;; Conditions
160 #:distribution-error
161 #:distribution-error-type
162 #:distribution-error-code
163 #:distribution-error-http-status-code
164 #:distribution-error-detail
165 #:distribution-not-disabled
166 #:cname-already-exists
167 #:too-many-distributions)
168 (:shadow #:method)
169 (:shadowing-import-from #:cxml
170 #:with-element
171 #:text
172 #:attribute
173 #:attribute*))