Merge pull request #17 from deadtrickster/master
[zs3.git] / package.lisp
blobc76255dd6fbebd3219a41fe2672b3e9939e80f17
1 ;;;;
2 ;;;; Copyright (c) 2008, 2015 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 ;; Responses
39 (:export #:*backoff*
40 #:request-error-response
41 #:http-code
42 #:http-headers
43 #:http-phrase)
44 ;; Buckets
45 (:export #:all-buckets
46 #:creation-date
47 #:name
48 #:all-keys
49 #:bucket-exists-p
50 #:create-bucket
51 #:delete-bucket
52 #:bucket-location
53 #:bucket-lifecycle
54 #:lifecycle-rule)
55 ;; Bucket queries
56 (:export #:query-bucket
57 #:continue-bucket-query
58 #:bucket-name
59 #:keys
60 #:common-prefixes
61 #:prefix
62 #:marker
63 #:delimiter
64 #:truncatedp
65 #:last-modified
66 #:etag
67 #:size
68 #:owner
69 #:storage-class)
70 ;; Objects
71 (:export #:get-object
72 #:get-vector
73 #:get-string
74 #:get-file
75 #:put-object
76 #:put-vector
77 #:put-string
78 #:put-file
79 #:put-stream
80 #:copy-object
81 #:delete-object
82 #:delete-objects
83 #:delete-all-objects
84 #:object-metadata
85 #:set-storage-class
86 #:restore-object
87 #:object-restoration-status)
88 ;; Access Control
89 (:export #:get-acl
90 #:put-acl
91 #:grant
92 #:acl-eqv
93 #:*all-users*
94 #:*aws-users*
95 #:*log-delivery*
96 #:acl-email
97 #:acl-person
98 #:me
99 #:make-public
100 #:make-private)
101 ;; Logging
102 (:export #:enable-logging-to
103 #:disable-logging-to
104 #:enable-logging
105 #:disable-logging
106 #:logging-setup)
107 ;; Misc.
108 (:export #:*use-ssl*
109 #:*use-keep-alive*
110 #:*keep-alive-stream*
111 #:with-keep-alive
112 #:*s3-endpoint*
113 #:*s3-region*
114 #:*use-content-md5*
115 #:*signed-payload*
116 #:make-post-policy
117 #:head
118 #:authorized-url
119 #:resource-url)
120 ;; Util
121 (:export #:octet-vector
122 #:now+
123 #:now-
124 #:file-etag
125 #:parameters-alist
126 #:clear-redirects)
127 ;; Conditions
128 (:export #:slow-down
129 #:no-such-bucket
130 #:no-such-key
131 #:access-denied
132 #:signature-mismatch
133 #:precondition-failed
134 #:invalid-bucket-name
135 #:bucket-exists
136 #:too-many-buckets
137 #:ambiguous-grant
138 #:bucket-not-empty
139 #:invalid-logging-target
140 #:key-too-long
141 #:request-time-skewed
142 #:operation-aborted
143 #:no-such-lifecycle-configuration
144 #:restore-already-in-progress
145 #:internal-error)
146 ;; Cloudfront distribution management
147 (:export #:status
148 #:origin-bucket
149 #:domain-name
150 #:cnames
151 #:default-root-object
152 #:logging-bucket
153 #:logging-prefix
154 #:enabledp
155 #:comment
156 ;; Queries & updates
157 #:all-distributions
158 #:create-distribution
159 #:delete-distribution
160 #:refresh
161 #:enable
162 #:disable
163 #:ensure-cname
164 #:remove-cname
165 #:set-comment
166 #:distributions-for-bucket
167 ;; Invalidations
168 #:invalidate-paths
169 ;; Conditions
170 #:distribution-error
171 #:distribution-error-type
172 #:distribution-error-code
173 #:distribution-error-http-status-code
174 #:distribution-error-detail
175 #:distribution-not-disabled
176 #:cname-already-exists
177 #:too-many-distributions)
178 (:shadow #:method)
179 (:shadowing-import-from #:cxml
180 #:with-element
181 #:text
182 #:attribute
183 #:attribute*))