1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ;; Bravais' Edito Princeps: EBook Tool Suite
3 ;; Copyright (C) 2007 Raymond Paul Racine
5 ;; This program is free software: you can redistribute it and/or modify
6 ;; it under the terms of the GNU General Public License as published by
7 ;; the Free Software Foundation, either version 3 of the License, or
8 ;; (at your option) any later version.
10 ;; This program is distributed in the hope that it will be useful,
11 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ;; GNU General Public License for more details.
15 ;; You should have received a copy of the GNU General Public License
16 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
17 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
19 ;; Load AWS credentials from a protected file.
22 (rl3 aws awscredentials)
25 aws-credentials-account-id
26 aws-credentials-access-key
27 aws-credentials-secret-key
28 aws-credentials-associate-tag
35 (only (rnrs io simple)
36 read call-with-input-file)
37 (err5rs records syntactic))
39 (define-record-type aws-credentials #t #t account-id access-key secret-key associate-tag)
41 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
42 ;; Read in aws properties from a protected file.
43 ;; string? -> aws-credentials?
44 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
45 (define (load-credentials fpath)
46 (call-with-input-file fpath
48 (let ((props (read ip)))
49 (make-aws-credentials (cdr (assoc 'account-id props))
50 (cdr (assoc 'access-key props))
51 (cdr (assoc 'secret-key props))
52 (cdr (assoc 'associate-tag props)))))))