The ec2-price-finder Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The ec2-price-finder Reference Manual

This is the ec2-price-finder Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Wed Oct 13 10:47:12 2021 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

EC2 Price Finder

EC2 Price Finder helps you quickly find the cheapest EC2 instances for your needs. Also allows you to compare an instance's price across different AWS regions in one go.

Installation

Until the project is added to quicklisp, the easiest way to install it is to clone the repo, create a symlink to the project directory inside ~/quicklisp/local-projects/, or add the project's directory to ASDF:*CENTRAL-REGISTRY*, then run:

(ql:quickload "ec2-price-finder")

You will also need to download the bulk pricing CSV for EC2 from AWS. It is available at the following URL (warning: 1.2 GB file):

https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/index.csv

Usage

Load the previously downloaded pricing file in your Lisp image:

(ec2-price-finder:load-pricing-file "/path/to/index.csv")

After this, you can start the Hunchentoot server.

(ec2-price-finder:start-server 8080)

Now open http://localhost:8080 in the browser to find your instance!

After you are done, simply stop the server as follows:

(ec2-price-finder:stop-server)

Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 ec2-price-finder

Author

Chaitanya Gupta <mail@chaitanyagupta.com>

License

BSD-3-Clause

Description

Quickly find the cheapest EC2 instance that you need across regions

Dependencies
Source

ec2-price-finder.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 ec2-price-finder.asd

Location

ec2-price-finder.asd

Systems

ec2-price-finder (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 ec2-price-finder/package.lisp

Parent

ec2-price-finder (system)

Location

package.lisp

Packages

ec2-price-finder


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 ec2-price-finder/loader.lisp

Dependency

package.lisp (file)

Parent

ec2-price-finder (system)

Location

loader.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 ec2-price-finder/server.lisp

Dependency

loader.lisp (file)

Parent

ec2-price-finder (system)

Location

server.lisp

Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.5 ec2-price-finder/main.lisp

Dependency

server.lisp (file)

Parent

ec2-price-finder (system)

Location

main.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 ec2-price-finder

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Functions

Function: build-image ()
Package

ec2-price-finder

Source

main.lisp (file)

Function: load-pricing-file PATH
Package

ec2-price-finder

Source

main.lisp (file)

Function: start-server PORT
Package

ec2-price-finder

Source

main.lisp (file)

Function: stop-server ()
Package

ec2-price-finder

Source

main.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Constants

Constant: +ec2-price-limit+

Price of an EC2 instance won’t go beyond this - this is needed for MIN comparisons.

Package

ec2-price-finder

Source

server.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Special variables

Special Variable: *acceptor*
Package

ec2-price-finder

Source

main.lisp (file)

Special Variable: *aws-instance-purposes*
Package

ec2-price-finder

Source

loader.lisp (file)

Special Variable: *aws-operating-systems*
Package

ec2-price-finder

Source

loader.lisp (file)

Special Variable: *aws-region-groups*
Package

ec2-price-finder

Source

loader.lisp (file)

Special Variable: *aws-regions*
Package

ec2-price-finder

Source

loader.lisp (file)

Special Variable: *cache-buster*
Package

ec2-price-finder

Source

server.lisp (file)

Special Variable: *css-beautifier*
Package

ec2-price-finder

Source

server.lisp (file)

Special Variable: *default-region-codes*
Package

ec2-price-finder

Source

server.lisp (file)

Special Variable: *document*
Package

ec2-price-finder

Source

loader.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Functions

Function: app-css ()
Package

ec2-price-finder

Source

server.lisp (file)

Function: aws-region-belongs-to-group REGION GROUP
Package

ec2-price-finder

Source

loader.lisp (file)

Function: aws-region-code REGION
Package

ec2-price-finder

Source

loader.lisp (file)

Function: aws-region-code-to-name CODE
Package

ec2-price-finder

Source

loader.lisp (file)

Function: aws-region-group-name REGION-GROUP
Package

ec2-price-finder

Source

loader.lisp (file)

Function: aws-region-group-prefix REGION-GROUP
Package

ec2-price-finder

Source

loader.lisp (file)

Function: aws-region-name REGION
Package

ec2-price-finder

Source

loader.lisp (file)

Function: aws-region-name-to-code NAME
Package

ec2-price-finder

Source

loader.lisp (file)

Function: aws-region-names REGION
Package

ec2-price-finder

Source

loader.lisp (file)

Function: aws-region-short-name REGION
Package

ec2-price-finder

Source

loader.lisp (file)

Function: family-for-instance-type INSTANCE-TYPE
Package

ec2-price-finder

Source

loader.lisp (file)

Function: find-aws-region CODE
Package

ec2-price-finder

Source

loader.lisp (file)

Function: find-aws-region-group PREFIX
Package

ec2-price-finder

Source

loader.lisp (file)

Function: find-cheapest &key DOCUMENT V-CPU MEMORY OPERATING-SYSTEM REGION-CODES INSTANCE-FAMILY
Package

ec2-price-finder

Source

loader.lisp (file)

Function: find-def-for-instance-type INSTANCE-TYPE DEFS
Package

ec2-price-finder

Source

loader.lisp (file)

Function: find-instances ()
Package

ec2-price-finder

Source

server.lisp (file)

Package

ec2-price-finder

Source

server.lisp (file)

Function: head-common ()
Package

ec2-price-finder

Source

server.lisp (file)

Function: home ()
Package

ec2-price-finder

Source

server.lisp (file)

Function: instance-family-groups-from-defs DEFS
Package

ec2-price-finder

Source

loader.lisp (file)

Function: lispify-header-name STRING &optional PACKAGE
Package

ec2-price-finder

Source

loader.lisp (file)

Function: main ()
Package

ec2-price-finder

Source

main.lisp (file)

Function: not-found ()
Package

ec2-price-finder

Source

server.lisp (file)

Function: parse-float-with-junk STRING
Package

ec2-price-finder

Source

server.lisp (file)

Function: parse-integer-with-junk STRING
Package

ec2-price-finder

Source

server.lisp (file)

Function: parse-memory STRING
Package

ec2-price-finder

Source

loader.lisp (file)

Function: parse-memory-with-junk STRING
Package

ec2-price-finder

Source

loader.lisp (file)

Function: process-row ROW FIELD-NAMES DEFS
Package

ec2-price-finder

Source

loader.lisp (file)

Function: read-pricing-file PATH &key PROGRESS-FN
Package

ec2-price-finder

Source

loader.lisp (file)

Function: render-find-form &key DOCUMENT OPEN-SECTIONS V-CPU MEMORY OPERATING-SYSTEM REGION-CODES INSTANCE-FAMILY MORE-SPECS PRICE-PER AUTOFOCUS
Package

ec2-price-finder

Source

server.lisp (file)

Function: render-instance-type-form &key DOCUMENT
Package

ec2-price-finder

Source

server.lisp (file)

Function: render-memory MEMORY
Package

ec2-price-finder

Source

server.lisp (file)

Function: show-instance INSTANCE-TYPE
Package

ec2-price-finder

Source

server.lisp (file)

Function: string-or-nil STRING
Package

ec2-price-finder

Source

server.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Generic functions

Generic Function: defs OBJECT
Package

ec2-price-finder

Methods
Method: defs (DOCUMENT document)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: ecu OBJECT
Package

ec2-price-finder

Methods
Method: ecu (INSTANCE-DEF instance-def)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: hourly OBJECT
Package

ec2-price-finder

Methods
Method: hourly (INSTANCE-PRICE instance-price)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: instance-family OBJECT
Package

ec2-price-finder

Methods
Method: instance-family (INSTANCE-DEF instance-def)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: instance-family-groups OBJECT
Package

ec2-price-finder

Methods
Method: instance-family-groups (DOCUMENT document)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: instance-purpose OBJECT
Package

ec2-price-finder

Methods
Method: instance-purpose (INSTANCE-DEF instance-def)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: instance-type OBJECT
Package

ec2-price-finder

Methods
Method: instance-type (INSTANCE-PRICE instance-price)

automatically generated reader method

Source

loader.lisp (file)

Method: instance-type (INSTANCE-DEF instance-def)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: memory OBJECT
Package

ec2-price-finder

Methods
Method: memory (INSTANCE-DEF instance-def)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: network-performance OBJECT
Package

ec2-price-finder

Methods
Method: network-performance (INSTANCE-DEF instance-def)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: operating-system OBJECT
Package

ec2-price-finder

Methods
Method: operating-system (INSTANCE-PRICE instance-price)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: physical-processor OBJECT
Package

ec2-price-finder

Methods
Method: physical-processor (INSTANCE-DEF instance-def)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: prices OBJECT
Package

ec2-price-finder

Methods
Method: prices (DOCUMENT document)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: publication-date OBJECT
Package

ec2-price-finder

Methods
Method: publication-date (DOCUMENT document)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: region-code OBJECT
Package

ec2-price-finder

Methods
Method: region-code (INSTANCE-PRICE instance-price)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: storage OBJECT
Package

ec2-price-finder

Methods
Method: storage (INSTANCE-DEF instance-def)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: v-cpu OBJECT
Package

ec2-price-finder

Methods
Method: v-cpu (INSTANCE-DEF instance-def)

automatically generated reader method

Source

loader.lisp (file)

Generic Function: version OBJECT
Package

ec2-price-finder

Methods
Method: version (DOCUMENT document)

automatically generated reader method

Source

loader.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Classes

Class: document ()
Package

ec2-price-finder

Source

loader.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: publication-date
Initargs

:publication-date

Readers

publication-date (generic function)

Slot: version
Initargs

:version

Readers

version (generic function)

Slot: defs
Initargs

:defs

Readers

defs (generic function)

Slot: prices
Initargs

:prices

Readers

prices (generic function)

Slot: instance-family-groups
Initargs

:instance-family-groups

Readers

instance-family-groups (generic function)

Class: instance-def ()
Package

ec2-price-finder

Source

loader.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: instance-type
Initargs

:instance-type

Readers

instance-type (generic function)

Slot: instance-family
Readers

instance-family (generic function)

Slot: purpose
Initargs

:purpose

Readers

instance-purpose (generic function)

Slot: v-cpu
Initargs

:v-cpu

Readers

v-cpu (generic function)

Slot: ecu
Initargs

:ecu

Readers

ecu (generic function)

Slot: memory
Initargs

:memory

Readers

memory (generic function)

Slot: storage
Initargs

:storage

Readers

storage (generic function)

Slot: network-performance
Initargs

:network-performance

Readers

network-performance (generic function)

Slot: physical-processor
Initargs

:physical-processor

Readers

physical-processor (generic function)

Class: instance-price ()
Package

ec2-price-finder

Source

loader.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: instance-type
Initargs

:instance-type

Readers

instance-type (generic function)

Slot: region-code
Initargs

:region-code

Readers

region-code (generic function)

Slot: operating-system
Initargs

:operating-system

Readers

operating-system (generic function)

Slot: hourly
Initargs

:hourly

Readers

hourly (generic function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   E   F   L  
Index Entry  Section

E
ec2-price-finder.asd: The ec2-price-finder․asd file
ec2-price-finder/loader.lisp: The ec2-price-finder/loader․lisp file
ec2-price-finder/main.lisp: The ec2-price-finder/main․lisp file
ec2-price-finder/package.lisp: The ec2-price-finder/package․lisp file
ec2-price-finder/server.lisp: The ec2-price-finder/server․lisp file

F
File, Lisp, ec2-price-finder.asd: The ec2-price-finder․asd file
File, Lisp, ec2-price-finder/loader.lisp: The ec2-price-finder/loader․lisp file
File, Lisp, ec2-price-finder/main.lisp: The ec2-price-finder/main․lisp file
File, Lisp, ec2-price-finder/package.lisp: The ec2-price-finder/package․lisp file
File, Lisp, ec2-price-finder/server.lisp: The ec2-price-finder/server․lisp file

L
Lisp File, ec2-price-finder.asd: The ec2-price-finder․asd file
Lisp File, ec2-price-finder/loader.lisp: The ec2-price-finder/loader․lisp file
Lisp File, ec2-price-finder/main.lisp: The ec2-price-finder/main․lisp file
Lisp File, ec2-price-finder/package.lisp: The ec2-price-finder/package․lisp file
Lisp File, ec2-price-finder/server.lisp: The ec2-price-finder/server․lisp file

Jump to:   E   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   A   B   D   E   F   G   H   I   L   M   N   O   P   R   S   V  
Index Entry  Section

A
app-css: Internal functions
aws-region-belongs-to-group: Internal functions
aws-region-code: Internal functions
aws-region-code-to-name: Internal functions
aws-region-group-name: Internal functions
aws-region-group-prefix: Internal functions
aws-region-name: Internal functions
aws-region-name-to-code: Internal functions
aws-region-names: Internal functions
aws-region-short-name: Internal functions

B
build-image: Exported functions

D
defs: Internal generic functions
defs: Internal generic functions

E
ecu: Internal generic functions
ecu: Internal generic functions

F
family-for-instance-type: Internal functions
find-aws-region: Internal functions
find-aws-region-group: Internal functions
find-cheapest: Internal functions
find-def-for-instance-type: Internal functions
find-instances: Internal functions
footer: Internal functions
Function, app-css: Internal functions
Function, aws-region-belongs-to-group: Internal functions
Function, aws-region-code: Internal functions
Function, aws-region-code-to-name: Internal functions
Function, aws-region-group-name: Internal functions
Function, aws-region-group-prefix: Internal functions
Function, aws-region-name: Internal functions
Function, aws-region-name-to-code: Internal functions
Function, aws-region-names: Internal functions
Function, aws-region-short-name: Internal functions
Function, build-image: Exported functions
Function, family-for-instance-type: Internal functions
Function, find-aws-region: Internal functions
Function, find-aws-region-group: Internal functions
Function, find-cheapest: Internal functions
Function, find-def-for-instance-type: Internal functions
Function, find-instances: Internal functions
Function, footer: Internal functions
Function, head-common: Internal functions
Function, home: Internal functions
Function, instance-family-groups-from-defs: Internal functions
Function, lispify-header-name: Internal functions
Function, load-pricing-file: Exported functions
Function, main: Internal functions
Function, not-found: Internal functions
Function, parse-float-with-junk: Internal functions
Function, parse-integer-with-junk: Internal functions
Function, parse-memory: Internal functions
Function, parse-memory-with-junk: Internal functions
Function, process-row: Internal functions
Function, read-pricing-file: Internal functions
Function, render-find-form: Internal functions
Function, render-instance-type-form: Internal functions
Function, render-memory: Internal functions
Function, show-instance: Internal functions
Function, start-server: Exported functions
Function, stop-server: Exported functions
Function, string-or-nil: Internal functions

G
Generic Function, defs: Internal generic functions
Generic Function, ecu: Internal generic functions
Generic Function, hourly: Internal generic functions
Generic Function, instance-family: Internal generic functions
Generic Function, instance-family-groups: Internal generic functions
Generic Function, instance-purpose: Internal generic functions
Generic Function, instance-type: Internal generic functions
Generic Function, memory: Internal generic functions
Generic Function, network-performance: Internal generic functions
Generic Function, operating-system: Internal generic functions
Generic Function, physical-processor: Internal generic functions
Generic Function, prices: Internal generic functions
Generic Function, publication-date: Internal generic functions
Generic Function, region-code: Internal generic functions
Generic Function, storage: Internal generic functions
Generic Function, v-cpu: Internal generic functions
Generic Function, version: Internal generic functions

H
head-common: Internal functions
home: Internal functions
hourly: Internal generic functions
hourly: Internal generic functions

I
instance-family: Internal generic functions
instance-family: Internal generic functions
instance-family-groups: Internal generic functions
instance-family-groups: Internal generic functions
instance-family-groups-from-defs: Internal functions
instance-purpose: Internal generic functions
instance-purpose: Internal generic functions
instance-type: Internal generic functions
instance-type: Internal generic functions
instance-type: Internal generic functions

L
lispify-header-name: Internal functions
load-pricing-file: Exported functions

M
main: Internal functions
memory: Internal generic functions
memory: Internal generic functions
Method, defs: Internal generic functions
Method, ecu: Internal generic functions
Method, hourly: Internal generic functions
Method, instance-family: Internal generic functions
Method, instance-family-groups: Internal generic functions
Method, instance-purpose: Internal generic functions
Method, instance-type: Internal generic functions
Method, instance-type: Internal generic functions
Method, memory: Internal generic functions
Method, network-performance: Internal generic functions
Method, operating-system: Internal generic functions
Method, physical-processor: Internal generic functions
Method, prices: Internal generic functions
Method, publication-date: Internal generic functions
Method, region-code: Internal generic functions
Method, storage: Internal generic functions
Method, v-cpu: Internal generic functions
Method, version: Internal generic functions

N
network-performance: Internal generic functions
network-performance: Internal generic functions
not-found: Internal functions

O
operating-system: Internal generic functions
operating-system: Internal generic functions

P
parse-float-with-junk: Internal functions
parse-integer-with-junk: Internal functions
parse-memory: Internal functions
parse-memory-with-junk: Internal functions
physical-processor: Internal generic functions
physical-processor: Internal generic functions
prices: Internal generic functions
prices: Internal generic functions
process-row: Internal functions
publication-date: Internal generic functions
publication-date: Internal generic functions

R
read-pricing-file: Internal functions
region-code: Internal generic functions
region-code: Internal generic functions
render-find-form: Internal functions
render-instance-type-form: Internal functions
render-memory: Internal functions

S
show-instance: Internal functions
start-server: Exported functions
stop-server: Exported functions
storage: Internal generic functions
storage: Internal generic functions
string-or-nil: Internal functions

V
v-cpu: Internal generic functions
v-cpu: Internal generic functions
version: Internal generic functions
version: Internal generic functions

Jump to:   A   B   D   E   F   G   H   I   L   M   N   O   P   R   S   V  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
C   D   E   H   I   M   N   O   P   R   S   V  
Index Entry  Section

*
*acceptor*: Internal special variables
*aws-instance-purposes*: Internal special variables
*aws-operating-systems*: Internal special variables
*aws-region-groups*: Internal special variables
*aws-regions*: Internal special variables
*cache-buster*: Internal special variables
*css-beautifier*: Internal special variables
*default-region-codes*: Internal special variables
*document*: Internal special variables

+
+ec2-price-limit+: Internal constants

C
Constant, +ec2-price-limit+: Internal constants

D
defs: Internal classes

E
ecu: Internal classes

H
hourly: Internal classes

I
instance-family: Internal classes
instance-family-groups: Internal classes
instance-type: Internal classes
instance-type: Internal classes

M
memory: Internal classes

N
network-performance: Internal classes

O
operating-system: Internal classes

P
physical-processor: Internal classes
prices: Internal classes
publication-date: Internal classes
purpose: Internal classes

R
region-code: Internal classes

S
Slot, defs: Internal classes
Slot, ecu: Internal classes
Slot, hourly: Internal classes
Slot, instance-family: Internal classes
Slot, instance-family-groups: Internal classes
Slot, instance-type: Internal classes
Slot, instance-type: Internal classes
Slot, memory: Internal classes
Slot, network-performance: Internal classes
Slot, operating-system: Internal classes
Slot, physical-processor: Internal classes
Slot, prices: Internal classes
Slot, publication-date: Internal classes
Slot, purpose: Internal classes
Slot, region-code: Internal classes
Slot, storage: Internal classes
Slot, v-cpu: Internal classes
Slot, version: Internal classes
Special Variable, *acceptor*: Internal special variables
Special Variable, *aws-instance-purposes*: Internal special variables
Special Variable, *aws-operating-systems*: Internal special variables
Special Variable, *aws-region-groups*: Internal special variables
Special Variable, *aws-regions*: Internal special variables
Special Variable, *cache-buster*: Internal special variables
Special Variable, *css-beautifier*: Internal special variables
Special Variable, *default-region-codes*: Internal special variables
Special Variable, *document*: Internal special variables
storage: Internal classes

V
v-cpu: Internal classes
version: Internal classes

Jump to:   *   +  
C   D   E   H   I   M   N   O   P   R   S   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   D   E   I   P   S  
Index Entry  Section

C
Class, document: Internal classes
Class, instance-def: Internal classes
Class, instance-price: Internal classes

D
document: Internal classes

E
ec2-price-finder: The ec2-price-finder system
ec2-price-finder: The ec2-price-finder package

I
instance-def: Internal classes
instance-price: Internal classes

P
Package, ec2-price-finder: The ec2-price-finder package

S
System, ec2-price-finder: The ec2-price-finder system

Jump to:   C   D   E   I   P   S