Document relations for Orders and Managed Services
This commit is contained in:
parent
e9ef2acb06
commit
5c2d2a5b94
1 changed files with 29 additions and 5 deletions
|
@ -19,16 +19,29 @@ stack VM" can be a VM + a disk + an IPv4 address).
|
||||||
Bills represent active orders of a month. Bills can be shown during a
|
Bills represent active orders of a month. Bills can be shown during a
|
||||||
month but only become definitive at the end of the month.
|
month but only become definitive at the end of the month.
|
||||||
|
|
||||||
|
|
||||||
## Orders
|
## Orders
|
||||||
|
|
||||||
When
|
When customer X order a (set) of product, it generates an order for billing
|
||||||
|
purposes. The ordered products point to that order and register an Order Record
|
||||||
|
at creation.
|
||||||
|
|
||||||
|
Orders and Order Records are assumed immutable => they are used to generate
|
||||||
|
bills and should not be mutated. If a product is updated (e.g. adding RAM to
|
||||||
|
VM), a new order should be generated.
|
||||||
|
|
||||||
|
The order MUST NOT be deleted when a product is deleted, as it is used for
|
||||||
|
billing (including past bills).
|
||||||
|
|
||||||
|
### Order record
|
||||||
|
|
||||||
|
Used to store billing details of a product at creation: will stay there even if
|
||||||
|
the product change (e.g. new pricing, updated) and act as some kind of archive.
|
||||||
|
Used to generate bills.
|
||||||
|
|
||||||
## Payment Methods
|
## Payment Methods
|
||||||
|
|
||||||
Users/customers can register payment methods.
|
Users/customers can register payment methods.
|
||||||
|
|
||||||
|
|
||||||
## Sample flows / products
|
## Sample flows / products
|
||||||
|
|
||||||
### A VM snapshot
|
### A VM snapshot
|
||||||
|
@ -39,12 +52,10 @@ able to rollback the VM to a previous state.
|
||||||
Creating a VM snapshot (-product) creates a related order. Deleting a
|
Creating a VM snapshot (-product) creates a related order. Deleting a
|
||||||
VMSnapshotproduct sets the order to deleted.
|
VMSnapshotproduct sets the order to deleted.
|
||||||
|
|
||||||
|
|
||||||
### Object Storage
|
### Object Storage
|
||||||
|
|
||||||
(tbd by Balazs)
|
(tbd by Balazs)
|
||||||
|
|
||||||
|
|
||||||
### A "raw" VM
|
### A "raw" VM
|
||||||
|
|
||||||
(tbd by Ahmed)
|
(tbd by Ahmed)
|
||||||
|
@ -56,3 +67,16 @@ VMSnapshotproduct sets the order to deleted.
|
||||||
### A dual stack VM
|
### A dual stack VM
|
||||||
|
|
||||||
(tbd by Ahmed)
|
(tbd by Ahmed)
|
||||||
|
|
||||||
|
### A managed service (e.g. Matrix-as-a-Service)
|
||||||
|
|
||||||
|
Customer orders service with:
|
||||||
|
* Service-specific configuration: e.g. domain name for matrix
|
||||||
|
* VM configuration:
|
||||||
|
- CPU
|
||||||
|
- Memory
|
||||||
|
- Disk (soon)
|
||||||
|
|
||||||
|
It creates a new Order with two products/records:
|
||||||
|
* Service itself (= management)
|
||||||
|
* Underlying VM
|
||||||
|
|
Loading…
Reference in a new issue