/
service.lisp
56 lines (48 loc) · 1.24 KB
/
service.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
;;;; service.lisp
(in-package #:zpb-aws)
(defgeneric endpoint (service))
(defgeneric signature-host (service))
(defclass service ()
((signature-host
:initarg :signature-host
:accessor signature-host)
(endpoint
:initarg :endpoint
:accessor endpoint)
(api-version
:initarg :api-version
:accessor api-version)
(description
:initarg :description
:accessor description)
(name
:initarg :name
:accessor name)))
(defclass dummy-service (aws-service)
((signature-host
:reader signature-host
:initform "dummy.xach.com")
(endpoint
:reader endpoint
:initform "http://dummy.xach.com/foo")))
(defclass iam (service)
()
(:default-initargs
:endpoint "https://iam.amazonaws.com/"
:signature-host "iam.amazonaws.com"
:api-version "2010-05-08"
:description "Identity and Access Management"))
(defclass simpledb (service)
()
(:default-initargs
:endpoint "https://sdb.amazonaws.com/"
:signature-host "sdb.amazonaws.com"
:api-version "2009-04-15"
:description "SimpleDB"))
(defclass ec2 (service)
()
(:default-initargs
:endpoint "https://ec2.amazonaws.com/"
:signature-host "ec2.amazonaws.com"
:api-version "2010-08-31"
:description "Elastic Compute Cloud"))