Updated version to 1.3.3.
[zs3.git] / package.lisp
blob652146ea0e22cfdb2aa51f3c5773083cc8e1b4a8
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 ;; Tagging
108 (:export #:get-tagging
109 #:put-tagging
110 #:delete-tagging)
111 ;; Misc.
112 (:export #:*use-ssl*
113 #:*use-keep-alive*
114 #:*keep-alive-stream*
115 #:with-keep-alive
116 #:*s3-endpoint*
117 #:*s3-region*
118 #:*use-content-md5*
119 #:*signed-payload*
120 #:make-post-policy
121 #:head
122 #:authorized-url
123 #:resource-url)
124 ;; Util
125 (:export #:octet-vector
126 #:now+
127 #:now-
128 #:file-etag
129 #:parameters-alist
130 #:clear-redirects)
131 ;; Conditions
132 (:export #:slow-down
133 #:no-such-bucket
134 #:no-such-key
135 #:access-denied
136 #:signature-mismatch
137 #:precondition-failed
138 #:invalid-bucket-name
139 #:bucket-exists
140 #:too-many-buckets
141 #:ambiguous-grant
142 #:bucket-not-empty
143 #:invalid-logging-target
144 #:key-too-long
145 #:request-time-skewed
146 #:operation-aborted
147 #:no-such-lifecycle-configuration
148 #:restore-already-in-progress
149 #:internal-error)
150 ;; Cloudfront distribution management
151 (:export #:status
152 #:origin-bucket
153 #:domain-name
154 #:cnames
155 #:default-root-object
156 #:logging-bucket
157 #:logging-prefix
158 #:enabledp
159 #:comment
160 ;; Queries & updates
161 #:all-distributions
162 #:create-distribution
163 #:delete-distribution
164 #:refresh
165 #:enable
166 #:disable
167 #:ensure-cname
168 #:remove-cname
169 #:set-comment
170 #:distributions-for-bucket
171 ;; Invalidations
172 #:invalidate-paths
173 ;; Conditions
174 #:distribution-error
175 #:distribution-error-type
176 #:distribution-error-code
177 #:distribution-error-http-status-code
178 #:distribution-error-detail
179 #:distribution-not-disabled
180 #:cname-already-exists
181 #:too-many-distributions)
182 (:shadow #:method)
183 (:shadowing-import-from #:cxml
184 #:with-element
185 #:text
186 #:attribute
187 #:attribute*))