0001_initial.py 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. # -*- coding: utf-8 -*-
  2. # Generated by Django 1.9.7 on 2016-06-22 18:21
  3. from __future__ import unicode_literals
  4. import django.core.validators
  5. from django.db import migrations, models
  6. import django.db.models.deletion
  7. import ipam.fields
  8. class Migration(migrations.Migration):
  9. initial = True
  10. dependencies = [
  11. ('dcim', '0001_initial'),
  12. ]
  13. operations = [
  14. migrations.CreateModel(
  15. name='Aggregate',
  16. fields=[
  17. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  18. ('created', models.DateField(auto_now_add=True)),
  19. ('last_updated', models.DateTimeField(auto_now=True)),
  20. ('family', models.PositiveSmallIntegerField(choices=[(4, b'IPv4'), (6, b'IPv6')])),
  21. ('prefix', ipam.fields.IPNetworkField()),
  22. ('date_added', models.DateField(blank=True, null=True)),
  23. ('description', models.CharField(blank=True, max_length=100)),
  24. ],
  25. options={
  26. 'ordering': ['family', 'prefix'],
  27. },
  28. ),
  29. migrations.CreateModel(
  30. name='IPAddress',
  31. fields=[
  32. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  33. ('created', models.DateField(auto_now_add=True)),
  34. ('last_updated', models.DateTimeField(auto_now=True)),
  35. ('family', models.PositiveSmallIntegerField(choices=[(4, b'IPv4'), (6, b'IPv6')], editable=False)),
  36. ('address', ipam.fields.IPAddressField()),
  37. ('description', models.CharField(blank=True, max_length=100)),
  38. ('interface', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ip_addresses', to='dcim.Interface')),
  39. ('nat_inside', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='nat_outside', to='ipam.IPAddress', verbose_name=b'NAT IP (inside)')),
  40. ],
  41. options={
  42. 'ordering': ['family', 'address'],
  43. 'verbose_name': 'IP address',
  44. 'verbose_name_plural': 'IP addresses',
  45. },
  46. ),
  47. migrations.CreateModel(
  48. name='Prefix',
  49. fields=[
  50. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  51. ('created', models.DateField(auto_now_add=True)),
  52. ('last_updated', models.DateTimeField(auto_now=True)),
  53. ('family', models.PositiveSmallIntegerField(choices=[(4, b'IPv4'), (6, b'IPv6')], editable=False)),
  54. ('prefix', ipam.fields.IPNetworkField()),
  55. ('status', models.PositiveSmallIntegerField(choices=[(0, b'Container'), (1, b'Active'), (2, b'Reserved'), (3, b'Deprecated')], default=1, verbose_name=b'Status')),
  56. ('description', models.CharField(blank=True, max_length=100)),
  57. ],
  58. options={
  59. 'ordering': ['family', 'prefix'],
  60. 'verbose_name_plural': 'prefixes',
  61. },
  62. ),
  63. migrations.CreateModel(
  64. name='RIR',
  65. fields=[
  66. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  67. ('name', models.CharField(max_length=50, unique=True)),
  68. ('slug', models.SlugField(unique=True)),
  69. ],
  70. options={
  71. 'ordering': ['name'],
  72. 'verbose_name': 'RIR',
  73. 'verbose_name_plural': 'RIRs',
  74. },
  75. ),
  76. migrations.CreateModel(
  77. name='Role',
  78. fields=[
  79. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  80. ('name', models.CharField(max_length=50, unique=True)),
  81. ('slug', models.SlugField(unique=True)),
  82. ('weight', models.PositiveSmallIntegerField(default=1000)),
  83. ],
  84. options={
  85. 'ordering': ['weight', 'name'],
  86. },
  87. ),
  88. migrations.CreateModel(
  89. name='VLAN',
  90. fields=[
  91. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  92. ('created', models.DateField(auto_now_add=True)),
  93. ('last_updated', models.DateTimeField(auto_now=True)),
  94. ('vid', models.PositiveSmallIntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(4094)], verbose_name=b'ID')),
  95. ('name', models.CharField(max_length=30)),
  96. ('status', models.PositiveSmallIntegerField(choices=[(1, b'Active'), (2, b'Reserved'), (3, b'Deprecated')], default=1, verbose_name=b'Status')),
  97. ('role', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='vlans', to='ipam.Role')),
  98. ('site', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='vlans', to='dcim.Site')),
  99. ],
  100. options={
  101. 'ordering': ['site', 'vid'],
  102. 'verbose_name': 'VLAN',
  103. 'verbose_name_plural': 'VLANs',
  104. },
  105. ),
  106. migrations.CreateModel(
  107. name='VRF',
  108. fields=[
  109. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  110. ('created', models.DateField(auto_now_add=True)),
  111. ('last_updated', models.DateTimeField(auto_now=True)),
  112. ('name', models.CharField(max_length=50)),
  113. ('rd', models.CharField(max_length=21, unique=True, verbose_name=b'Route distinguisher')),
  114. ('description', models.CharField(blank=True, max_length=100)),
  115. ],
  116. options={
  117. 'ordering': ['name'],
  118. 'verbose_name': 'VRF',
  119. 'verbose_name_plural': 'VRFs',
  120. },
  121. ),
  122. migrations.AddField(
  123. model_name='prefix',
  124. name='role',
  125. field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='prefixes', to='ipam.Role'),
  126. ),
  127. migrations.AddField(
  128. model_name='prefix',
  129. name='site',
  130. field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='prefixes', to='dcim.Site'),
  131. ),
  132. migrations.AddField(
  133. model_name='prefix',
  134. name='vlan',
  135. field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='prefixes', to='ipam.VLAN', verbose_name=b'VLAN'),
  136. ),
  137. migrations.AddField(
  138. model_name='prefix',
  139. name='vrf',
  140. field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='prefixes', to='ipam.VRF', verbose_name=b'VRF'),
  141. ),
  142. migrations.AddField(
  143. model_name='ipaddress',
  144. name='vrf',
  145. field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='ip_addresses', to='ipam.VRF', verbose_name=b'VRF'),
  146. ),
  147. migrations.AddField(
  148. model_name='aggregate',
  149. name='rir',
  150. field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='aggregates', to='ipam.RIR', verbose_name=b'RIR'),
  151. ),
  152. ]