refactor and bug fixes
[plstackapi.git] / planetstack / core / migrations / 0001_initial.py
1 # -*- coding: utf-8 -*-
2 from __future__ import unicode_literals
3
4 from django.db import models, migrations
5 import datetime
6 import timezones.fields
7 import core.models.sliver
8 import geoposition.fields
9 import encrypted_fields.fields
10 import core.models.serviceclass
11 import django.utils.timezone
12 from django.conf import settings
13
14
15 class Migration(migrations.Migration):
16
17     dependencies = [
18         ('contenttypes', '0001_initial'),
19     ]
20
21     operations = [
22         migrations.CreateModel(
23             name='User',
24             fields=[
25                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
26                 ('password', models.CharField(max_length=128, verbose_name='password')),
27                 ('last_login', models.DateTimeField(default=django.utils.timezone.now, verbose_name='last login')),
28                 ('email', models.EmailField(unique=True, max_length=255, verbose_name=b'email address', db_index=True)),
29                 ('username', models.CharField(default=b'Something', max_length=255)),
30                 ('firstname', models.CharField(help_text=b"person's given name", max_length=200)),
31                 ('lastname', models.CharField(help_text=b"person's surname", max_length=200)),
32                 ('phone', models.CharField(help_text=b'phone number contact', max_length=100, null=True, blank=True)),
33                 ('user_url', models.URLField(null=True, blank=True)),
34                 ('public_key', models.TextField(help_text=b'Public key string', max_length=1024, null=True, blank=True)),
35                 ('is_active', models.BooleanField(default=True)),
36                 ('is_admin', models.BooleanField(default=True)),
37                 ('is_staff', models.BooleanField(default=True)),
38                 ('is_readonly', models.BooleanField(default=False)),
39                 ('created', models.DateTimeField(auto_now_add=True)),
40                 ('updated', models.DateTimeField(auto_now=True)),
41                 ('enacted', models.DateTimeField(default=None, null=True)),
42                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
43                 ('deleted', models.BooleanField(default=False)),
44                 ('timezone', timezones.fields.TimeZoneField(default=b'America/New_York', max_length=100, choices=[(b'Pacific/Midway', b'(GMT-1100) Pacific/Midway'), (b'Pacific/Niue', b'(GMT-1100) Pacific/Niue'), (b'Pacific/Pago_Pago', b'(GMT-1100) Pacific/Pago_Pago'), (b'Pacific/Honolulu', b'(GMT-1000) Pacific/Honolulu'), (b'Pacific/Johnston', b'(GMT-1000) Pacific/Johnston'), (b'Pacific/Rarotonga', b'(GMT-1000) Pacific/Rarotonga'), (b'Pacific/Tahiti', b'(GMT-1000) Pacific/Tahiti'), (b'US/Hawaii', b'(GMT-1000) US/Hawaii'), (b'Pacific/Marquesas', b'(GMT-0930) Pacific/Marquesas'), (b'America/Adak', b'(GMT-0900) America/Adak'), (b'Pacific/Gambier', b'(GMT-0900) Pacific/Gambier'), (b'America/Anchorage', b'(GMT-0800) America/Anchorage'), (b'America/Juneau', b'(GMT-0800) America/Juneau'), (b'America/Metlakatla', b'(GMT-0800) America/Metlakatla'), (b'America/Nome', b'(GMT-0800) America/Nome'), (b'America/Sitka', b'(GMT-0800) America/Sitka'), (b'America/Yakutat', b'(GMT-0800) America/Yakutat'), (b'Pacific/Pitcairn', b'(GMT-0800) Pacific/Pitcairn'), (b'US/Alaska', b'(GMT-0800) US/Alaska'), (b'America/Creston', b'(GMT-0700) America/Creston'), (b'America/Dawson', b'(GMT-0700) America/Dawson'), (b'America/Dawson_Creek', b'(GMT-0700) America/Dawson_Creek'), (b'America/Hermosillo', b'(GMT-0700) America/Hermosillo'), (b'America/Los_Angeles', b'(GMT-0700) America/Los_Angeles'), (b'America/Phoenix', b'(GMT-0700) America/Phoenix'), (b'America/Santa_Isabel', b'(GMT-0700) America/Santa_Isabel'), (b'America/Tijuana', b'(GMT-0700) America/Tijuana'), (b'America/Vancouver', b'(GMT-0700) America/Vancouver'), (b'America/Whitehorse', b'(GMT-0700) America/Whitehorse'), (b'Canada/Pacific', b'(GMT-0700) Canada/Pacific'), (b'US/Arizona', b'(GMT-0700) US/Arizona'), (b'US/Pacific', b'(GMT-0700) US/Pacific'), (b'America/Belize', b'(GMT-0600) America/Belize'), (b'America/Boise', b'(GMT-0600) America/Boise'), (b'America/Cambridge_Bay', b'(GMT-0600) America/Cambridge_Bay'), (b'America/Chihuahua', b'(GMT-0600) America/Chihuahua'), (b'America/Costa_Rica', b'(GMT-0600) America/Costa_Rica'), (b'America/Denver', b'(GMT-0600) America/Denver'), (b'America/Edmonton', b'(GMT-0600) America/Edmonton'), (b'America/El_Salvador', b'(GMT-0600) America/El_Salvador'), (b'America/Guatemala', b'(GMT-0600) America/Guatemala'), (b'America/Inuvik', b'(GMT-0600) America/Inuvik'), (b'America/Managua', b'(GMT-0600) America/Managua'), (b'America/Mazatlan', b'(GMT-0600) America/Mazatlan'), (b'America/Ojinaga', b'(GMT-0600) America/Ojinaga'), (b'America/Regina', b'(GMT-0600) America/Regina'), (b'America/Swift_Current', b'(GMT-0600) America/Swift_Current'), (b'America/Tegucigalpa', b'(GMT-0600) America/Tegucigalpa'), (b'America/Yellowknife', b'(GMT-0600) America/Yellowknife'), (b'Canada/Mountain', b'(GMT-0600) Canada/Mountain'), (b'Pacific/Galapagos', b'(GMT-0600) Pacific/Galapagos'), (b'US/Mountain', b'(GMT-0600) US/Mountain'), (b'America/Atikokan', b'(GMT-0500) America/Atikokan'), (b'America/Bahia_Banderas', b'(GMT-0500) America/Bahia_Banderas'), (b'America/Bogota', b'(GMT-0500) America/Bogota'), (b'America/Cancun', b'(GMT-0500) America/Cancun'), (b'America/Cayman', b'(GMT-0500) America/Cayman'), (b'America/Chicago', b'(GMT-0500) America/Chicago'), (b'America/Eirunepe', b'(GMT-0500) America/Eirunepe'), (b'America/Guayaquil', b'(GMT-0500) America/Guayaquil'), (b'America/Indiana/Knox', b'(GMT-0500) America/Indiana/Knox'), (b'America/Indiana/Tell_City', b'(GMT-0500) America/Indiana/Tell_City'), (b'America/Jamaica', b'(GMT-0500) America/Jamaica'), (b'America/Lima', b'(GMT-0500) America/Lima'), (b'America/Matamoros', b'(GMT-0500) America/Matamoros'), (b'America/Menominee', b'(GMT-0500) America/Menominee'), (b'America/Merida', b'(GMT-0500) America/Merida'), (b'America/Mexico_City', b'(GMT-0500) America/Mexico_City'), (b'America/Monterrey', b'(GMT-0500) America/Monterrey'), (b'America/North_Dakota/Beulah', b'(GMT-0500) America/North_Dakota/Beulah'), (b'America/North_Dakota/Center', b'(GMT-0500) America/North_Dakota/Center'), (b'America/North_Dakota/New_Salem', b'(GMT-0500) America/North_Dakota/New_Salem'), (b'America/Panama', b'(GMT-0500) America/Panama'), (b'America/Rainy_River', b'(GMT-0500) America/Rainy_River'), (b'America/Rankin_Inlet', b'(GMT-0500) America/Rankin_Inlet'), (b'America/Resolute', b'(GMT-0500) America/Resolute'), (b'America/Rio_Branco', b'(GMT-0500) America/Rio_Branco'), (b'America/Winnipeg', b'(GMT-0500) America/Winnipeg'), (b'Canada/Central', b'(GMT-0500) Canada/Central'), (b'Pacific/Easter', b'(GMT-0500) Pacific/Easter'), (b'US/Central', b'(GMT-0500) US/Central'), (b'America/Caracas', b'(GMT-0430) America/Caracas'), (b'America/Anguilla', b'(GMT-0400) America/Anguilla'), (b'America/Antigua', b'(GMT-0400) America/Antigua'), (b'America/Aruba', b'(GMT-0400) America/Aruba'), (b'America/Asuncion', b'(GMT-0400) America/Asuncion'), (b'America/Barbados', b'(GMT-0400) America/Barbados'), (b'America/Blanc-Sablon', b'(GMT-0400) America/Blanc-Sablon'), (b'America/Boa_Vista', b'(GMT-0400) America/Boa_Vista'), (b'America/Campo_Grande', b'(GMT-0400) America/Campo_Grande'), (b'America/Cuiaba', b'(GMT-0400) America/Cuiaba'), (b'America/Curacao', b'(GMT-0400) America/Curacao'), (b'America/Detroit', b'(GMT-0400) America/Detroit'), (b'America/Dominica', b'(GMT-0400) America/Dominica'), (b'America/Grand_Turk', b'(GMT-0400) America/Grand_Turk'), (b'America/Grenada', b'(GMT-0400) America/Grenada'), (b'America/Guadeloupe', b'(GMT-0400) America/Guadeloupe'), (b'America/Guyana', b'(GMT-0400) America/Guyana'), (b'America/Havana', b'(GMT-0400) America/Havana'), (b'America/Indiana/Indianapolis', b'(GMT-0400) America/Indiana/Indianapolis'), (b'America/Indiana/Marengo', b'(GMT-0400) America/Indiana/Marengo'), (b'America/Indiana/Petersburg', b'(GMT-0400) America/Indiana/Petersburg'), (b'America/Indiana/Vevay', b'(GMT-0400) America/Indiana/Vevay'), (b'America/Indiana/Vincennes', b'(GMT-0400) America/Indiana/Vincennes'), (b'America/Indiana/Winamac', b'(GMT-0400) America/Indiana/Winamac'), (b'America/Iqaluit', b'(GMT-0400) America/Iqaluit'), (b'America/Kentucky/Louisville', b'(GMT-0400) America/Kentucky/Louisville'), (b'America/Kentucky/Monticello', b'(GMT-0400) America/Kentucky/Monticello'), (b'America/Kralendijk', b'(GMT-0400) America/Kralendijk'), (b'America/La_Paz', b'(GMT-0400) America/La_Paz'), (b'America/Lower_Princes', b'(GMT-0400) America/Lower_Princes'), (b'America/Manaus', b'(GMT-0400) America/Manaus'), (b'America/Marigot', b'(GMT-0400) America/Marigot'), (b'America/Martinique', b'(GMT-0400) America/Martinique'), (b'America/Montreal', b'(GMT-0400) America/Montreal'), (b'America/Montserrat', b'(GMT-0400) America/Montserrat'), (b'America/Nassau', b'(GMT-0400) America/Nassau'), (b'America/New_York', b'(GMT-0400) America/New_York'), (b'America/Nipigon', b'(GMT-0400) America/Nipigon'), (b'America/Pangnirtung', b'(GMT-0400) America/Pangnirtung'), (b'America/Port-au-Prince', b'(GMT-0400) America/Port-au-Prince'), (b'America/Port_of_Spain', b'(GMT-0400) America/Port_of_Spain'), (b'America/Porto_Velho', b'(GMT-0400) America/Porto_Velho'), (b'America/Puerto_Rico', b'(GMT-0400) America/Puerto_Rico'), (b'America/Santo_Domingo', b'(GMT-0400) America/Santo_Domingo'), (b'America/St_Barthelemy', b'(GMT-0400) America/St_Barthelemy'), (b'America/St_Kitts', b'(GMT-0400) America/St_Kitts'), (b'America/St_Lucia', b'(GMT-0400) America/St_Lucia'), (b'America/St_Thomas', b'(GMT-0400) America/St_Thomas'), (b'America/St_Vincent', b'(GMT-0400) America/St_Vincent'), (b'America/Thunder_Bay', b'(GMT-0400) America/Thunder_Bay'), (b'America/Toronto', b'(GMT-0400) America/Toronto'), (b'America/Tortola', b'(GMT-0400) America/Tortola'), (b'Canada/Eastern', b'(GMT-0400) Canada/Eastern'), (b'US/Eastern', b'(GMT-0400) US/Eastern'), (b'America/Araguaina', b'(GMT-0300) America/Araguaina'), (b'America/Argentina/Buenos_Aires', b'(GMT-0300) America/Argentina/Buenos_Aires'), (b'America/Argentina/Catamarca', b'(GMT-0300) America/Argentina/Catamarca'), (b'America/Argentina/Cordoba', b'(GMT-0300) America/Argentina/Cordoba'), (b'America/Argentina/Jujuy', b'(GMT-0300) America/Argentina/Jujuy'), (b'America/Argentina/La_Rioja', b'(GMT-0300) America/Argentina/La_Rioja'), (b'America/Argentina/Mendoza', b'(GMT-0300) America/Argentina/Mendoza'), (b'America/Argentina/Rio_Gallegos', b'(GMT-0300) America/Argentina/Rio_Gallegos'), (b'America/Argentina/Salta', b'(GMT-0300) America/Argentina/Salta'), (b'America/Argentina/San_Juan', b'(GMT-0300) America/Argentina/San_Juan'), (b'America/Argentina/San_Luis', b'(GMT-0300) America/Argentina/San_Luis'), (b'America/Argentina/Tucuman', b'(GMT-0300) America/Argentina/Tucuman'), (b'America/Argentina/Ushuaia', b'(GMT-0300) America/Argentina/Ushuaia'), (b'America/Bahia', b'(GMT-0300) America/Bahia'), (b'America/Belem', b'(GMT-0300) America/Belem'), (b'America/Cayenne', b'(GMT-0300) America/Cayenne'), (b'America/Fortaleza', b'(GMT-0300) America/Fortaleza'), (b'America/Glace_Bay', b'(GMT-0300) America/Glace_Bay'), (b'America/Goose_Bay', b'(GMT-0300) America/Goose_Bay'), (b'America/Halifax', b'(GMT-0300) America/Halifax'), (b'America/Maceio', b'(GMT-0300) America/Maceio'), (b'America/Moncton', b'(GMT-0300) America/Moncton'), (b'America/Montevideo', b'(GMT-0300) America/Montevideo'), (b'America/Paramaribo', b'(GMT-0300) America/Paramaribo'), (b'America/Recife', b'(GMT-0300) America/Recife'), (b'America/Santarem', b'(GMT-0300) America/Santarem'), (b'America/Santiago', b'(GMT-0300) America/Santiago'), (b'America/Sao_Paulo', b'(GMT-0300) America/Sao_Paulo'), (b'America/Thule', b'(GMT-0300) America/Thule'), (b'Antarctica/Palmer', b'(GMT-0300) Antarctica/Palmer'), (b'Antarctica/Rothera', b'(GMT-0300) Antarctica/Rothera'), (b'Atlantic/Bermuda', b'(GMT-0300) Atlantic/Bermuda'), (b'Atlantic/Stanley', b'(GMT-0300) Atlantic/Stanley'), (b'Canada/Atlantic', b'(GMT-0300) Canada/Atlantic'), (b'America/St_Johns', b'(GMT-0230) America/St_Johns'), (b'Canada/Newfoundland', b'(GMT-0230) Canada/Newfoundland'), (b'America/Godthab', b'(GMT-0200) America/Godthab'), (b'America/Miquelon', b'(GMT-0200) America/Miquelon'), (b'America/Noronha', b'(GMT-0200) America/Noronha'), (b'Atlantic/South_Georgia', b'(GMT-0200) Atlantic/South_Georgia'), (b'Atlantic/Cape_Verde', b'(GMT-0100) Atlantic/Cape_Verde'), (b'Africa/Abidjan', b'(GMT+0000) Africa/Abidjan'), (b'Africa/Accra', b'(GMT+0000) Africa/Accra'), (b'Africa/Bamako', b'(GMT+0000) Africa/Bamako'), (b'Africa/Banjul', b'(GMT+0000) Africa/Banjul'), (b'Africa/Bissau', b'(GMT+0000) Africa/Bissau'), (b'Africa/Conakry', b'(GMT+0000) Africa/Conakry'), (b'Africa/Dakar', b'(GMT+0000) Africa/Dakar'), (b'Africa/Freetown', b'(GMT+0000) Africa/Freetown'), (b'Africa/Lome', b'(GMT+0000) Africa/Lome'), (b'Africa/Monrovia', b'(GMT+0000) Africa/Monrovia'), (b'Africa/Nouakchott', b'(GMT+0000) Africa/Nouakchott'), (b'Africa/Ouagadougou', b'(GMT+0000) Africa/Ouagadougou'), (b'Africa/Sao_Tome', b'(GMT+0000) Africa/Sao_Tome'), (b'America/Danmarkshavn', b'(GMT+0000) America/Danmarkshavn'), (b'America/Scoresbysund', b'(GMT+0000) America/Scoresbysund'), (b'Atlantic/Azores', b'(GMT+0000) Atlantic/Azores'), (b'Atlantic/Reykjavik', b'(GMT+0000) Atlantic/Reykjavik'), (b'Atlantic/St_Helena', b'(GMT+0000) Atlantic/St_Helena'), (b'GMT', b'(GMT+0000) GMT'), (b'UTC', b'(GMT+0000) UTC'), (b'Africa/Algiers', b'(GMT+0100) Africa/Algiers'), (b'Africa/Bangui', b'(GMT+0100) Africa/Bangui'), (b'Africa/Brazzaville', b'(GMT+0100) Africa/Brazzaville'), (b'Africa/Casablanca', b'(GMT+0100) Africa/Casablanca'), (b'Africa/Douala', b'(GMT+0100) Africa/Douala'), (b'Africa/El_Aaiun', b'(GMT+0100) Africa/El_Aaiun'), (b'Africa/Kinshasa', b'(GMT+0100) Africa/Kinshasa'), (b'Africa/Lagos', b'(GMT+0100) Africa/Lagos'), (b'Africa/Libreville', b'(GMT+0100) Africa/Libreville'), (b'Africa/Luanda', b'(GMT+0100) Africa/Luanda'), (b'Africa/Malabo', b'(GMT+0100) Africa/Malabo'), (b'Africa/Ndjamena', b'(GMT+0100) Africa/Ndjamena'), (b'Africa/Niamey', b'(GMT+0100) Africa/Niamey'), (b'Africa/Porto-Novo', b'(GMT+0100) Africa/Porto-Novo'), (b'Africa/Tunis', b'(GMT+0100) Africa/Tunis'), (b'Atlantic/Canary', b'(GMT+0100) Atlantic/Canary'), (b'Atlantic/Faroe', b'(GMT+0100) Atlantic/Faroe'), (b'Atlantic/Madeira', b'(GMT+0100) Atlantic/Madeira'), (b'Europe/Dublin', b'(GMT+0100) Europe/Dublin'), (b'Europe/Guernsey', b'(GMT+0100) Europe/Guernsey'), (b'Europe/Isle_of_Man', b'(GMT+0100) Europe/Isle_of_Man'), (b'Europe/Jersey', b'(GMT+0100) Europe/Jersey'), (b'Europe/Lisbon', b'(GMT+0100) Europe/Lisbon'), (b'Europe/London', b'(GMT+0100) Europe/London'), (b'Africa/Blantyre', b'(GMT+0200) Africa/Blantyre'), (b'Africa/Bujumbura', b'(GMT+0200) Africa/Bujumbura'), (b'Africa/Ceuta', b'(GMT+0200) Africa/Ceuta'), (b'Africa/Gaborone', b'(GMT+0200) Africa/Gaborone'), (b'Africa/Harare', b'(GMT+0200) Africa/Harare'), (b'Africa/Johannesburg', b'(GMT+0200) Africa/Johannesburg'), (b'Africa/Kigali', b'(GMT+0200) Africa/Kigali'), (b'Africa/Lubumbashi', b'(GMT+0200) Africa/Lubumbashi'), (b'Africa/Lusaka', b'(GMT+0200) Africa/Lusaka'), (b'Africa/Maputo', b'(GMT+0200) Africa/Maputo'), (b'Africa/Maseru', b'(GMT+0200) Africa/Maseru'), (b'Africa/Mbabane', b'(GMT+0200) Africa/Mbabane'), (b'Africa/Tripoli', b'(GMT+0200) Africa/Tripoli'), (b'Africa/Windhoek', b'(GMT+0200) Africa/Windhoek'), (b'Antarctica/Troll', b'(GMT+0200) Antarctica/Troll'), (b'Arctic/Longyearbyen', b'(GMT+0200) Arctic/Longyearbyen'), (b'Europe/Amsterdam', b'(GMT+0200) Europe/Amsterdam'), (b'Europe/Andorra', b'(GMT+0200) Europe/Andorra'), (b'Europe/Belgrade', b'(GMT+0200) Europe/Belgrade'), (b'Europe/Berlin', b'(GMT+0200) Europe/Berlin'), (b'Europe/Bratislava', b'(GMT+0200) Europe/Bratislava'), (b'Europe/Brussels', b'(GMT+0200) Europe/Brussels'), (b'Europe/Budapest', b'(GMT+0200) Europe/Budapest'), (b'Europe/Busingen', b'(GMT+0200) Europe/Busingen'), (b'Europe/Copenhagen', b'(GMT+0200) Europe/Copenhagen'), (b'Europe/Gibraltar', b'(GMT+0200) Europe/Gibraltar'), (b'Europe/Ljubljana', b'(GMT+0200) Europe/Ljubljana'), (b'Europe/Luxembourg', b'(GMT+0200) Europe/Luxembourg'), (b'Europe/Madrid', b'(GMT+0200) Europe/Madrid'), (b'Europe/Malta', b'(GMT+0200) Europe/Malta'), (b'Europe/Monaco', b'(GMT+0200) Europe/Monaco'), (b'Europe/Oslo', b'(GMT+0200) Europe/Oslo'), (b'Europe/Paris', b'(GMT+0200) Europe/Paris'), (b'Europe/Podgorica', b'(GMT+0200) Europe/Podgorica'), (b'Europe/Prague', b'(GMT+0200) Europe/Prague'), (b'Europe/Rome', b'(GMT+0200) Europe/Rome'), (b'Europe/San_Marino', b'(GMT+0200) Europe/San_Marino'), (b'Europe/Sarajevo', b'(GMT+0200) Europe/Sarajevo'), (b'Europe/Skopje', b'(GMT+0200) Europe/Skopje'), (b'Europe/Stockholm', b'(GMT+0200) Europe/Stockholm'), (b'Europe/Tirane', b'(GMT+0200) Europe/Tirane'), (b'Europe/Vaduz', b'(GMT+0200) Europe/Vaduz'), (b'Europe/Vatican', b'(GMT+0200) Europe/Vatican'), (b'Europe/Vienna', b'(GMT+0200) Europe/Vienna'), (b'Europe/Warsaw', b'(GMT+0200) Europe/Warsaw'), (b'Europe/Zagreb', b'(GMT+0200) Europe/Zagreb'), (b'Europe/Zurich', b'(GMT+0200) Europe/Zurich'), (b'Africa/Addis_Ababa', b'(GMT+0300) Africa/Addis_Ababa'), (b'Africa/Asmara', b'(GMT+0300) Africa/Asmara'), (b'Africa/Cairo', b'(GMT+0300) Africa/Cairo'), (b'Africa/Dar_es_Salaam', b'(GMT+0300) Africa/Dar_es_Salaam'), (b'Africa/Djibouti', b'(GMT+0300) Africa/Djibouti'), (b'Africa/Juba', b'(GMT+0300) Africa/Juba'), (b'Africa/Kampala', b'(GMT+0300) Africa/Kampala'), (b'Africa/Khartoum', b'(GMT+0300) Africa/Khartoum'), (b'Africa/Mogadishu', b'(GMT+0300) Africa/Mogadishu'), (b'Africa/Nairobi', b'(GMT+0300) Africa/Nairobi'), (b'Antarctica/Syowa', b'(GMT+0300) Antarctica/Syowa'), (b'Asia/Aden', b'(GMT+0300) Asia/Aden'), (b'Asia/Amman', b'(GMT+0300) Asia/Amman'), (b'Asia/Baghdad', b'(GMT+0300) Asia/Baghdad'), (b'Asia/Bahrain', b'(GMT+0300) Asia/Bahrain'), (b'Asia/Beirut', b'(GMT+0300) Asia/Beirut'), (b'Asia/Damascus', b'(GMT+0300) Asia/Damascus'), (b'Asia/Gaza', b'(GMT+0300) Asia/Gaza'), (b'Asia/Hebron', b'(GMT+0300) Asia/Hebron'), (b'Asia/Jerusalem', b'(GMT+0300) Asia/Jerusalem'), (b'Asia/Kuwait', b'(GMT+0300) Asia/Kuwait'), (b'Asia/Nicosia', b'(GMT+0300) Asia/Nicosia'), (b'Asia/Qatar', b'(GMT+0300) Asia/Qatar'), (b'Asia/Riyadh', b'(GMT+0300) Asia/Riyadh'), (b'Europe/Athens', b'(GMT+0300) Europe/Athens'), (b'Europe/Bucharest', b'(GMT+0300) Europe/Bucharest'), (b'Europe/Chisinau', b'(GMT+0300) Europe/Chisinau'), (b'Europe/Helsinki', b'(GMT+0300) Europe/Helsinki'), (b'Europe/Istanbul', b'(GMT+0300) Europe/Istanbul'), (b'Europe/Kaliningrad', b'(GMT+0300) Europe/Kaliningrad'), (b'Europe/Kiev', b'(GMT+0300) Europe/Kiev'), (b'Europe/Mariehamn', b'(GMT+0300) Europe/Mariehamn'), (b'Europe/Minsk', b'(GMT+0300) Europe/Minsk'), (b'Europe/Riga', b'(GMT+0300) Europe/Riga'), (b'Europe/Sofia', b'(GMT+0300) Europe/Sofia'), (b'Europe/Tallinn', b'(GMT+0300) Europe/Tallinn'), (b'Europe/Uzhgorod', b'(GMT+0300) Europe/Uzhgorod'), (b'Europe/Vilnius', b'(GMT+0300) Europe/Vilnius'), (b'Europe/Zaporozhye', b'(GMT+0300) Europe/Zaporozhye'), (b'Indian/Antananarivo', b'(GMT+0300) Indian/Antananarivo'), (b'Indian/Comoro', b'(GMT+0300) Indian/Comoro'), (b'Indian/Mayotte', b'(GMT+0300) Indian/Mayotte'), (b'Asia/Dubai', b'(GMT+0400) Asia/Dubai'), (b'Asia/Muscat', b'(GMT+0400) Asia/Muscat'), (b'Asia/Tbilisi', b'(GMT+0400) Asia/Tbilisi'), (b'Asia/Yerevan', b'(GMT+0400) Asia/Yerevan'), (b'Europe/Moscow', b'(GMT+0400) Europe/Moscow'), (b'Europe/Samara', b'(GMT+0400) Europe/Samara'), (b'Europe/Simferopol', b'(GMT+0400) Europe/Simferopol'), (b'Europe/Volgograd', b'(GMT+0400) Europe/Volgograd'), (b'Indian/Mahe', b'(GMT+0400) Indian/Mahe'), (b'Indian/Mauritius', b'(GMT+0400) Indian/Mauritius'), (b'Indian/Reunion', b'(GMT+0400) Indian/Reunion'), (b'Asia/Kabul', b'(GMT+0430) Asia/Kabul'), (b'Asia/Tehran', b'(GMT+0430) Asia/Tehran'), (b'Antarctica/Mawson', b'(GMT+0500) Antarctica/Mawson'), (b'Asia/Aqtau', b'(GMT+0500) Asia/Aqtau'), (b'Asia/Aqtobe', b'(GMT+0500) Asia/Aqtobe'), (b'Asia/Ashgabat', b'(GMT+0500) Asia/Ashgabat'), (b'Asia/Baku', b'(GMT+0500) Asia/Baku'), (b'Asia/Dushanbe', b'(GMT+0500) Asia/Dushanbe'), (b'Asia/Karachi', b'(GMT+0500) Asia/Karachi'), (b'Asia/Oral', b'(GMT+0500) Asia/Oral'), (b'Asia/Samarkand', b'(GMT+0500) Asia/Samarkand'), (b'Asia/Tashkent', b'(GMT+0500) Asia/Tashkent'), (b'Indian/Kerguelen', b'(GMT+0500) Indian/Kerguelen'), (b'Indian/Maldives', b'(GMT+0500) Indian/Maldives'), (b'Asia/Colombo', b'(GMT+0530) Asia/Colombo'), (b'Asia/Kolkata', b'(GMT+0530) Asia/Kolkata'), (b'Asia/Kathmandu', b'(GMT+0545) Asia/Kathmandu'), (b'Antarctica/Vostok', b'(GMT+0600) Antarctica/Vostok'), (b'Asia/Almaty', b'(GMT+0600) Asia/Almaty'), (b'Asia/Bishkek', b'(GMT+0600) Asia/Bishkek'), (b'Asia/Dhaka', b'(GMT+0600) Asia/Dhaka'), (b'Asia/Qyzylorda', b'(GMT+0600) Asia/Qyzylorda'), (b'Asia/Thimphu', b'(GMT+0600) Asia/Thimphu'), (b'Asia/Urumqi', b'(GMT+0600) Asia/Urumqi'), (b'Asia/Yekaterinburg', b'(GMT+0600) Asia/Yekaterinburg'), (b'Indian/Chagos', b'(GMT+0600) Indian/Chagos'), (b'Asia/Rangoon', b'(GMT+0630) Asia/Rangoon'), (b'Indian/Cocos', b'(GMT+0630) Indian/Cocos'), (b'Antarctica/Davis', b'(GMT+0700) Antarctica/Davis'), (b'Asia/Bangkok', b'(GMT+0700) Asia/Bangkok'), (b'Asia/Ho_Chi_Minh', b'(GMT+0700) Asia/Ho_Chi_Minh'), (b'Asia/Hovd', b'(GMT+0700) Asia/Hovd'), (b'Asia/Jakarta', b'(GMT+0700) Asia/Jakarta'), (b'Asia/Novokuznetsk', b'(GMT+0700) Asia/Novokuznetsk'), (b'Asia/Novosibirsk', b'(GMT+0700) Asia/Novosibirsk'), (b'Asia/Omsk', b'(GMT+0700) Asia/Omsk'), (b'Asia/Phnom_Penh', b'(GMT+0700) Asia/Phnom_Penh'), (b'Asia/Pontianak', b'(GMT+0700) Asia/Pontianak'), (b'Asia/Vientiane', b'(GMT+0700) Asia/Vientiane'), (b'Indian/Christmas', b'(GMT+0700) Indian/Christmas'), (b'Antarctica/Casey', b'(GMT+0800) Antarctica/Casey'), (b'Asia/Brunei', b'(GMT+0800) Asia/Brunei'), (b'Asia/Choibalsan', b'(GMT+0800) Asia/Choibalsan'), (b'Asia/Hong_Kong', b'(GMT+0800) Asia/Hong_Kong'), (b'Asia/Krasnoyarsk', b'(GMT+0800) Asia/Krasnoyarsk'), (b'Asia/Kuala_Lumpur', b'(GMT+0800) Asia/Kuala_Lumpur'), (b'Asia/Kuching', b'(GMT+0800) Asia/Kuching'), (b'Asia/Macau', b'(GMT+0800) Asia/Macau'), (b'Asia/Makassar', b'(GMT+0800) Asia/Makassar'), (b'Asia/Manila', b'(GMT+0800) Asia/Manila'), (b'Asia/Shanghai', b'(GMT+0800) Asia/Shanghai'), (b'Asia/Singapore', b'(GMT+0800) Asia/Singapore'), (b'Asia/Taipei', b'(GMT+0800) Asia/Taipei'), (b'Asia/Ulaanbaatar', b'(GMT+0800) Asia/Ulaanbaatar'), (b'Australia/Perth', b'(GMT+0800) Australia/Perth'), (b'Australia/Eucla', b'(GMT+0845) Australia/Eucla'), (b'Asia/Dili', b'(GMT+0900) Asia/Dili'), (b'Asia/Irkutsk', b'(GMT+0900) Asia/Irkutsk'), (b'Asia/Jayapura', b'(GMT+0900) Asia/Jayapura'), (b'Asia/Pyongyang', b'(GMT+0900) Asia/Pyongyang'), (b'Asia/Seoul', b'(GMT+0900) Asia/Seoul'), (b'Asia/Tokyo', b'(GMT+0900) Asia/Tokyo'), (b'Pacific/Palau', b'(GMT+0900) Pacific/Palau'), (b'Australia/Adelaide', b'(GMT+0930) Australia/Adelaide'), (b'Australia/Broken_Hill', b'(GMT+0930) Australia/Broken_Hill'), (b'Australia/Darwin', b'(GMT+0930) Australia/Darwin'), (b'Antarctica/DumontDUrville', b'(GMT+1000) Antarctica/DumontDUrville'), (b'Asia/Chita', b'(GMT+1000) Asia/Chita'), (b'Asia/Khandyga', b'(GMT+1000) Asia/Khandyga'), (b'Asia/Yakutsk', b'(GMT+1000) Asia/Yakutsk'), (b'Australia/Brisbane', b'(GMT+1000) Australia/Brisbane'), (b'Australia/Currie', b'(GMT+1000) Australia/Currie'), (b'Australia/Hobart', b'(GMT+1000) Australia/Hobart'), (b'Australia/Lindeman', b'(GMT+1000) Australia/Lindeman'), (b'Australia/Melbourne', b'(GMT+1000) Australia/Melbourne'), (b'Australia/Sydney', b'(GMT+1000) Australia/Sydney'), (b'Pacific/Chuuk', b'(GMT+1000) Pacific/Chuuk'), (b'Pacific/Guam', b'(GMT+1000) Pacific/Guam'), (b'Pacific/Port_Moresby', b'(GMT+1000) Pacific/Port_Moresby'), (b'Pacific/Saipan', b'(GMT+1000) Pacific/Saipan'), (b'Australia/Lord_Howe', b'(GMT+1030) Australia/Lord_Howe'), (b'Antarctica/Macquarie', b'(GMT+1100) Antarctica/Macquarie'), (b'Asia/Sakhalin', b'(GMT+1100) Asia/Sakhalin'), (b'Asia/Ust-Nera', b'(GMT+1100) Asia/Ust-Nera'), (b'Asia/Vladivostok', b'(GMT+1100) Asia/Vladivostok'), (b'Pacific/Efate', b'(GMT+1100) Pacific/Efate'), (b'Pacific/Guadalcanal', b'(GMT+1100) Pacific/Guadalcanal'), (b'Pacific/Kosrae', b'(GMT+1100) Pacific/Kosrae'), (b'Pacific/Noumea', b'(GMT+1100) Pacific/Noumea'), (b'Pacific/Pohnpei', b'(GMT+1100) Pacific/Pohnpei'), (b'Pacific/Norfolk', b'(GMT+1130) Pacific/Norfolk'), (b'Antarctica/McMurdo', b'(GMT+1200) Antarctica/McMurdo'), (b'Asia/Anadyr', b'(GMT+1200) Asia/Anadyr'), (b'Asia/Kamchatka', b'(GMT+1200) Asia/Kamchatka'), (b'Asia/Magadan', b'(GMT+1200) Asia/Magadan'), (b'Asia/Srednekolymsk', b'(GMT+1200) Asia/Srednekolymsk'), (b'Pacific/Auckland', b'(GMT+1200) Pacific/Auckland'), (b'Pacific/Fiji', b'(GMT+1200) Pacific/Fiji'), (b'Pacific/Funafuti', b'(GMT+1200) Pacific/Funafuti'), (b'Pacific/Kwajalein', b'(GMT+1200) Pacific/Kwajalein'), (b'Pacific/Majuro', b'(GMT+1200) Pacific/Majuro'), (b'Pacific/Nauru', b'(GMT+1200) Pacific/Nauru'), (b'Pacific/Tarawa', b'(GMT+1200) Pacific/Tarawa'), (b'Pacific/Wake', b'(GMT+1200) Pacific/Wake'), (b'Pacific/Wallis', b'(GMT+1200) Pacific/Wallis'), (b'Pacific/Chatham', b'(GMT+1245) Pacific/Chatham'), (b'Pacific/Apia', b'(GMT+1300) Pacific/Apia'), (b'Pacific/Enderbury', b'(GMT+1300) Pacific/Enderbury'), (b'Pacific/Fakaofo', b'(GMT+1300) Pacific/Fakaofo'), (b'Pacific/Tongatapu', b'(GMT+1300) Pacific/Tongatapu'), (b'Pacific/Kiritimati', b'(GMT+1400) Pacific/Kiritimati')])),
45             ],
46             options={
47             },
48             bases=(models.Model,),
49         ),
50         migrations.CreateModel(
51             name='Account',
52             fields=[
53                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
54                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
55                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
56                 ('enacted', models.DateTimeField(default=None, null=True)),
57                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
58                 ('deleted', models.BooleanField(default=False)),
59             ],
60             options={
61                 'abstract': False,
62             },
63             bases=(models.Model,),
64         ),
65         migrations.CreateModel(
66             name='Charge',
67             fields=[
68                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
69                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
70                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
71                 ('enacted', models.DateTimeField(default=None, null=True)),
72                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
73                 ('deleted', models.BooleanField(default=False)),
74                 ('kind', models.CharField(default=b'besteffort', max_length=30, choices=[(b'besteffort', b'besteffort'), (b'reservation', b'reservation'), (b'monthlyfee', b'monthlyfee')])),
75                 ('state', models.CharField(default=b'pending', max_length=30, choices=[(b'pending', b'pending'), (b'invoiced', b'invoiced')])),
76                 ('date', models.DateTimeField()),
77                 ('amount', models.FloatField(default=0.0)),
78                 ('coreHours', models.FloatField(default=0.0)),
79                 ('account', models.ForeignKey(related_name=b'charges', to='core.Account')),
80             ],
81             options={
82                 'abstract': False,
83             },
84             bases=(models.Model,),
85         ),
86         migrations.CreateModel(
87             name='DashboardView',
88             fields=[
89                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
90                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
91                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
92                 ('enacted', models.DateTimeField(default=None, null=True)),
93                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
94                 ('deleted', models.BooleanField(default=False)),
95                 ('name', models.CharField(help_text=b'Name of the View', unique=True, max_length=200)),
96                 ('url', models.CharField(help_text=b'URL of Dashboard', max_length=1024)),
97             ],
98             options={
99                 'abstract': False,
100             },
101             bases=(models.Model,),
102         ),
103         migrations.CreateModel(
104             name='Deployment',
105             fields=[
106                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
107                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
108                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
109                 ('enacted', models.DateTimeField(default=None, null=True)),
110                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
111                 ('deleted', models.BooleanField(default=False)),
112                 ('name', models.CharField(help_text=b'Name of the Deployment', unique=True, max_length=200)),
113                 ('admin_user', models.CharField(help_text=b'Username of an admin user at this deployment', max_length=200, null=True, blank=True)),
114                 ('admin_password', models.CharField(help_text=b'Password of theadmin user at this deployment', max_length=200, null=True, blank=True)),
115                 ('admin_tenant', models.CharField(help_text=b'Name of the tenant the admin user belongs to', max_length=200, null=True, blank=True)),
116                 ('auth_url', models.CharField(help_text=b'Auth url for the deployment', max_length=200, null=True, blank=True)),
117                 ('accessControl', models.TextField(default=b'allow all', help_text=b'Access control list that specifies which sites/users may use nodes in this deployment', max_length=200)),
118             ],
119             options={
120                 'abstract': False,
121             },
122             bases=(models.Model,),
123         ),
124         migrations.CreateModel(
125             name='DeploymentCredential',
126             fields=[
127                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
128                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
129                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
130                 ('enacted', models.DateTimeField(default=None, null=True)),
131                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
132                 ('deleted', models.BooleanField(default=False)),
133                 ('name', models.SlugField(help_text=b'The credential type, e.g. ec2', max_length=128)),
134                 ('key_id', models.CharField(help_text=b'The backend id of this credential', max_length=1024)),
135                 ('enc_value', encrypted_fields.fields.EncryptedCharField(help_text=b'The key value of this credential', max_length=1024)),
136                 ('deployment', models.ForeignKey(related_name=b'credentials', to='core.Deployment', help_text=b'The User this credential is associated with')),
137             ],
138             options={
139                 'abstract': False,
140             },
141             bases=(models.Model,),
142         ),
143         migrations.CreateModel(
144             name='DeploymentPrivilege',
145             fields=[
146                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
147                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
148                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
149                 ('enacted', models.DateTimeField(default=None, null=True)),
150                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
151                 ('deleted', models.BooleanField(default=False)),
152                 ('deployment', models.ForeignKey(related_name=b'deployment_privileges', to='core.Deployment')),
153             ],
154             options={
155                 'abstract': False,
156             },
157             bases=(models.Model,),
158         ),
159         migrations.CreateModel(
160             name='DeploymentRole',
161             fields=[
162                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
163                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
164                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
165                 ('enacted', models.DateTimeField(default=None, null=True)),
166                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
167                 ('deleted', models.BooleanField(default=False)),
168                 ('role', models.CharField(unique=True, max_length=30, choices=[(b'admin', b'Admin')])),
169             ],
170             options={
171                 'abstract': False,
172             },
173             bases=(models.Model,),
174         ),
175         migrations.CreateModel(
176             name='Flavor',
177             fields=[
178                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
179                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
180                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
181                 ('enacted', models.DateTimeField(default=None, null=True)),
182                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
183                 ('deleted', models.BooleanField(default=False)),
184                 ('name', models.CharField(help_text=b'name of this flavor, as displayed to users', max_length=32)),
185                 ('description', models.CharField(max_length=1024, null=True, blank=True)),
186                 ('flavor', models.CharField(help_text=b'flavor string used to configure deployments', max_length=32)),
187                 ('order', models.IntegerField(default=0, help_text=b'used to order flavors when displayed in a list')),
188                 ('default', models.BooleanField(default=False, help_text=b'make this a default flavor to use when creating new instances')),
189                 ('deployments', models.ManyToManyField(related_name=b'flavors', to='core.Deployment', blank=True)),
190             ],
191             options={
192                 'ordering': ('order', 'name'),
193             },
194             bases=(models.Model,),
195         ),
196         migrations.CreateModel(
197             name='Image',
198             fields=[
199                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
200                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
201                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
202                 ('enacted', models.DateTimeField(default=None, null=True)),
203                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
204                 ('deleted', models.BooleanField(default=False)),
205                 ('name', models.CharField(unique=True, max_length=256)),
206                 ('disk_format', models.CharField(max_length=256)),
207                 ('container_format', models.CharField(max_length=256)),
208                 ('path', models.CharField(help_text=b'Path to image on local disk', max_length=256, null=True, blank=True)),
209             ],
210             options={
211                 'abstract': False,
212             },
213             bases=(models.Model,),
214         ),
215         migrations.CreateModel(
216             name='ImageDeployments',
217             fields=[
218                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
219                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
220                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
221                 ('enacted', models.DateTimeField(default=None, null=True)),
222                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
223                 ('deleted', models.BooleanField(default=False)),
224                 ('glance_image_id', models.CharField(help_text=b'Glance image id', max_length=200, null=True, blank=True)),
225                 ('deployment', models.ForeignKey(to='core.Deployment')),
226                 ('image', models.ForeignKey(to='core.Image')),
227             ],
228             options={
229                 'abstract': False,
230             },
231             bases=(models.Model,),
232         ),
233         migrations.CreateModel(
234             name='Invoice',
235             fields=[
236                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
237                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
238                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
239                 ('enacted', models.DateTimeField(default=None, null=True)),
240                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
241                 ('deleted', models.BooleanField(default=False)),
242                 ('date', models.DateTimeField()),
243                 ('account', models.ForeignKey(related_name=b'invoices', to='core.Account')),
244             ],
245             options={
246                 'abstract': False,
247             },
248             bases=(models.Model,),
249         ),
250         migrations.CreateModel(
251             name='Network',
252             fields=[
253                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
254                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
255                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
256                 ('enacted', models.DateTimeField(default=None, null=True)),
257                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
258                 ('deleted', models.BooleanField(default=False)),
259                 ('name', models.CharField(max_length=32)),
260                 ('subnet', models.CharField(max_length=32, blank=True)),
261                 ('ports', models.CharField(max_length=1024, null=True, blank=True)),
262                 ('labels', models.CharField(max_length=1024, null=True, blank=True)),
263                 ('guaranteedBandwidth', models.IntegerField(default=0)),
264                 ('permitAllSlices', models.BooleanField(default=False)),
265                 ('network_id', models.CharField(help_text=b'Quantum network', max_length=256, null=True, blank=True)),
266                 ('router_id', models.CharField(help_text=b'Quantum router id', max_length=256, null=True, blank=True)),
267                 ('subnet_id', models.CharField(help_text=b'Quantum subnet id', max_length=256, null=True, blank=True)),
268             ],
269             options={
270                 'abstract': False,
271             },
272             bases=(models.Model,),
273         ),
274         migrations.CreateModel(
275             name='NetworkDeployments',
276             fields=[
277                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
278                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
279                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
280                 ('enacted', models.DateTimeField(default=None, null=True)),
281                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
282                 ('deleted', models.BooleanField(default=False)),
283                 ('net_id', models.CharField(help_text=b'Quantum network', max_length=256, null=True, blank=True)),
284                 ('router_id', models.CharField(help_text=b'Quantum router id', max_length=256, null=True, blank=True)),
285                 ('subnet_id', models.CharField(help_text=b'Quantum subnet id', max_length=256, null=True, blank=True)),
286                 ('subnet', models.CharField(max_length=32, blank=True)),
287                 ('deployment', models.ForeignKey(to='core.Deployment')),
288                 ('network', models.ForeignKey(to='core.Network')),
289             ],
290             options={
291                 'abstract': False,
292             },
293             bases=(models.Model,),
294         ),
295         migrations.CreateModel(
296             name='NetworkParameter',
297             fields=[
298                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
299                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
300                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
301                 ('enacted', models.DateTimeField(default=None, null=True)),
302                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
303                 ('deleted', models.BooleanField(default=False)),
304                 ('value', models.CharField(help_text=b'The value of this parameter', max_length=1024)),
305                 ('object_id', models.PositiveIntegerField()),
306                 ('content_type', models.ForeignKey(to='contenttypes.ContentType')),
307             ],
308             options={
309                 'abstract': False,
310             },
311             bases=(models.Model,),
312         ),
313         migrations.CreateModel(
314             name='NetworkParameterType',
315             fields=[
316                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
317                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
318                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
319                 ('enacted', models.DateTimeField(default=None, null=True)),
320                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
321                 ('deleted', models.BooleanField(default=False)),
322                 ('name', models.SlugField(help_text=b'The name of this parameter', max_length=128)),
323                 ('description', models.CharField(max_length=1024)),
324             ],
325             options={
326                 'abstract': False,
327             },
328             bases=(models.Model,),
329         ),
330         migrations.CreateModel(
331             name='NetworkSlice',
332             fields=[
333                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
334                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
335                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
336                 ('enacted', models.DateTimeField(default=None, null=True)),
337                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
338                 ('deleted', models.BooleanField(default=False)),
339                 ('network', models.ForeignKey(to='core.Network')),
340             ],
341             options={
342                 'abstract': False,
343             },
344             bases=(models.Model,),
345         ),
346         migrations.CreateModel(
347             name='NetworkSliver',
348             fields=[
349                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
350                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
351                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
352                 ('enacted', models.DateTimeField(default=None, null=True)),
353                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
354                 ('deleted', models.BooleanField(default=False)),
355                 ('ip', models.GenericIPAddressField(help_text=b'Sliver ip address', null=True, blank=True)),
356                 ('port_id', models.CharField(help_text=b'Quantum port id', max_length=256, null=True, blank=True)),
357                 ('network', models.ForeignKey(to='core.Network')),
358             ],
359             options={
360                 'abstract': False,
361             },
362             bases=(models.Model,),
363         ),
364         migrations.CreateModel(
365             name='NetworkTemplate',
366             fields=[
367                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
368                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
369                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
370                 ('enacted', models.DateTimeField(default=None, null=True)),
371                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
372                 ('deleted', models.BooleanField(default=False)),
373                 ('name', models.CharField(max_length=32)),
374                 ('description', models.CharField(max_length=1024, null=True, blank=True)),
375                 ('guaranteedBandwidth', models.IntegerField(default=0)),
376                 ('visibility', models.CharField(default=b'private', max_length=30, choices=[(b'public', b'public'), (b'private', b'private')])),
377                 ('translation', models.CharField(default=b'none', max_length=30, choices=[(b'none', b'none'), (b'NAT', b'NAT')])),
378                 ('sharedNetworkName', models.CharField(max_length=30, null=True, blank=True)),
379                 ('sharedNetworkId', models.CharField(help_text=b'Quantum network', max_length=256, null=True, blank=True)),
380             ],
381             options={
382                 'abstract': False,
383             },
384             bases=(models.Model,),
385         ),
386         migrations.CreateModel(
387             name='Node',
388             fields=[
389                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
390                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
391                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
392                 ('enacted', models.DateTimeField(default=None, null=True)),
393                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
394                 ('deleted', models.BooleanField(default=False)),
395                 ('name', models.CharField(help_text=b'Name of the Node', unique=True, max_length=200)),
396                 ('deployment', models.ForeignKey(related_name=b'nodes', to='core.Deployment')),
397             ],
398             options={
399                 'abstract': False,
400             },
401             bases=(models.Model,),
402         ),
403         migrations.CreateModel(
404             name='Payment',
405             fields=[
406                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
407                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
408                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
409                 ('enacted', models.DateTimeField(default=None, null=True)),
410                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
411                 ('deleted', models.BooleanField(default=False)),
412                 ('amount', models.FloatField(default=0.0)),
413                 ('date', models.DateTimeField(default=django.utils.timezone.now)),
414                 ('account', models.ForeignKey(related_name=b'payments', to='core.Account')),
415             ],
416             options={
417                 'abstract': False,
418             },
419             bases=(models.Model,),
420         ),
421         migrations.CreateModel(
422             name='PlanetStack',
423             fields=[
424                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
425                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
426                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
427                 ('enacted', models.DateTimeField(default=None, null=True)),
428                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
429                 ('deleted', models.BooleanField(default=False)),
430                 ('description', models.CharField(default=b'PlanetStack', help_text=b'Used for scoping of roles at the PlanetStack Application level', unique=True, max_length=200)),
431             ],
432             options={
433                 'verbose_name_plural': 'PlanetStack',
434             },
435             bases=(models.Model,),
436         ),
437         migrations.CreateModel(
438             name='PlanetStackPrivilege',
439             fields=[
440                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
441                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
442                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
443                 ('enacted', models.DateTimeField(default=None, null=True)),
444                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
445                 ('deleted', models.BooleanField(default=False)),
446                 ('planetstack', models.ForeignKey(related_name=b'planetstack_privileges', default=1, to='core.PlanetStack')),
447             ],
448             options={
449                 'abstract': False,
450             },
451             bases=(models.Model,),
452         ),
453         migrations.CreateModel(
454             name='PlanetStackRole',
455             fields=[
456                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
457                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
458                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
459                 ('enacted', models.DateTimeField(default=None, null=True)),
460                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
461                 ('deleted', models.BooleanField(default=False)),
462                 ('role', models.CharField(unique=True, max_length=30, choices=[(b'admin', b'Admin')])),
463             ],
464             options={
465                 'abstract': False,
466             },
467             bases=(models.Model,),
468         ),
469         migrations.CreateModel(
470             name='Project',
471             fields=[
472                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
473                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
474                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
475                 ('enacted', models.DateTimeField(default=None, null=True)),
476                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
477                 ('deleted', models.BooleanField(default=False)),
478                 ('name', models.CharField(help_text=b'Name of Project', unique=True, max_length=200)),
479             ],
480             options={
481                 'abstract': False,
482             },
483             bases=(models.Model,),
484         ),
485         migrations.CreateModel(
486             name='Reservation',
487             fields=[
488                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
489                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
490                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
491                 ('enacted', models.DateTimeField(default=None, null=True)),
492                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
493                 ('deleted', models.BooleanField(default=False)),
494                 ('startTime', models.DateTimeField()),
495                 ('duration', models.IntegerField(default=1)),
496             ],
497             options={
498                 'abstract': False,
499             },
500             bases=(models.Model,),
501         ),
502         migrations.CreateModel(
503             name='ReservedResource',
504             fields=[
505                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
506                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
507                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
508                 ('enacted', models.DateTimeField(default=None, null=True)),
509                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
510                 ('deleted', models.BooleanField(default=False)),
511                 ('quantity', models.IntegerField(default=1)),
512                 ('reservationSet', models.ForeignKey(related_name=b'reservedResources', to='core.Reservation')),
513             ],
514             options={
515                 'abstract': False,
516                 'verbose_name_plural': 'Reserved Resources',
517             },
518             bases=(models.Model,),
519         ),
520         migrations.CreateModel(
521             name='Role',
522             fields=[
523                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
524                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
525                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
526                 ('enacted', models.DateTimeField(default=None, null=True)),
527                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
528                 ('deleted', models.BooleanField(default=False)),
529                 ('role_type', models.CharField(max_length=80, verbose_name=b'Name')),
530                 ('role', models.CharField(max_length=80, null=True, verbose_name=b'Keystone role id', blank=True)),
531                 ('description', models.CharField(max_length=120, verbose_name=b'Description')),
532                 ('content_type', models.ForeignKey(verbose_name=b'Role Scope', to='contenttypes.ContentType')),
533             ],
534             options={
535                 'abstract': False,
536             },
537             bases=(models.Model,),
538         ),
539         migrations.CreateModel(
540             name='Router',
541             fields=[
542                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
543                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
544                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
545                 ('enacted', models.DateTimeField(default=None, null=True)),
546                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
547                 ('deleted', models.BooleanField(default=False)),
548                 ('name', models.CharField(max_length=32)),
549                 ('networks', models.ManyToManyField(related_name=b'routers', to='core.Network', blank=True)),
550             ],
551             options={
552                 'abstract': False,
553             },
554             bases=(models.Model,),
555         ),
556         migrations.CreateModel(
557             name='Service',
558             fields=[
559                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
560                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
561                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
562                 ('enacted', models.DateTimeField(default=None, null=True)),
563                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
564                 ('deleted', models.BooleanField(default=False)),
565                 ('description', models.TextField(help_text=b'Description of Service', max_length=254, null=True, blank=True)),
566                 ('enabled', models.BooleanField(default=True)),
567                 ('name', models.CharField(help_text=b'Service Name', max_length=30)),
568                 ('versionNumber', models.CharField(help_text=b'Version of Service Definition', max_length=30)),
569                 ('published', models.BooleanField(default=True)),
570             ],
571             options={
572                 'abstract': False,
573             },
574             bases=(models.Model,),
575         ),
576         migrations.CreateModel(
577             name='ServiceAttribute',
578             fields=[
579                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
580                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
581                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
582                 ('enacted', models.DateTimeField(default=None, null=True)),
583                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
584                 ('deleted', models.BooleanField(default=False)),
585                 ('name', models.SlugField(help_text=b'Attribute Name', max_length=128)),
586                 ('value', models.CharField(help_text=b'Attribute Value', max_length=1024)),
587                 ('service', models.ForeignKey(related_name=b'serviceattributes', to='core.Service', help_text=b'The Service this attribute is associated with')),
588             ],
589             options={
590                 'abstract': False,
591             },
592             bases=(models.Model,),
593         ),
594         migrations.CreateModel(
595             name='ServiceClass',
596             fields=[
597                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
598                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
599                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
600                 ('enacted', models.DateTimeField(default=None, null=True)),
601                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
602                 ('deleted', models.BooleanField(default=False)),
603                 ('name', models.CharField(max_length=32)),
604                 ('description', models.CharField(max_length=255)),
605                 ('commitment', models.IntegerField(default=365)),
606                 ('membershipFee', models.IntegerField(default=0)),
607                 ('membershipFeeMonths', models.IntegerField(default=12)),
608                 ('upgradeRequiresApproval', models.BooleanField(default=False)),
609                 ('upgradeFrom', models.ManyToManyField(related_name='upgradeFrom_rel_+', null=True, to='core.ServiceClass', blank=True)),
610             ],
611             options={
612                 'abstract': False,
613                 'verbose_name_plural': 'Service classes',
614             },
615             bases=(models.Model,),
616         ),
617         migrations.CreateModel(
618             name='ServiceResource',
619             fields=[
620                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
621                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
622                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
623                 ('enacted', models.DateTimeField(default=None, null=True)),
624                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
625                 ('deleted', models.BooleanField(default=False)),
626                 ('name', models.CharField(max_length=32)),
627                 ('maxUnitsDeployment', models.IntegerField(default=1)),
628                 ('maxUnitsNode', models.IntegerField(default=1)),
629                 ('maxDuration', models.IntegerField(default=1)),
630                 ('bucketInRate', models.IntegerField(default=0)),
631                 ('bucketMaxSize', models.IntegerField(default=0)),
632                 ('cost', models.IntegerField(default=0)),
633                 ('calendarReservable', models.BooleanField(default=True)),
634                 ('serviceClass', models.ForeignKey(related_name=b'resources', to='core.ServiceClass')),
635             ],
636             options={
637                 'abstract': False,
638             },
639             bases=(models.Model,),
640         ),
641         migrations.CreateModel(
642             name='Site',
643             fields=[
644                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
645                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
646                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
647                 ('enacted', models.DateTimeField(default=None, null=True)),
648                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
649                 ('deleted', models.BooleanField(default=False)),
650                 ('name', models.CharField(help_text=b'Name for this Site', max_length=200)),
651                 ('site_url', models.URLField(help_text=b"Site's Home URL Page", max_length=512, null=True, blank=True)),
652                 ('enabled', models.BooleanField(default=True, help_text=b'Status for this Site')),
653                 ('location', geoposition.fields.GeopositionField(max_length=42)),
654                 ('longitude', models.FloatField(null=True, blank=True)),
655                 ('latitude', models.FloatField(null=True, blank=True)),
656                 ('login_base', models.CharField(help_text=b'Prefix for Slices associated with this Site', unique=True, max_length=50)),
657                 ('is_public', models.BooleanField(default=True, help_text=b'Indicates the visibility of this site to other members')),
658                 ('abbreviated_name', models.CharField(max_length=80)),
659             ],
660             options={
661                 'abstract': False,
662             },
663             bases=(models.Model,),
664         ),
665         migrations.CreateModel(
666             name='SiteCredential',
667             fields=[
668                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
669                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
670                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
671                 ('enacted', models.DateTimeField(default=None, null=True)),
672                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
673                 ('deleted', models.BooleanField(default=False)),
674                 ('name', models.SlugField(help_text=b'The credential type, e.g. ec2', max_length=128)),
675                 ('key_id', models.CharField(help_text=b'The backend id of this credential', max_length=1024)),
676                 ('enc_value', encrypted_fields.fields.EncryptedCharField(help_text=b'The key value of this credential', max_length=1024)),
677                 ('site', models.ForeignKey(related_name=b'credentials', to='core.Site', help_text=b'The User this credential is associated with')),
678             ],
679             options={
680                 'abstract': False,
681             },
682             bases=(models.Model,),
683         ),
684         migrations.CreateModel(
685             name='SiteDeployments',
686             fields=[
687                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
688                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
689                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
690                 ('enacted', models.DateTimeField(default=None, null=True)),
691                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
692                 ('deleted', models.BooleanField(default=False)),
693                 ('tenant_id', models.CharField(help_text=b'Keystone tenant id', max_length=200, null=True, blank=True)),
694                 ('deployment', models.ForeignKey(to='core.Deployment')),
695                 ('site', models.ForeignKey(to='core.Site')),
696             ],
697             options={
698                 'abstract': False,
699             },
700             bases=(models.Model,),
701         ),
702         migrations.CreateModel(
703             name='SitePrivilege',
704             fields=[
705                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
706                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
707                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
708                 ('enacted', models.DateTimeField(default=None, null=True)),
709                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
710                 ('deleted', models.BooleanField(default=False)),
711             ],
712             options={
713                 'abstract': False,
714             },
715             bases=(models.Model,),
716         ),
717         migrations.CreateModel(
718             name='SiteRole',
719             fields=[
720                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
721                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
722                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
723                 ('enacted', models.DateTimeField(default=None, null=True)),
724                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
725                 ('deleted', models.BooleanField(default=False)),
726                 ('role', models.CharField(unique=True, max_length=30, choices=[(b'admin', b'Admin'), (b'pi', b'PI'), (b'tech', b'Tech'), (b'billing', b'Billing')])),
727             ],
728             options={
729                 'abstract': False,
730             },
731             bases=(models.Model,),
732         ),
733         migrations.CreateModel(
734             name='Slice',
735             fields=[
736                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
737                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
738                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
739                 ('enacted', models.DateTimeField(default=None, null=True)),
740                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
741                 ('deleted', models.BooleanField(default=False)),
742                 ('name', models.CharField(help_text=b'The Name of the Slice', unique=True, max_length=80)),
743                 ('enabled', models.BooleanField(default=True, help_text=b'Status for this Slice')),
744                 ('omf_friendly', models.BooleanField()),
745                 ('description', models.TextField(help_text=b'High level description of the slice and expected activities', max_length=1024, blank=True)),
746                 ('slice_url', models.URLField(max_length=512, blank=True)),
747                 ('max_slivers', models.IntegerField(default=10)),
748                 ('imagePreference', models.CharField(default=b'Ubuntu 12.04 LTS', max_length=256, null=True, blank=True)),
749                 ('network', models.CharField(default=b'Private Only', max_length=256, null=True, blank=True)),
750                 ('mountDataSets', models.CharField(default=b'GenBank', max_length=256, null=True, blank=True)),
751                 ('creator', models.ForeignKey(related_name=b'slices', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
752                 ('service', models.ForeignKey(related_name=b'service', blank=True, to='core.Service', null=True)),
753                 ('serviceClass', models.ForeignKey(related_name=b'slices', default=core.models.serviceclass.get_default_serviceclass, to='core.ServiceClass', null=True)),
754                 ('site', models.ForeignKey(related_name=b'slices', to='core.Site', help_text=b'The Site this Slice belongs to')),
755             ],
756             options={
757                 'abstract': False,
758             },
759             bases=(models.Model,),
760         ),
761         migrations.CreateModel(
762             name='SliceCredential',
763             fields=[
764                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
765                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
766                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
767                 ('enacted', models.DateTimeField(default=None, null=True)),
768                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
769                 ('deleted', models.BooleanField(default=False)),
770                 ('name', models.SlugField(help_text=b'The credential type, e.g. ec2', max_length=128)),
771                 ('key_id', models.CharField(help_text=b'The backend id of this credential', max_length=1024)),
772                 ('enc_value', encrypted_fields.fields.EncryptedCharField(help_text=b'The key value of this credential', max_length=1024)),
773                 ('slice', models.ForeignKey(related_name=b'credentials', to='core.Slice', help_text=b'The User this credential is associated with')),
774             ],
775             options={
776                 'abstract': False,
777             },
778             bases=(models.Model,),
779         ),
780         migrations.CreateModel(
781             name='SliceDeployments',
782             fields=[
783                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
784                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
785                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
786                 ('enacted', models.DateTimeField(default=None, null=True)),
787                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
788                 ('deleted', models.BooleanField(default=False)),
789                 ('tenant_id', models.CharField(help_text=b'Keystone tenant id', max_length=200, null=True, blank=True)),
790                 ('network_id', models.CharField(help_text=b'Quantum network', max_length=256, null=True, blank=True)),
791                 ('router_id', models.CharField(help_text=b'Quantum router id', max_length=256, null=True, blank=True)),
792                 ('subnet_id', models.CharField(help_text=b'Quantum subnet id', max_length=256, null=True, blank=True)),
793                 ('deployment', models.ForeignKey(to='core.Deployment')),
794                 ('slice', models.ForeignKey(to='core.Slice')),
795             ],
796             options={
797                 'abstract': False,
798             },
799             bases=(models.Model,),
800         ),
801         migrations.CreateModel(
802             name='SlicePrivilege',
803             fields=[
804                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
805                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
806                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
807                 ('enacted', models.DateTimeField(default=None, null=True)),
808                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
809                 ('deleted', models.BooleanField(default=False)),
810             ],
811             options={
812                 'abstract': False,
813             },
814             bases=(models.Model,),
815         ),
816         migrations.CreateModel(
817             name='SliceRole',
818             fields=[
819                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
820                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
821                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
822                 ('enacted', models.DateTimeField(default=None, null=True)),
823                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
824                 ('deleted', models.BooleanField(default=False)),
825                 ('role', models.CharField(unique=True, max_length=30, choices=[(b'admin', b'Admin'), (b'default', b'Default')])),
826             ],
827             options={
828                 'abstract': False,
829             },
830             bases=(models.Model,),
831         ),
832         migrations.CreateModel(
833             name='SliceTag',
834             fields=[
835                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
836                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
837                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
838                 ('enacted', models.DateTimeField(default=None, null=True)),
839                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
840                 ('deleted', models.BooleanField(default=False)),
841                 ('name', models.CharField(help_text=b'The name of this tag', max_length=30, choices=[(b'privatekey', b'Private Key'), (b'publickey', b'Public Key')])),
842                 ('value', models.CharField(help_text=b'The value of this tag', max_length=1024)),
843                 ('slice', models.ForeignKey(related_name=b'slicetags', to='core.Slice')),
844             ],
845             options={
846                 'abstract': False,
847             },
848             bases=(models.Model,),
849         ),
850         migrations.CreateModel(
851             name='Sliver',
852             fields=[
853                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
854                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
855                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
856                 ('enacted', models.DateTimeField(default=None, null=True)),
857                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
858                 ('deleted', models.BooleanField(default=False)),
859                 ('instance_id', models.CharField(help_text=b'Nova instance id', max_length=200, null=True, blank=True)),
860                 ('name', models.CharField(help_text=b'Sliver name', max_length=200)),
861                 ('instance_name', models.CharField(help_text=b'OpenStack generated name', max_length=200, null=True, blank=True)),
862                 ('ip', models.GenericIPAddressField(help_text=b'Sliver ip address', null=True, blank=True)),
863                 ('numberCores', models.IntegerField(default=0, help_text=b'Number of cores for sliver', verbose_name=b'Number of Cores')),
864                 ('userData', models.TextField(help_text=b'user_data passed to instance during creation', null=True, blank=True)),
865                 ('creator', models.ForeignKey(related_name=b'slivers', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
866                 ('deploymentNetwork', models.ForeignKey(related_name=b'sliver_deploymentNetwork', verbose_name=b'deployment', to='core.Deployment')),
867                 ('flavor', models.ForeignKey(default=core.models.sliver.get_default_flavor, to='core.Flavor', help_text=b'Flavor of this instance')),
868                 ('image', models.ForeignKey(related_name=b'slivers', to='core.Image')),
869                 ('node', models.ForeignKey(related_name=b'slivers', to='core.Node')),
870                 ('slice', models.ForeignKey(related_name=b'slivers', to='core.Slice')),
871             ],
872             options={
873                 'abstract': False,
874             },
875             bases=(models.Model,),
876         ),
877         migrations.CreateModel(
878             name='Tag',
879             fields=[
880                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
881                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
882                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
883                 ('enacted', models.DateTimeField(default=None, null=True)),
884                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
885                 ('deleted', models.BooleanField(default=False)),
886                 ('name', models.SlugField(help_text=b'The name of this tag', max_length=128)),
887                 ('value', models.CharField(help_text=b'The value of this tag', max_length=1024)),
888                 ('object_id', models.PositiveIntegerField()),
889                 ('content_type', models.ForeignKey(to='contenttypes.ContentType')),
890                 ('service', models.ForeignKey(related_name=b'tags', to='core.Service', help_text=b'The Service this Tag is associated with')),
891             ],
892             options={
893                 'abstract': False,
894             },
895             bases=(models.Model,),
896         ),
897         migrations.CreateModel(
898             name='UsableObject',
899             fields=[
900                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
901                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
902                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
903                 ('enacted', models.DateTimeField(default=None, null=True)),
904                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
905                 ('deleted', models.BooleanField(default=False)),
906                 ('name', models.CharField(max_length=1024)),
907             ],
908             options={
909                 'abstract': False,
910             },
911             bases=(models.Model,),
912         ),
913         migrations.CreateModel(
914             name='UserCredential',
915             fields=[
916                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
917                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
918                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
919                 ('enacted', models.DateTimeField(default=None, null=True)),
920                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
921                 ('deleted', models.BooleanField(default=False)),
922                 ('name', models.SlugField(help_text=b'The credential type, e.g. ec2', max_length=128)),
923                 ('key_id', models.CharField(help_text=b'The backend id of this credential', max_length=1024)),
924                 ('enc_value', encrypted_fields.fields.EncryptedCharField(help_text=b'The key value of this credential', max_length=1024)),
925                 ('user', models.ForeignKey(related_name=b'credentials', to=settings.AUTH_USER_MODEL, help_text=b'The User this credential is associated with')),
926             ],
927             options={
928                 'abstract': False,
929             },
930             bases=(models.Model,),
931         ),
932         migrations.CreateModel(
933             name='UserDashboardView',
934             fields=[
935                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
936                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
937                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
938                 ('enacted', models.DateTimeField(default=None, null=True)),
939                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
940                 ('deleted', models.BooleanField(default=False)),
941                 ('order', models.IntegerField(default=0)),
942                 ('dashboardView', models.ForeignKey(related_name=b'dashboardViews', to='core.DashboardView')),
943                 ('user', models.ForeignKey(related_name=b'dashboardViews', to=settings.AUTH_USER_MODEL)),
944             ],
945             options={
946                 'abstract': False,
947             },
948             bases=(models.Model,),
949         ),
950         migrations.CreateModel(
951             name='UserDeployments',
952             fields=[
953                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
954                 ('created', models.DateTimeField(default=django.utils.timezone.now, auto_now_add=True)),
955                 ('updated', models.DateTimeField(default=django.utils.timezone.now, auto_now=True)),
956                 ('enacted', models.DateTimeField(default=None, null=True)),
957                 ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=140)),
958                 ('deleted', models.BooleanField(default=False)),
959                 ('kuser_id', models.CharField(help_text=b'Keystone user id', max_length=200, null=True, blank=True)),
960                 ('deployment', models.ForeignKey(to='core.Deployment')),
961                 ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)),
962             ],
963             options={
964                 'abstract': False,
965             },
966             bases=(models.Model,),
967         ),
968         migrations.AddField(
969             model_name='sliceprivilege',
970             name='role',
971             field=models.ForeignKey(to='core.SliceRole'),
972             preserve_default=True,
973         ),
974         migrations.AddField(
975             model_name='sliceprivilege',
976             name='slice',
977             field=models.ForeignKey(related_name=b'slice_privileges', to='core.Slice'),
978             preserve_default=True,
979         ),
980         migrations.AddField(
981             model_name='sliceprivilege',
982             name='user',
983             field=models.ForeignKey(related_name=b'slice_privileges', to=settings.AUTH_USER_MODEL),
984             preserve_default=True,
985         ),
986         migrations.AddField(
987             model_name='siteprivilege',
988             name='role',
989             field=models.ForeignKey(to='core.SiteRole'),
990             preserve_default=True,
991         ),
992         migrations.AddField(
993             model_name='siteprivilege',
994             name='site',
995             field=models.ForeignKey(related_name=b'site_privileges', to='core.Site'),
996             preserve_default=True,
997         ),
998         migrations.AddField(
999             model_name='siteprivilege',
1000             name='user',
1001             field=models.ForeignKey(related_name=b'site_privileges', to=settings.AUTH_USER_MODEL),
1002             preserve_default=True,
1003         ),
1004         migrations.AddField(
1005             model_name='site',
1006             name='deployments',
1007             field=models.ManyToManyField(help_text=b'Select which sites are allowed to host nodes in this deployment', related_name=b'sites', through='core.SiteDeployments', to='core.Deployment', blank=True),
1008             preserve_default=True,
1009         ),
1010         migrations.AddField(
1011             model_name='router',
1012             name='owner',
1013             field=models.ForeignKey(related_name=b'routers', to='core.Slice'),
1014             preserve_default=True,
1015         ),
1016         migrations.AddField(
1017             model_name='router',
1018             name='permittedNetworks',
1019             field=models.ManyToManyField(related_name=b'availableRouters', to='core.Network', blank=True),
1020             preserve_default=True,
1021         ),
1022         migrations.AddField(
1023             model_name='reservedresource',
1024             name='resource',
1025             field=models.ForeignKey(related_name=b'reservedResources', to='core.ServiceResource'),
1026             preserve_default=True,
1027         ),
1028         migrations.AddField(
1029             model_name='reservedresource',
1030             name='sliver',
1031             field=models.ForeignKey(related_name=b'reservedResourrces', to='core.Sliver'),
1032             preserve_default=True,
1033         ),
1034         migrations.AddField(
1035             model_name='reservation',
1036             name='slice',
1037             field=models.ForeignKey(related_name=b'reservations', to='core.Slice'),
1038             preserve_default=True,
1039         ),
1040         migrations.AddField(
1041             model_name='planetstackprivilege',
1042             name='role',
1043             field=models.ForeignKey(to='core.PlanetStackRole'),
1044             preserve_default=True,
1045         ),
1046         migrations.AddField(
1047             model_name='planetstackprivilege',
1048             name='user',
1049             field=models.ForeignKey(related_name=b'planetstack_privileges', to=settings.AUTH_USER_MODEL),
1050             preserve_default=True,
1051         ),
1052         migrations.AddField(
1053             model_name='node',
1054             name='site',
1055             field=models.ForeignKey(related_name=b'nodes', to='core.Site'),
1056             preserve_default=True,
1057         ),
1058         migrations.AddField(
1059             model_name='networksliver',
1060             name='sliver',
1061             field=models.ForeignKey(to='core.Sliver'),
1062             preserve_default=True,
1063         ),
1064         migrations.AddField(
1065             model_name='networkslice',
1066             name='slice',
1067             field=models.ForeignKey(to='core.Slice'),
1068             preserve_default=True,
1069         ),
1070         migrations.AddField(
1071             model_name='networkparameter',
1072             name='parameter',
1073             field=models.ForeignKey(related_name=b'parameters', to='core.NetworkParameterType', help_text=b'The type of the parameter'),
1074             preserve_default=True,
1075         ),
1076         migrations.AddField(
1077             model_name='network',
1078             name='owner',
1079             field=models.ForeignKey(related_name=b'ownedNetworks', to='core.Slice', help_text=b'Slice that owns control of this Network'),
1080             preserve_default=True,
1081         ),
1082         migrations.AddField(
1083             model_name='network',
1084             name='permittedSlices',
1085             field=models.ManyToManyField(related_name=b'availableNetworks', to='core.Slice', blank=True),
1086             preserve_default=True,
1087         ),
1088         migrations.AddField(
1089             model_name='network',
1090             name='slices',
1091             field=models.ManyToManyField(related_name=b'networks', through='core.NetworkSlice', to='core.Slice', blank=True),
1092             preserve_default=True,
1093         ),
1094         migrations.AddField(
1095             model_name='network',
1096             name='slivers',
1097             field=models.ManyToManyField(related_name=b'networks', through='core.NetworkSliver', to='core.Sliver', blank=True),
1098             preserve_default=True,
1099         ),
1100         migrations.AddField(
1101             model_name='network',
1102             name='template',
1103             field=models.ForeignKey(to='core.NetworkTemplate'),
1104             preserve_default=True,
1105         ),
1106         migrations.AddField(
1107             model_name='deploymentprivilege',
1108             name='role',
1109             field=models.ForeignKey(to='core.DeploymentRole'),
1110             preserve_default=True,
1111         ),
1112         migrations.AddField(
1113             model_name='deploymentprivilege',
1114             name='user',
1115             field=models.ForeignKey(related_name=b'deployment_privileges', to=settings.AUTH_USER_MODEL),
1116             preserve_default=True,
1117         ),
1118         migrations.AddField(
1119             model_name='charge',
1120             name='invoice',
1121             field=models.ForeignKey(related_name=b'charges', blank=True, to='core.Invoice', null=True),
1122             preserve_default=True,
1123         ),
1124         migrations.AddField(
1125             model_name='charge',
1126             name='object',
1127             field=models.ForeignKey(to='core.UsableObject'),
1128             preserve_default=True,
1129         ),
1130         migrations.AddField(
1131             model_name='charge',
1132             name='slice',
1133             field=models.ForeignKey(related_name=b'charges', blank=True, to='core.Slice', null=True),
1134             preserve_default=True,
1135         ),
1136         migrations.AddField(
1137             model_name='account',
1138             name='site',
1139             field=models.ForeignKey(related_name=b'accounts', to='core.Site', help_text=b'Site for this account'),
1140             preserve_default=True,
1141         ),
1142         migrations.AddField(
1143             model_name='user',
1144             name='dashboards',
1145             field=models.ManyToManyField(to='core.DashboardView', through='core.UserDashboardView', blank=True),
1146             preserve_default=True,
1147         ),
1148         migrations.AddField(
1149             model_name='user',
1150             name='site',
1151             field=models.ForeignKey(related_name=b'users', to='core.Site', help_text=b'Site this user will be homed too', null=True),
1152             preserve_default=True,
1153         ),
1154     ]