1.2 KiB
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)