forked from uncloud/uncloud
59 lines
1.2 KiB
Markdown
59 lines
1.2 KiB
Markdown
|
## Introduction
|
||
|
|
||
|
This article describes how models relate to each other and what the
|
||
|
design ideas are. It is meant to prevent us from double implementing
|
||
|
something or changing something that is already solved.
|
||
|
|
||
|
|
||
|
## Products
|
||
|
|
||
|
A product is something someone can order. We might have "low level"
|
||
|
products that need to be composed (= higher degree of flexibility, but
|
||
|
more amount of details necessary) and "composed products" that present
|
||
|
some defaults or select other products automatically (f.i. a "dual
|
||
|
stack VM" can be a VM + a disk + an IPv4 address).
|
||
|
|
||
|
|
||
|
## Bills
|
||
|
|
||
|
Bills represent active orders of a month. Bills can be shown during a
|
||
|
month but only become definitive at the end of the month.
|
||
|
|
||
|
|
||
|
## Orders
|
||
|
|
||
|
When
|
||
|
|
||
|
## Payment Methods
|
||
|
|
||
|
Users/customers can register payment methods.
|
||
|
|
||
|
|
||
|
## Sample flows / products
|
||
|
|
||
|
### A VM snapshot
|
||
|
|
||
|
A VM snapshot creates a snapshot of all disks attached to a VM to be
|
||
|
able to rollback the VM to a previous state.
|
||
|
|
||
|
Creating a VM snapshot (-product) creates a related order. Deleting a
|
||
|
VMSnapshotproduct sets the order to deleted.
|
||
|
|
||
|
|
||
|
### Object Storage
|
||
|
|
||
|
(tbd by Balazs)
|
||
|
|
||
|
|
||
|
### A "raw" VM
|
||
|
|
||
|
(tbd by Ahmed)
|
||
|
|
||
|
### An IPv6 only VM
|
||
|
|
||
|
(tbd by Ahmed)
|
||
|
|
||
|
### A dual stack VM
|
||
|
|
||
|
(tbd by Ahmed)
|