71 lines
2.4 KiB
Python
71 lines
2.4 KiB
Python
|
# Generated by Django 5.2 on 2025-05-20 09:08
|
||
|
|
||
|
import django.db.models.deletion
|
||
|
from django.db import migrations, models
|
||
|
|
||
|
|
||
|
class Migration(migrations.Migration):
|
||
|
|
||
|
dependencies = [
|
||
|
("services", "0021_alter_consultingpartner_options_and_more"),
|
||
|
]
|
||
|
|
||
|
operations = [
|
||
|
migrations.CreateModel(
|
||
|
name="ComputePlan",
|
||
|
fields=[
|
||
|
(
|
||
|
"id",
|
||
|
models.BigAutoField(
|
||
|
auto_created=True,
|
||
|
primary_key=True,
|
||
|
serialize=False,
|
||
|
verbose_name="ID",
|
||
|
),
|
||
|
),
|
||
|
("name", models.CharField(max_length=200)),
|
||
|
("vcpus", models.FloatField(help_text="Number of available vCPUs")),
|
||
|
("ram", models.FloatField(help_text="Amount of RAM available")),
|
||
|
(
|
||
|
"cpu_mem_ratio",
|
||
|
models.FloatField(
|
||
|
help_text="vCPU to Memory ratio. How much vCPU per GiB RAM is available?"
|
||
|
),
|
||
|
),
|
||
|
(
|
||
|
"price_chf",
|
||
|
models.FloatField(help_text="Plan price in CHF excl. VAT"),
|
||
|
),
|
||
|
(
|
||
|
"price_eur",
|
||
|
models.FloatField(
|
||
|
blank=True, help_text="Plan price in EUR excl. VAT", null=True
|
||
|
),
|
||
|
),
|
||
|
(
|
||
|
"price_usd",
|
||
|
models.FloatField(
|
||
|
blank=True, help_text="Plan price in USD excl. VAT", null=True
|
||
|
),
|
||
|
),
|
||
|
(
|
||
|
"active",
|
||
|
models.BooleanField(default=True, help_text="Is the plan active?"),
|
||
|
),
|
||
|
("valid_from", models.DateTimeField(blank=True, null=True)),
|
||
|
("valid_to", models.DateTimeField(blank=True, null=True)),
|
||
|
(
|
||
|
"cloud_provider",
|
||
|
models.ForeignKey(
|
||
|
on_delete=django.db.models.deletion.CASCADE,
|
||
|
related_name="compute_plans",
|
||
|
to="services.cloudprovider",
|
||
|
),
|
||
|
),
|
||
|
],
|
||
|
options={
|
||
|
"ordering": ["price_chf"],
|
||
|
},
|
||
|
),
|
||
|
]
|