* snapshot feature
** product: vm-snapshot
** flow
*** list all my VMs
**** get the uuid of the VM I want to take a snapshot of
*** request a snapshot
```
vmuuid=$(http nicocustomer
http -a nicocustomer:xxx http://uncloud.ch/vm/create_snapshot uuid=
password=...
```
** backend realisation
*** list snapshots
    - have them in the DB
    - create an entry on create
*** creating snapshots
    - vm sync / fsync?
    - rbd snapshot
      - host/cluster mapping?
      - need image(s)

* steps
** DONE authenticate via ldap
   CLOSED: [2020-02-20 Thu 19:05]
** DONE Make classes / views require authentication
   CLOSED: [2020-02-20 Thu 19:05]
** TODO register credit card
*** TODO find out what saving with us
*** Info
**** should not be fully saved in the DB
**** model needs to be a bit different
* Decide where to save sensitive data
** stripe access key, etc.
* python requirements (nicohack202002)
  django djangorestframework django-auth-ldap stripe
* os package requirements (alpine)
  openldap-dev
* VPN case
** put on /orders with uuid
** register cc
* CC
** TODO check whether we can register or not at stripe
* membership
** required for "smaller" / "shorter" products

* TODO Membership missing
* Flows to be implemented - see https://redmine.ungleich.ch/issues/7609
** Membership
*** 5 CHF
** Django Hosting
*** One time payment 35 CHF
*** Monthly payment depends on VM size
*** Parameters: same as IPv6 only VM
** IPv6 VPN
*** Parameters: none
*** Is for free if the customer has an active VM
** IPv6 only VM
*** Parameters: cores, ram, os_disk_size, OS
* Django rest framework
** viewset: .list and .create
** view: .get .post
* TODO register CC
* DONE list products
  CLOSED: [2020-02-24 Mon 20:15]
* An ungleich account - can be registered for free on
  https://account.ungleich.ch
* httpie installed (provides the http command)

## Get a membership


## Registering a payment method

To be able to pay for the membership, you will need to register a
credit card or apply for payment on bill (TO BE IMPLEMENTED).

### Register credit card

```
http POST https://api.ungleich.ch/membership \
    username=nico password=yourpassword \
    cc_number=.. \
    cc_

```



### Request payment via bill




## Create the membership


```
http POST https://api.ungleich.ch/membership username=nico password=yourpassword

```

## List available products
