Add the start of bucket lifecycle management.
[zs3.git] / package.lisp
blobf7c4ccec588f69e3438671dacdbce1fe03f34991
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 queries
48 (:export #:query-bucket
49 #:continue-bucket-query
50 #:bucket-name
51 #:keys
52 #:common-prefixes
53 #:prefix
54 #:marker
55 #:delimiter
56 #:truncatedp
57 #:last-modified
58 #:etag
59 #:size
60 #:owner
61 #:storage-class)
62 ;; Objects
63 (:export #:get-object
64 #:get-vector
65 #:get-string
66 #:get-file
67 #:put-object
68 #:put-vector
69 #:put-string
70 #:put-file
71 #:put-stream
72 #:copy-object
73 #:delete-object
74 #:delete-objects
75 #:delete-all-objects
76 #:object-metadata
77 #:set-storage-class)
78 ;; Access Control
79 (:export #:get-acl
80 #:put-acl
81 #:grant
82 #:acl-eqv
83 #:*all-users*
84 #:*aws-users*
85 #:*log-delivery*
86 #:acl-email
87 #:acl-person
88 #:me
89 #:make-public
90 #:make-private)
91 ;; Logging
92 (:export #:enable-logging-to
93 #:disable-logging-to
94 #:enable-logging
95 #:disable-logging
96 #:logging-setup)
97 ;; Misc.
98 (:export #:*use-ssl*
99 #:make-post-policy
100 #:head
101 #:authorized-url
102 #:resource-url)
103 ;; Util
104 (:export #:octet-vector
105 #:now+
106 #:now-
107 #:file-etag
108 #:parameters-alist
109 #:clear-redirects)
110 ;; Conditions
111 (:export #:slow-down
112 #:no-such-bucket
113 #:no-such-key
114 #:access-denied
115 #:signature-mismatch
116 #:precondition-failed
117 #:invalid-bucket-name
118 #:bucket-exists
119 #:too-many-buckets
120 #:ambiguous-grant
121 #:bucket-not-empty
122 #:invalid-logging-target
123 #:key-too-long
124 #:request-time-skewed
125 #:operation-aborted)
126 ;; Cloudfront distribution management
127 (:export #:status
128 #:origin-bucket
129 #:domain-name
130 #:cnames
131 #:default-root-object
132 #:logging-bucket
133 #:logging-prefix
134 #:enabledp
135 #:comment
136 ;; Queries & updates
137 #:all-distributions
138 #:create-distribution
139 #:delete-distribution
140 #:refresh
141 #:enable
142 #:disable
143 #:ensure-cname
144 #:remove-cname
145 #:set-comment
146 #:distributions-for-bucket
147 ;; Invalidations
148 #:invalidate-paths
149 ;; Conditions
150 #:distribution-error
151 #:distribution-error-type
152 #:distribution-error-code
153 #:distribution-error-http-status-code
154 #:distribution-error-detail
155 #:distribution-not-disabled
156 #:cname-already-exists
157 #:too-many-distributions)
158 (:shadow #:method))