authentik.providers.rac.migrations.0001_initial
1# Generated by Django 4.2.8 on 2023-12-29 15:58 2 3import uuid 4 5import django.db.models.deletion 6from django.db import migrations, models 7 8import authentik.core.models 9import authentik.lib.utils.time 10 11 12class Migration(migrations.Migration): 13 initial = True 14 15 dependencies = [ 16 ("authentik_policies", "0011_policybinding_failure_result_and_more"), 17 ("authentik_core", "0032_group_roles"), 18 ] 19 20 operations = [ 21 migrations.CreateModel( 22 name="RACPropertyMapping", 23 fields=[ 24 ( 25 "propertymapping_ptr", 26 models.OneToOneField( 27 auto_created=True, 28 on_delete=django.db.models.deletion.CASCADE, 29 parent_link=True, 30 primary_key=True, 31 serialize=False, 32 to="authentik_core.propertymapping", 33 ), 34 ), 35 ("static_settings", models.JSONField(default=dict)), 36 ], 37 options={ 38 "verbose_name": "RAC Property Mapping", 39 "verbose_name_plural": "RAC Property Mappings", 40 }, 41 bases=("authentik_core.propertymapping",), 42 ), 43 migrations.CreateModel( 44 name="RACProvider", 45 fields=[ 46 ( 47 "provider_ptr", 48 models.OneToOneField( 49 auto_created=True, 50 on_delete=django.db.models.deletion.CASCADE, 51 parent_link=True, 52 primary_key=True, 53 serialize=False, 54 to="authentik_core.provider", 55 ), 56 ), 57 ("settings", models.JSONField(default=dict)), 58 ( 59 "auth_mode", 60 models.TextField( 61 choices=[("static", "Static"), ("prompt", "Prompt")], default="prompt" 62 ), 63 ), 64 ( 65 "connection_expiry", 66 models.TextField( 67 default="hours=8", 68 help_text="Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3)", 69 validators=[authentik.lib.utils.time.timedelta_string_validator], 70 ), 71 ), 72 ], 73 options={ 74 "verbose_name": "RAC Provider", 75 "verbose_name_plural": "RAC Providers", 76 }, 77 bases=("authentik_core.provider",), 78 ), 79 migrations.CreateModel( 80 name="Endpoint", 81 fields=[ 82 ( 83 "policybindingmodel_ptr", 84 models.OneToOneField( 85 auto_created=True, 86 on_delete=django.db.models.deletion.CASCADE, 87 parent_link=True, 88 primary_key=True, 89 serialize=False, 90 to="authentik_policies.policybindingmodel", 91 ), 92 ), 93 ("name", models.TextField()), 94 ("host", models.TextField()), 95 ( 96 "protocol", 97 models.TextField(choices=[("rdp", "Rdp"), ("vnc", "Vnc"), ("ssh", "Ssh")]), 98 ), 99 ("settings", models.JSONField(default=dict)), 100 ( 101 "auth_mode", 102 models.TextField(choices=[("static", "Static"), ("prompt", "Prompt")]), 103 ), 104 ( 105 "property_mappings", 106 models.ManyToManyField( 107 blank=True, default=None, to="authentik_core.propertymapping" 108 ), 109 ), 110 ( 111 "provider", 112 models.ForeignKey( 113 on_delete=django.db.models.deletion.CASCADE, 114 to="authentik_providers_rac.racprovider", 115 ), 116 ), 117 ], 118 options={ 119 "verbose_name": "RAC Endpoint", 120 "verbose_name_plural": "RAC Endpoints", 121 }, 122 bases=("authentik_policies.policybindingmodel", models.Model), 123 ), 124 migrations.CreateModel( 125 name="ConnectionToken", 126 fields=[ 127 ( 128 "expires", 129 models.DateTimeField(default=authentik.core.models.default_token_duration), 130 ), 131 ("expiring", models.BooleanField(default=True)), 132 ( 133 "connection_token_uuid", 134 models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False), 135 ), 136 ("token", models.TextField(default=authentik.core.models.default_token_key)), 137 ("settings", models.JSONField(default=dict)), 138 ( 139 "endpoint", 140 models.ForeignKey( 141 on_delete=django.db.models.deletion.CASCADE, 142 to="authentik_providers_rac.endpoint", 143 ), 144 ), 145 ( 146 "provider", 147 models.ForeignKey( 148 on_delete=django.db.models.deletion.CASCADE, 149 to="authentik_providers_rac.racprovider", 150 ), 151 ), 152 ( 153 "session", 154 models.ForeignKey( 155 on_delete=django.db.models.deletion.CASCADE, 156 to="authentik_core.authenticatedsession", 157 ), 158 ), 159 ], 160 options={ 161 "abstract": False, 162 }, 163 ), 164 ]
class
Migration(django.db.migrations.migration.Migration):
13class Migration(migrations.Migration): 14 initial = True 15 16 dependencies = [ 17 ("authentik_policies", "0011_policybinding_failure_result_and_more"), 18 ("authentik_core", "0032_group_roles"), 19 ] 20 21 operations = [ 22 migrations.CreateModel( 23 name="RACPropertyMapping", 24 fields=[ 25 ( 26 "propertymapping_ptr", 27 models.OneToOneField( 28 auto_created=True, 29 on_delete=django.db.models.deletion.CASCADE, 30 parent_link=True, 31 primary_key=True, 32 serialize=False, 33 to="authentik_core.propertymapping", 34 ), 35 ), 36 ("static_settings", models.JSONField(default=dict)), 37 ], 38 options={ 39 "verbose_name": "RAC Property Mapping", 40 "verbose_name_plural": "RAC Property Mappings", 41 }, 42 bases=("authentik_core.propertymapping",), 43 ), 44 migrations.CreateModel( 45 name="RACProvider", 46 fields=[ 47 ( 48 "provider_ptr", 49 models.OneToOneField( 50 auto_created=True, 51 on_delete=django.db.models.deletion.CASCADE, 52 parent_link=True, 53 primary_key=True, 54 serialize=False, 55 to="authentik_core.provider", 56 ), 57 ), 58 ("settings", models.JSONField(default=dict)), 59 ( 60 "auth_mode", 61 models.TextField( 62 choices=[("static", "Static"), ("prompt", "Prompt")], default="prompt" 63 ), 64 ), 65 ( 66 "connection_expiry", 67 models.TextField( 68 default="hours=8", 69 help_text="Determines how long a session lasts. Default of 0 means that the sessions lasts until the browser is closed. (Format: hours=-1;minutes=-2;seconds=-3)", 70 validators=[authentik.lib.utils.time.timedelta_string_validator], 71 ), 72 ), 73 ], 74 options={ 75 "verbose_name": "RAC Provider", 76 "verbose_name_plural": "RAC Providers", 77 }, 78 bases=("authentik_core.provider",), 79 ), 80 migrations.CreateModel( 81 name="Endpoint", 82 fields=[ 83 ( 84 "policybindingmodel_ptr", 85 models.OneToOneField( 86 auto_created=True, 87 on_delete=django.db.models.deletion.CASCADE, 88 parent_link=True, 89 primary_key=True, 90 serialize=False, 91 to="authentik_policies.policybindingmodel", 92 ), 93 ), 94 ("name", models.TextField()), 95 ("host", models.TextField()), 96 ( 97 "protocol", 98 models.TextField(choices=[("rdp", "Rdp"), ("vnc", "Vnc"), ("ssh", "Ssh")]), 99 ), 100 ("settings", models.JSONField(default=dict)), 101 ( 102 "auth_mode", 103 models.TextField(choices=[("static", "Static"), ("prompt", "Prompt")]), 104 ), 105 ( 106 "property_mappings", 107 models.ManyToManyField( 108 blank=True, default=None, to="authentik_core.propertymapping" 109 ), 110 ), 111 ( 112 "provider", 113 models.ForeignKey( 114 on_delete=django.db.models.deletion.CASCADE, 115 to="authentik_providers_rac.racprovider", 116 ), 117 ), 118 ], 119 options={ 120 "verbose_name": "RAC Endpoint", 121 "verbose_name_plural": "RAC Endpoints", 122 }, 123 bases=("authentik_policies.policybindingmodel", models.Model), 124 ), 125 migrations.CreateModel( 126 name="ConnectionToken", 127 fields=[ 128 ( 129 "expires", 130 models.DateTimeField(default=authentik.core.models.default_token_duration), 131 ), 132 ("expiring", models.BooleanField(default=True)), 133 ( 134 "connection_token_uuid", 135 models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False), 136 ), 137 ("token", models.TextField(default=authentik.core.models.default_token_key)), 138 ("settings", models.JSONField(default=dict)), 139 ( 140 "endpoint", 141 models.ForeignKey( 142 on_delete=django.db.models.deletion.CASCADE, 143 to="authentik_providers_rac.endpoint", 144 ), 145 ), 146 ( 147 "provider", 148 models.ForeignKey( 149 on_delete=django.db.models.deletion.CASCADE, 150 to="authentik_providers_rac.racprovider", 151 ), 152 ), 153 ( 154 "session", 155 models.ForeignKey( 156 on_delete=django.db.models.deletion.CASCADE, 157 to="authentik_core.authenticatedsession", 158 ), 159 ), 160 ], 161 options={ 162 "abstract": False, 163 }, 164 ), 165 ]
The base class for all migrations.
Migration files will import this from django.db.migrations.Migration and subclass it as a class called Migration. It will have one or more of the following attributes:
- operations: A list of Operation instances, probably from django.db.migrations.operations
- dependencies: A list of tuples of (app_path, migration_name)
- run_before: A list of tuples of (app_path, migration_name)
- replaces: A list of migration_names
Note that all migrations come out of migrations and into the Loader or Graph as instances, having been initialized with their app label and name.
dependencies =
[('authentik_policies', '0011_policybinding_failure_result_and_more'), ('authentik_core', '0032_group_roles')]
operations =
[<CreateModel name='RACPropertyMapping', fields=[('propertymapping_ptr', <django.db.models.fields.related.OneToOneField>), ('static_settings', <django.db.models.fields.json.JSONField>)], options={'verbose_name': 'RAC Property Mapping', 'verbose_name_plural': 'RAC Property Mappings'}, bases=('authentik_core.propertymapping',)>, <CreateModel name='RACProvider', fields=[('provider_ptr', <django.db.models.fields.related.OneToOneField>), ('settings', <django.db.models.fields.json.JSONField>), ('auth_mode', <django.db.models.fields.TextField>), ('connection_expiry', <django.db.models.fields.TextField>)], options={'verbose_name': 'RAC Provider', 'verbose_name_plural': 'RAC Providers'}, bases=('authentik_core.provider',)>, <CreateModel name='Endpoint', fields=[('policybindingmodel_ptr', <django.db.models.fields.related.OneToOneField>), ('name', <django.db.models.fields.TextField>), ('host', <django.db.models.fields.TextField>), ('protocol', <django.db.models.fields.TextField>), ('settings', <django.db.models.fields.json.JSONField>), ('auth_mode', <django.db.models.fields.TextField>), ('property_mappings', <django.db.models.fields.related.ManyToManyField>), ('provider', <django.db.models.fields.related.ForeignKey>)], options={'verbose_name': 'RAC Endpoint', 'verbose_name_plural': 'RAC Endpoints'}, bases=('authentik_policies.policybindingmodel', <class 'django.db.models.base.Model'>)>, <CreateModel name='ConnectionToken', fields=[('expires', <django.db.models.fields.DateTimeField>), ('expiring', <django.db.models.fields.BooleanField>), ('connection_token_uuid', <django.db.models.fields.UUIDField>), ('token', <django.db.models.fields.TextField>), ('settings', <django.db.models.fields.json.JSONField>), ('endpoint', <django.db.models.fields.related.ForeignKey>), ('provider', <django.db.models.fields.related.ForeignKey>), ('session', <django.db.models.fields.related.ForeignKey>)], options={'abstract': False}>]