// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.SelfService.Portal.Core.API.Context; #nullable disable namespace Microsoft.SelfService.Portal.Core.API.Migrations { [DbContext(typeof(DataContext))] [Migration("20260707210631_AddDeploymentComposition")] partial class AddDeploymentComposition { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.8") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentGroupModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("DeploymentRuleId") .HasColumnType("uniqueidentifier") .HasColumnOrder(3); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Status") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("nvarchar(max)") .HasColumnOrder(4) .HasDefaultValueSql("'New'"); b.Property("TemplateId") .HasColumnType("uniqueidentifier") .HasColumnOrder(2); b.HasKey("Id"); b.HasIndex("DeploymentRuleId"); b.HasIndex("TemplateId"); b.ToTable("DeploymentBatches", (string)null); b.HasData( new { Id = new Guid("80000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentRuleId = new Guid("60000000-0000-0000-0000-000000000001"), Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Status = "Pending", TemplateId = new Guid("70000000-0000-0000-0000-000000000003") }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentModel", b => { b.Property("VirtualMachineId") .HasColumnType("uniqueidentifier") .HasColumnOrder(3); b.Property("DeploymentGroupId") .HasColumnType("uniqueidentifier") .HasColumnName("DeploymentBatchId") .HasColumnOrder(2); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("JSONData") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(5); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Status") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(4); b.HasKey("VirtualMachineId", "DeploymentGroupId"); b.HasIndex("DeploymentGroupId"); b.ToTable("DeploymentExecutions", (string)null); b.HasData( new { VirtualMachineId = new Guid("30000000-0000-0000-0000-000000000004"), DeploymentGroupId = new Guid("80000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Id = new Guid("81000000-0000-0000-0000-000000000001"), JSONData = "{\"role\":\"WebFrontEnd\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Status = "Pending" }, new { VirtualMachineId = new Guid("30000000-0000-0000-0000-000000000005"), DeploymentGroupId = new Guid("80000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Id = new Guid("81000000-0000-0000-0000-000000000002"), JSONData = "{\"role\":\"Application\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Status = "Pending" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentParameterValueModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("DeploymentGroupId") .HasColumnType("uniqueidentifier") .HasColumnOrder(1); b.Property("DeploymentTemplateSelectionId") .HasColumnType("uniqueidentifier") .HasColumnOrder(2); b.Property("IsOverride") .HasColumnType("bit") .HasColumnOrder(6); b.Property("IsSecretReference") .HasColumnType("bit") .HasColumnOrder(5); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(450)") .HasColumnOrder(3); b.Property("ValueJson") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(4); b.HasKey("Id"); b.HasIndex("DeploymentTemplateSelectionId"); b.HasIndex("DeploymentGroupId", "Name") .IsUnique() .HasFilter("[DeploymentTemplateSelectionId] IS NULL"); b.HasIndex("DeploymentGroupId", "DeploymentTemplateSelectionId", "Name") .IsUnique() .HasFilter("[DeploymentTemplateSelectionId] IS NOT NULL"); b.ToTable("DeploymentParameterValues", t => { t.HasCheckConstraint("CK_DeploymentParameterValues_ValueJson_IsJson", "ISJSON([ValueJson]) = 1"); }); b.HasData( new { Id = new Guid("83000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentGroupId = new Guid("80000000-0000-0000-0000-000000000001"), DeploymentTemplateSelectionId = new Guid("82000000-0000-0000-0000-000000000001"), IsOverride = true, IsSecretReference = false, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "DatabasePrefix", ValueJson = "{\"value\":\"SharePoint_Contoso_Test\"}" }, new { Id = new Guid("83000000-0000-0000-0000-000000000002"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentGroupId = new Guid("80000000-0000-0000-0000-000000000001"), DeploymentTemplateSelectionId = new Guid("82000000-0000-0000-0000-000000000001"), IsOverride = true, IsSecretReference = true, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "FarmAccount", ValueJson = "{\"provider\":\"SecretManagement\",\"vault\":\"ContosoDemo\",\"name\":\"Windows/SharePoint/FarmAccount\"}" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("Description") .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.Property("IsActive") .HasColumnType("bit") .HasColumnOrder(3); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(1); b.HasKey("Id"); b.ToTable("DeploymentRules"); b.HasData( new { Id = new Guid("60000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "Validate input, wait for approval, then provision targets.", IsActive = true, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Standard Provisioning" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleStepModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("DeploymentRuleId") .HasColumnType("uniqueidentifier") .HasColumnOrder(1); b.Property("MetadataJson") .HasColumnType("nvarchar(max)") .HasColumnOrder(6); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.Property("RequiresApproval") .HasColumnType("bit") .HasColumnOrder(5); b.Property("SortOrder") .HasColumnType("int") .HasColumnOrder(2); b.Property("StepType") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(4); b.HasKey("Id"); b.HasIndex("DeploymentRuleId"); b.ToTable("DeploymentRuleSteps"); b.HasData( new { Id = new Guid("60000000-0000-0000-0000-000000000101"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentRuleId = new Guid("60000000-0000-0000-0000-000000000001"), MetadataJson = "{\"action\":\"validate\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Validate configuration", RequiresApproval = false, SortOrder = 10, StepType = "Provision" }, new { Id = new Guid("60000000-0000-0000-0000-000000000102"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentRuleId = new Guid("60000000-0000-0000-0000-000000000001"), MetadataJson = "{\"approverGroup\":\"Platform Owners\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Approve deployment", RequiresApproval = true, SortOrder = 20, StepType = "Approval" }, new { Id = new Guid("60000000-0000-0000-0000-000000000103"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentRuleId = new Guid("60000000-0000-0000-0000-000000000001"), MetadataJson = "{\"action\":\"deploy\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Provision workload", RequiresApproval = false, SortOrder = 30, StepType = "Provision" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentTargetAssignmentModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("DeploymentGroupId") .HasColumnType("uniqueidentifier") .HasColumnOrder(1); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("NodeDataJson") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(5); b.Property("RoleKey") .IsRequired() .HasColumnType("nvarchar(450)") .HasColumnOrder(3); b.Property("SortOrder") .HasColumnType("int") .HasColumnOrder(4); b.Property("VirtualMachineId") .HasColumnType("uniqueidentifier") .HasColumnOrder(2); b.HasKey("Id"); b.HasIndex("VirtualMachineId"); b.HasIndex("DeploymentGroupId", "VirtualMachineId", "RoleKey") .IsUnique(); b.ToTable("DeploymentTargetAssignments", t => { t.HasCheckConstraint("CK_DeploymentTargetAssignments_NodeDataJson_IsJson", "ISJSON([NodeDataJson]) = 1"); }); b.HasData( new { Id = new Guid("84000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentGroupId = new Guid("80000000-0000-0000-0000-000000000001"), Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", NodeDataJson = "{\"nodeName\":\"CT-SHP-01\"}", RoleKey = "WebFrontEnd", SortOrder = 10, VirtualMachineId = new Guid("30000000-0000-0000-0000-000000000004") }, new { Id = new Guid("84000000-0000-0000-0000-000000000002"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentGroupId = new Guid("80000000-0000-0000-0000-000000000001"), Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", NodeDataJson = "{\"nodeName\":\"CT-SHP-02\"}", RoleKey = "Application", SortOrder = 20, VirtualMachineId = new Guid("30000000-0000-0000-0000-000000000005") }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentTemplateSelectionModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Alias") .HasColumnType("nvarchar(max)") .HasColumnOrder(5); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("DeploymentGroupId") .HasColumnType("uniqueidentifier") .HasColumnOrder(1); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("SortOrder") .HasColumnType("int") .HasColumnOrder(4); b.Property("TemplateRole") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.Property("TemplateVersionId") .HasColumnType("uniqueidentifier") .HasColumnOrder(2); b.HasKey("Id"); b.HasIndex("TemplateVersionId"); b.HasIndex("DeploymentGroupId", "SortOrder") .IsUnique(); b.ToTable("DeploymentTemplateSelections"); b.HasData( new { Id = new Guid("82000000-0000-0000-0000-000000000001"), Alias = "SharePoint", Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentGroupId = new Guid("80000000-0000-0000-0000-000000000001"), Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", SortOrder = 10, TemplateRole = "Service", TemplateVersionId = new Guid("71000000-0000-0000-0000-000000000003") }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DomainModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("FQDN") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(1); b.Property("NetBIOS") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.HasKey("Id"); b.ToTable("Domains"); b.HasData( new { Id = new Guid("20000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", FQDN = "corp.contoso.com", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Central Management", NetBIOS = "CONTOSO" }, new { Id = new Guid("20000000-0000-0000-0000-000000000002"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", FQDN = "resource.contoso.com", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Resource Domain", NetBIOS = "RESOURCE" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.EnvironmentDomainsModel", b => { b.Property("EnvironmentId") .HasColumnType("uniqueidentifier") .HasColumnOrder(0); b.Property("DomainId") .HasColumnType("uniqueidentifier") .HasColumnOrder(1); b.Property("Created") .HasColumnType("datetime2") .HasColumnOrder(52); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("Modified") .HasColumnType("datetime2") .HasColumnOrder(50); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.HasKey("EnvironmentId", "DomainId"); b.HasIndex("DomainId"); b.ToTable("EnvironmentDomains"); b.HasData( new { EnvironmentId = new Guid("10000000-0000-0000-0000-000000000001"), DomainId = new Guid("20000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed" }, new { EnvironmentId = new Guid("10000000-0000-0000-0000-000000000002"), DomainId = new Guid("20000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed" }, new { EnvironmentId = new Guid("10000000-0000-0000-0000-000000000002"), DomainId = new Guid("20000000-0000-0000-0000-000000000002"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.EnvironmentModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("EnvironmentType") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.Property("HostingType") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.Property("MetadataJson") .HasColumnType("nvarchar(max)") .HasColumnOrder(7); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(1); b.Property("ProviderType") .HasColumnType("nvarchar(max)") .HasColumnOrder(4); b.Property("SubscriptionId") .HasColumnType("nvarchar(max)") .HasColumnOrder(6); b.Property("TenantId") .HasColumnType("nvarchar(max)") .HasColumnOrder(5); b.HasKey("Id"); b.ToTable("Environments"); b.HasData( new { Id = new Guid("10000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", EnvironmentType = "Test", HostingType = "OnPrem", MetadataJson = "{\"location\":\"Datacenter A\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Contoso Test" }, new { Id = new Guid("10000000-0000-0000-0000-000000000002"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", EnvironmentType = "Production", HostingType = "OnPrem", MetadataJson = "{\"location\":\"Datacenter A\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Contoso Production" }, new { Id = new Guid("10000000-0000-0000-0000-000000000003"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", EnvironmentType = "Production", HostingType = "M365Tenant", MetadataJson = "{\"tenant\":\"contoso.onmicrosoft.com\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Contoso M365", ProviderType = "Microsoft365", TenantId = "11111111-1111-1111-1111-111111111111" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.OptionCategoryModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(1); b.Property("ParentCategoryName") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.Property("showOrder") .HasColumnType("int") .HasColumnOrder(3); b.HasKey("Id"); b.ToTable("OptionCategories"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.OptionModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(1); b.Property("OptionCategoryId") .HasColumnType("uniqueidentifier"); b.Property("OptionType") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.Property("OptionValue") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.HasKey("Id"); b.HasIndex("OptionCategoryId"); b.ToTable("Options"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Attempts") .HasColumnType("int") .HasColumnOrder(4); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("ErrorMessage") .HasColumnType("nvarchar(max)") .HasColumnOrder(10); b.Property("Finished") .HasColumnType("datetime2") .HasColumnOrder(7); b.Property("LockedBy") .HasColumnType("nvarchar(max)") .HasColumnOrder(9); b.Property("LockedUntil") .HasColumnType("datetime2") .HasColumnOrder(8); b.Property("MaxAttempts") .HasColumnType("int") .HasColumnOrder(5); b.Property("MetadataJson") .HasColumnType("nvarchar(max)") .HasColumnOrder(11); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("PayloadJson") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.Property("RuleSnapshotJson") .HasColumnType("nvarchar(max)") .HasColumnOrder(12); b.Property("Started") .HasColumnType("datetime2") .HasColumnOrder(6); b.Property("Status") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.Property("Type") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(1); b.HasKey("Id"); b.ToTable("DeploymentJobs", (string)null); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobStepModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("ApprovalComment") .HasColumnType("nvarchar(max)") .HasColumnOrder(10); b.Property("ApprovedAt") .HasColumnType("datetime2") .HasColumnOrder(8); b.Property("ApprovedBy") .HasColumnType("nvarchar(max)") .HasColumnOrder(9); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("DependsOnQueueJobStepId") .HasColumnType("uniqueidentifier") .HasColumnName("DependsOnDeploymentJobStepId") .HasColumnOrder(2); b.Property("MetadataJson") .HasColumnType("nvarchar(max)") .HasColumnOrder(7); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(4); b.Property("QueueJobId") .HasColumnType("uniqueidentifier") .HasColumnName("DeploymentJobId") .HasColumnOrder(1); b.Property("SortOrder") .HasColumnType("int") .HasColumnOrder(3); b.Property("Status") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(6); b.Property("StepType") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(5); b.HasKey("Id"); b.HasIndex("DependsOnQueueJobStepId"); b.HasIndex("QueueJobId"); b.ToTable("DeploymentJobSteps", (string)null); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobTargetModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Attempts") .HasColumnType("int") .HasColumnOrder(6); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("DeploymentGroupId") .HasColumnType("uniqueidentifier") .HasColumnName("DeploymentBatchId") .HasColumnOrder(3); b.Property("ErrorMessage") .HasColumnType("nvarchar(max)") .HasColumnOrder(7); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("QueueJobId") .HasColumnType("uniqueidentifier") .HasColumnName("DeploymentJobId") .HasColumnOrder(1); b.Property("Status") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(5); b.Property("TemplateId") .HasColumnType("uniqueidentifier") .HasColumnOrder(4); b.Property("VirtualMachineId") .HasColumnType("uniqueidentifier") .HasColumnOrder(2); b.HasKey("Id"); b.HasIndex("QueueJobId"); b.ToTable("DeploymentJobTargets", (string)null); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.ServiceModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("Description") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.Property("IconKey") .HasColumnType("nvarchar(max)") .HasColumnOrder(4); b.Property("IsCloudService") .HasColumnType("bit") .HasColumnOrder(3); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(1); b.HasKey("Id"); b.ToTable("Services"); b.HasData( new { Id = new Guid("40000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "On-premises directory and identity service.", IconKey = "network", IsCloudService = false, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Active Directory" }, new { Id = new Guid("40000000-0000-0000-0000-000000000002"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "Database platform for application workloads.", IconKey = "database", IsCloudService = false, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "SQL Server" }, new { Id = new Guid("40000000-0000-0000-0000-000000000003"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "Collaboration platform for on-premises workloads.", IconKey = "sharepoint", IsCloudService = false, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "SharePoint Server" }, new { Id = new Guid("40000000-0000-0000-0000-000000000004"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "Cloud collaboration workload in Microsoft 365.", IconKey = "messages-square", IsCloudService = true, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Microsoft Teams" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.ServiceRoleDefinitionModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("Description") .HasColumnType("nvarchar(max)") .HasColumnOrder(4); b.Property("Key") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.Property("ServiceId") .HasColumnType("uniqueidentifier") .HasColumnOrder(1); b.HasKey("Id"); b.HasIndex("ServiceId"); b.ToTable("ServiceRoleDefinitions"); b.HasData( new { Id = new Guid("41000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "SharePoint farm role.", Key = "Farm", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Farm", ServiceId = new Guid("40000000-0000-0000-0000-000000000003") }, new { Id = new Guid("41000000-0000-0000-0000-000000000002"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "SharePoint web front-end role.", Key = "WebFrontEnd", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Web Front End", ServiceId = new Guid("40000000-0000-0000-0000-000000000003") }, new { Id = new Guid("41000000-0000-0000-0000-000000000003"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "SharePoint service application role.", Key = "Application", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Application", ServiceId = new Guid("40000000-0000-0000-0000-000000000003") }, new { Id = new Guid("41000000-0000-0000-0000-000000000004"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "SQL Server database role.", Key = "Database", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Database", ServiceId = new Guid("40000000-0000-0000-0000-000000000002") }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateCategoryModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Color") .HasColumnType("nvarchar(max)") .HasColumnOrder(5); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("Description") .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.Property("IsActive") .HasColumnType("bit") .HasColumnOrder(4); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.Property("ServiceId") .HasColumnType("uniqueidentifier") .HasColumnOrder(1); b.HasKey("Id"); b.HasIndex("ServiceId"); b.ToTable("TemplateCategories"); b.HasData( new { Id = new Guid("50000000-0000-0000-0000-000000000001"), Color = "#2563EB", Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "Templates for domain controller and domain configuration.", IsActive = true, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Domain Services", ServiceId = new Guid("40000000-0000-0000-0000-000000000001") }, new { Id = new Guid("50000000-0000-0000-0000-000000000002"), Color = "#16A34A", Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "Templates for SQL Server workloads.", IsActive = true, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Database Platform", ServiceId = new Guid("40000000-0000-0000-0000-000000000002") }, new { Id = new Guid("50000000-0000-0000-0000-000000000003"), Color = "#0F766E", Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "Templates for SharePoint Server farms.", IsActive = true, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Collaboration Farm", ServiceId = new Guid("40000000-0000-0000-0000-000000000003") }, new { Id = new Guid("50000000-0000-0000-0000-000000000004"), Color = "#7C3AED", Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", Description = "Templates for Teams policy configuration.", IsActive = true, Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Teams Policies", ServiceId = new Guid("40000000-0000-0000-0000-000000000004") }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("DeploymentRuleId") .HasColumnType("uniqueidentifier") .HasColumnOrder(6); b.Property("Description") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.Property("JSONData") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(4); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(1); b.Property("TemplateCategoryId") .HasColumnType("uniqueidentifier") .HasColumnOrder(5); b.Property("Version") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.HasKey("Id"); b.HasIndex("DeploymentRuleId"); b.HasIndex("TemplateCategoryId"); b.ToTable("Templates"); b.HasData( new { Id = new Guid("70000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentRuleId = new Guid("60000000-0000-0000-0000-000000000001"), Description = "Creates a reusable Active Directory domain baseline.", JSONData = "{\n \"schemaVersion\": \"1.0\",\n \"templateType\": \"Service\",\n \"parameters\": {\n \"DomainName\": { \"type\": \"string\", \"defaultValue\": \"corp.contoso.com\" },\n \"NetBIOSName\": { \"type\": \"string\", \"defaultValue\": \"CONTOSO\" }\n },\n \"variables\": {\n \"DefaultSiteName\": \"[concat(parameters('DomainName'), '-DefaultSite')]\"\n },\n \"resources\": {\n \"AllNodes\": [\n { \"NodeName\": \"*\", \"PSDscAllowPlainTextPassword\": true }\n ],\n \"NonNodeData\": {\n \"Services\": {\n \"ActiveDirectory\": {\n \"DomainName\": \"[parameters('DomainName')]\",\n \"NetBIOSName\": \"[parameters('NetBIOSName')]\"\n }\n }\n }\n }\n}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Contoso Active Directory Domain", TemplateCategoryId = new Guid("50000000-0000-0000-0000-000000000001"), Version = "1.0.0" }, new { Id = new Guid("70000000-0000-0000-0000-000000000002"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentRuleId = new Guid("60000000-0000-0000-0000-000000000001"), Description = "Creates a SQL Server baseline for application workloads.", JSONData = "{\n \"schemaVersion\": \"1.0\",\n \"templateType\": \"Service\",\n \"parameters\": {\n \"InstanceName\": { \"type\": \"string\", \"defaultValue\": \"MSSQLSERVER\" },\n \"DatabasePrefix\": { \"type\": \"string\", \"defaultValue\": \"Contoso\" }\n },\n \"variables\": {\n \"ConfigDatabase\": \"[concat(parameters('DatabasePrefix'), '_Config')]\"\n },\n \"resources\": {\n \"NonNodeData\": {\n \"Services\": {\n \"SqlServer\": {\n \"InstanceName\": \"[parameters('InstanceName')]\",\n \"ConfigDatabase\": \"[variables('ConfigDatabase')]\"\n }\n }\n }\n }\n}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Contoso SQL Server", TemplateCategoryId = new Guid("50000000-0000-0000-0000-000000000002"), Version = "1.0.0" }, new { Id = new Guid("70000000-0000-0000-0000-000000000003"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentRuleId = new Guid("60000000-0000-0000-0000-000000000001"), Description = "Creates a SharePoint Server farm baseline.", JSONData = "{\n \"schemaVersion\": \"1.0\",\n \"templateType\": \"Service\",\n \"parameters\": {\n \"DatabasePrefix\": { \"type\": \"string\", \"defaultValue\": \"SharePoint_Contoso_Test\" },\n \"FarmAccount\": { \"type\": \"credential\", \"metadata\": { \"description\": \"Farm account resolved by the credential provider.\" } }\n },\n \"variables\": {\n \"ConfigDbName\": \"[concat(parameters('DatabasePrefix'), '_Farm_Config')]\",\n \"AdminContentDbName\": \"[concat(parameters('DatabasePrefix'), '_AdminContent')]\"\n },\n \"resources\": {\n \"NonNodeData\": {\n \"Services\": {\n \"SharePoint\": {\n \"Farm\": {\n \"ConfigDatabase\": \"[variables('ConfigDbName')]\",\n \"AdminContentDatabase\": \"[variables('AdminContentDbName')]\",\n \"ManagedAccounts\": {\n \"FarmAccount\": \"[parameters('FarmAccount')]\"\n }\n }\n }\n }\n }\n }\n}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Contoso SharePoint Server", TemplateCategoryId = new Guid("50000000-0000-0000-0000-000000000003"), Version = "1.0.0" }, new { Id = new Guid("70000000-0000-0000-0000-000000000004"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DeploymentRuleId = new Guid("60000000-0000-0000-0000-000000000001"), Description = "Creates a Microsoft Teams policy baseline.", JSONData = "{\n \"schemaVersion\": \"1.0\",\n \"templateType\": \"Service\",\n \"parameters\": {\n \"CallingPolicyName\": { \"type\": \"string\", \"defaultValue\": \"Contoso-Standard-Calling\" },\n \"MeetingPolicyName\": { \"type\": \"string\", \"defaultValue\": \"Contoso-Standard-Meetings\" }\n },\n \"variables\": {},\n \"resources\": {\n \"NonNodeData\": {\n \"Services\": {\n \"Teams\": {\n \"CallingPolicy\": \"[parameters('CallingPolicyName')]\",\n \"MeetingPolicy\": \"[parameters('MeetingPolicyName')]\"\n }\n }\n }\n }\n}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "Contoso Teams Policies", TemplateCategoryId = new Guid("50000000-0000-0000-0000-000000000004"), Version = "1.0.0" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateOptionModel", b => { b.Property("OptionId") .HasColumnType("uniqueidentifier") .HasColumnOrder(1); b.Property("TemplateId") .HasColumnType("uniqueidentifier") .HasColumnOrder(0); b.Property("Created") .HasColumnType("datetime2") .HasColumnOrder(52); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("Modified") .HasColumnType("datetime2") .HasColumnOrder(50); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Value") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.HasKey("OptionId", "TemplateId"); b.HasIndex("TemplateId"); b.ToTable("TemplateOptions"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateVersionModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("IsPublished") .HasColumnType("bit") .HasColumnOrder(6); b.Property("JsonData") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.Property("JsonHash") .IsRequired() .HasMaxLength(64) .HasColumnType("nvarchar(64)") .HasColumnOrder(4); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("PublishedAt") .HasColumnType("datetime2") .HasColumnOrder(7); b.Property("PublishedBy") .HasColumnType("nvarchar(max)") .HasColumnOrder(8); b.Property("SchemaVersion") .IsRequired() .HasMaxLength(32) .HasColumnType("nvarchar(32)") .HasColumnOrder(5); b.Property("TemplateId") .HasColumnType("uniqueidentifier") .HasColumnOrder(1); b.Property("Version") .IsRequired() .HasMaxLength(64) .HasColumnType("nvarchar(64)") .HasColumnOrder(2); b.HasKey("Id"); b.HasIndex("TemplateId") .IsUnique() .HasFilter("[IsPublished] = 1"); b.HasIndex("TemplateId", "Version") .IsUnique(); b.ToTable("TemplateVersions", t => { t.HasCheckConstraint("CK_TemplateVersions_JsonData_IsJson", "ISJSON([JsonData]) = 1"); }); b.HasData( new { Id = new Guid("71000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", IsPublished = true, JsonData = "{\n \"schemaVersion\": \"1.0\",\n \"templateType\": \"Service\",\n \"parameters\": {\n \"DomainName\": { \"type\": \"string\", \"defaultValue\": \"corp.contoso.com\" },\n \"NetBIOSName\": { \"type\": \"string\", \"defaultValue\": \"CONTOSO\" }\n },\n \"variables\": {\n \"DefaultSiteName\": \"[concat(parameters('DomainName'), '-DefaultSite')]\"\n },\n \"resources\": {\n \"AllNodes\": [\n { \"NodeName\": \"*\", \"PSDscAllowPlainTextPassword\": true }\n ],\n \"NonNodeData\": {\n \"Services\": {\n \"ActiveDirectory\": {\n \"DomainName\": \"[parameters('DomainName')]\",\n \"NetBIOSName\": \"[parameters('NetBIOSName')]\"\n }\n }\n }\n }\n}", JsonHash = "C05CBEF91131C75DE53B9609D9C2709D680AFC9559EE8D998318A132490F79A7", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", PublishedAt = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), PublishedBy = "DemoSeed", SchemaVersion = "1.0", TemplateId = new Guid("70000000-0000-0000-0000-000000000001"), Version = "1.0.0" }, new { Id = new Guid("71000000-0000-0000-0000-000000000002"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", IsPublished = true, JsonData = "{\n \"schemaVersion\": \"1.0\",\n \"templateType\": \"Service\",\n \"parameters\": {\n \"InstanceName\": { \"type\": \"string\", \"defaultValue\": \"MSSQLSERVER\" },\n \"DatabasePrefix\": { \"type\": \"string\", \"defaultValue\": \"Contoso\" }\n },\n \"variables\": {\n \"ConfigDatabase\": \"[concat(parameters('DatabasePrefix'), '_Config')]\"\n },\n \"resources\": {\n \"NonNodeData\": {\n \"Services\": {\n \"SqlServer\": {\n \"InstanceName\": \"[parameters('InstanceName')]\",\n \"ConfigDatabase\": \"[variables('ConfigDatabase')]\"\n }\n }\n }\n }\n}", JsonHash = "F376737E82CB6B729F7B9960CB9988897C16D90A1C454ED2F594B28EB86ECA11", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", PublishedAt = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), PublishedBy = "DemoSeed", SchemaVersion = "1.0", TemplateId = new Guid("70000000-0000-0000-0000-000000000002"), Version = "1.0.0" }, new { Id = new Guid("71000000-0000-0000-0000-000000000003"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", IsPublished = true, JsonData = "{\n \"schemaVersion\": \"1.0\",\n \"templateType\": \"Service\",\n \"parameters\": {\n \"DatabasePrefix\": { \"type\": \"string\", \"defaultValue\": \"SharePoint_Contoso_Test\" },\n \"FarmAccount\": { \"type\": \"credential\", \"metadata\": { \"description\": \"Farm account resolved by the credential provider.\" } }\n },\n \"variables\": {\n \"ConfigDbName\": \"[concat(parameters('DatabasePrefix'), '_Farm_Config')]\",\n \"AdminContentDbName\": \"[concat(parameters('DatabasePrefix'), '_AdminContent')]\"\n },\n \"resources\": {\n \"NonNodeData\": {\n \"Services\": {\n \"SharePoint\": {\n \"Farm\": {\n \"ConfigDatabase\": \"[variables('ConfigDbName')]\",\n \"AdminContentDatabase\": \"[variables('AdminContentDbName')]\",\n \"ManagedAccounts\": {\n \"FarmAccount\": \"[parameters('FarmAccount')]\"\n }\n }\n }\n }\n }\n }\n}", JsonHash = "FD5F0FD3C13538FAC70646972DC364DFCEAAF85BBE91B0F50FDFF9FD3A3748B4", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", PublishedAt = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), PublishedBy = "DemoSeed", SchemaVersion = "1.0", TemplateId = new Guid("70000000-0000-0000-0000-000000000003"), Version = "1.0.0" }, new { Id = new Guid("71000000-0000-0000-0000-000000000004"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", IsPublished = true, JsonData = "{\n \"schemaVersion\": \"1.0\",\n \"templateType\": \"Service\",\n \"parameters\": {\n \"CallingPolicyName\": { \"type\": \"string\", \"defaultValue\": \"Contoso-Standard-Calling\" },\n \"MeetingPolicyName\": { \"type\": \"string\", \"defaultValue\": \"Contoso-Standard-Meetings\" }\n },\n \"variables\": {},\n \"resources\": {\n \"NonNodeData\": {\n \"Services\": {\n \"Teams\": {\n \"CallingPolicy\": \"[parameters('CallingPolicyName')]\",\n \"MeetingPolicy\": \"[parameters('MeetingPolicyName')]\"\n }\n }\n }\n }\n}", JsonHash = "32A902FE1A871D4CE2C877EBC5542F7562856532F09BA7F53597B21270586241", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", PublishedAt = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), PublishedBy = "DemoSeed", SchemaVersion = "1.0", TemplateId = new Guid("70000000-0000-0000-0000-000000000004"), Version = "1.0.0" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.VirtualMachineModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uniqueidentifier") .HasColumnOrder(0) .HasDefaultValueSql("NEWID()"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(52) .HasDefaultValueSql("GETDATE()"); b.Property("CreatedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(53); b.Property("DomainID") .HasColumnType("uniqueidentifier") .HasColumnOrder(1); b.Property("ExternalId") .HasColumnType("nvarchar(max)") .HasColumnOrder(3); b.Property("MetadataJson") .HasColumnType("nvarchar(max)") .HasColumnOrder(4); b.Property("Modified") .ValueGeneratedOnAdd() .HasColumnType("datetime2") .HasColumnOrder(50) .HasDefaultValueSql("GETDATE()"); b.Property("ModifiedBy") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(51); b.Property("Name") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnOrder(2); b.HasKey("Id"); b.HasIndex("DomainID"); b.ToTable("VirtualMachines"); b.HasData( new { Id = new Guid("30000000-0000-0000-0000-000000000001"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DomainID = new Guid("20000000-0000-0000-0000-000000000001"), MetadataJson = "{\"role\":\"DomainController\",\"environment\":\"Test\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "CT-DC-01" }, new { Id = new Guid("30000000-0000-0000-0000-000000000002"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DomainID = new Guid("20000000-0000-0000-0000-000000000001"), MetadataJson = "{\"role\":\"DomainController\",\"environment\":\"Production\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "CT-DC-02" }, new { Id = new Guid("30000000-0000-0000-0000-000000000003"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DomainID = new Guid("20000000-0000-0000-0000-000000000001"), MetadataJson = "{\"role\":\"SqlServer\",\"environment\":\"Test\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "CT-SQL-01" }, new { Id = new Guid("30000000-0000-0000-0000-000000000004"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DomainID = new Guid("20000000-0000-0000-0000-000000000001"), MetadataJson = "{\"role\":\"SharePoint\",\"environment\":\"Test\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "CT-SHP-01" }, new { Id = new Guid("30000000-0000-0000-0000-000000000005"), Created = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), CreatedBy = "DemoSeed", DomainID = new Guid("20000000-0000-0000-0000-000000000001"), MetadataJson = "{\"role\":\"SharePoint\",\"environment\":\"Test\"}", Modified = new DateTime(2026, 7, 7, 0, 0, 0, 0, DateTimeKind.Utc), ModifiedBy = "DemoSeed", Name = "CT-SHP-02" }); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentGroupModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleModel", "DeploymentRule") .WithMany() .HasForeignKey("DeploymentRuleId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.TemplateModel", "Template") .WithMany("DeploymentGroups") .HasForeignKey("TemplateId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("DeploymentRule"); b.Navigation("Template"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DeploymentGroupModel", "DeploymentGroup") .WithMany("Deployments") .HasForeignKey("DeploymentGroupId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.VirtualMachineModel", "VirtualMachine") .WithMany("Deployments") .HasForeignKey("VirtualMachineId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("DeploymentGroup"); b.Navigation("VirtualMachine"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentParameterValueModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DeploymentGroupModel", "DeploymentGroup") .WithMany("ParameterValues") .HasForeignKey("DeploymentGroupId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DeploymentTemplateSelectionModel", "DeploymentTemplateSelection") .WithMany() .HasForeignKey("DeploymentTemplateSelectionId") .OnDelete(DeleteBehavior.NoAction); b.Navigation("DeploymentGroup"); b.Navigation("DeploymentTemplateSelection"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleStepModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleModel", "DeploymentRule") .WithMany("Steps") .HasForeignKey("DeploymentRuleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("DeploymentRule"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentTargetAssignmentModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DeploymentGroupModel", "DeploymentGroup") .WithMany("TargetAssignments") .HasForeignKey("DeploymentGroupId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.VirtualMachineModel", "VirtualMachine") .WithMany() .HasForeignKey("VirtualMachineId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("DeploymentGroup"); b.Navigation("VirtualMachine"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentTemplateSelectionModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DeploymentGroupModel", "DeploymentGroup") .WithMany("TemplateSelections") .HasForeignKey("DeploymentGroupId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.TemplateVersionModel", "TemplateVersion") .WithMany() .HasForeignKey("TemplateVersionId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("DeploymentGroup"); b.Navigation("TemplateVersion"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.EnvironmentDomainsModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DomainModel", "Domain") .WithMany("EnvironmentDomains") .HasForeignKey("DomainId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.EnvironmentModel", "Environment") .WithMany("EnvironmentDomains") .HasForeignKey("EnvironmentId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Domain"); b.Navigation("Environment"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.OptionModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.OptionCategoryModel", "OptionCategory") .WithMany("Options") .HasForeignKey("OptionCategoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("OptionCategory"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobStepModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.QueueJobStepModel", "DependsOnQueueJobStep") .WithMany() .HasForeignKey("DependsOnQueueJobStepId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.QueueJobModel", "QueueJob") .WithMany("Steps") .HasForeignKey("QueueJobId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("DependsOnQueueJobStep"); b.Navigation("QueueJob"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobTargetModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.QueueJobModel", "QueueJob") .WithMany("Targets") .HasForeignKey("QueueJobId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("QueueJob"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.ServiceRoleDefinitionModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.ServiceModel", "Service") .WithMany("RoleDefinitions") .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Service"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateCategoryModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.ServiceModel", "Service") .WithMany("TemplateCategories") .HasForeignKey("ServiceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Service"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleModel", "DeploymentRule") .WithMany() .HasForeignKey("DeploymentRuleId"); b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.TemplateCategoryModel", "TemplateCategory") .WithMany("Templates") .HasForeignKey("TemplateCategoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("DeploymentRule"); b.Navigation("TemplateCategory"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateOptionModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.OptionModel", "Option") .WithMany("TemplateOptions") .HasForeignKey("OptionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.TemplateModel", "Template") .WithMany("TemplateOptions") .HasForeignKey("TemplateId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Option"); b.Navigation("Template"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateVersionModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.TemplateModel", "Template") .WithMany("TemplateVersions") .HasForeignKey("TemplateId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Template"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.VirtualMachineModel", b => { b.HasOne("Microsoft.SelfService.Portal.Core.API.Models.DomainModel", "Domain") .WithMany("VirtualMachines") .HasForeignKey("DomainID"); b.Navigation("Domain"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentGroupModel", b => { b.Navigation("Deployments"); b.Navigation("ParameterValues"); b.Navigation("TargetAssignments"); b.Navigation("TemplateSelections"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DeploymentRuleModel", b => { b.Navigation("Steps"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.DomainModel", b => { b.Navigation("EnvironmentDomains"); b.Navigation("VirtualMachines"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.EnvironmentModel", b => { b.Navigation("EnvironmentDomains"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.OptionCategoryModel", b => { b.Navigation("Options"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.OptionModel", b => { b.Navigation("TemplateOptions"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.QueueJobModel", b => { b.Navigation("Steps"); b.Navigation("Targets"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.ServiceModel", b => { b.Navigation("RoleDefinitions"); b.Navigation("TemplateCategories"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateCategoryModel", b => { b.Navigation("Templates"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.TemplateModel", b => { b.Navigation("DeploymentGroups"); b.Navigation("TemplateOptions"); b.Navigation("TemplateVersions"); }); modelBuilder.Entity("Microsoft.SelfService.Portal.Core.API.Models.VirtualMachineModel", b => { b.Navigation("Deployments"); }); #pragma warning restore 612, 618 } } }