internal CommunicationDomainResourceData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary <string, string> tags, AzureLocation location, DomainsProvisioningState?provisioningState, string dataLocation, string fromSenderDomain, string mailFromSenderDomain, DomainManagement?domainManagement, DomainPropertiesVerificationStates verificationStates, DomainPropertiesVerificationRecords verificationRecords, IDictionary <string, string> validSenderUsernames, UserEngagementTracking?userEngagementTracking) : base(id, name, resourceType, systemData, tags, location) { ProvisioningState = provisioningState; DataLocation = dataLocation; FromSenderDomain = fromSenderDomain; MailFromSenderDomain = mailFromSenderDomain; DomainManagement = domainManagement; VerificationStates = verificationStates; VerificationRecords = verificationRecords; ValidSenderUsernames = validSenderUsernames; UserEngagementTracking = userEngagementTracking; }
internal static CommunicationDomainResourceData DeserializeCommunicationDomainResourceData(JsonElement element) { IDictionary <string, string> tags = default; AzureLocation location = default; ResourceIdentifier id = default; string name = default; ResourceType type = default; SystemData systemData = default; Optional <DomainsProvisioningState> provisioningState = default; Optional <string> dataLocation = default; Optional <string> fromSenderDomain = default; Optional <string> mailFromSenderDomain = default; Optional <DomainManagement> domainManagement = default; Optional <DomainPropertiesVerificationStates> verificationStates = default; Optional <DomainPropertiesVerificationRecords> verificationRecords = default; Optional <IDictionary <string, string> > validSenderUsernames = default; Optional <UserEngagementTracking> userEngagementTracking = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("tags")) { Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } tags = dictionary; continue; } if (property.NameEquals("location")) { location = new AzureLocation(property.Value.GetString()); continue; } if (property.NameEquals("id")) { id = new ResourceIdentifier(property.Value.GetString()); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = new ResourceType(property.Value.GetString()); continue; } if (property.NameEquals("systemData")) { systemData = JsonSerializer.Deserialize <SystemData>(property.Value.ToString()); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("provisioningState")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } provisioningState = new DomainsProvisioningState(property0.Value.GetString()); continue; } if (property0.NameEquals("dataLocation")) { dataLocation = property0.Value.GetString(); continue; } if (property0.NameEquals("fromSenderDomain")) { fromSenderDomain = property0.Value.GetString(); continue; } if (property0.NameEquals("mailFromSenderDomain")) { mailFromSenderDomain = property0.Value.GetString(); continue; } if (property0.NameEquals("domainManagement")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } domainManagement = new DomainManagement(property0.Value.GetString()); continue; } if (property0.NameEquals("verificationStates")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } verificationStates = DomainPropertiesVerificationStates.DeserializeDomainPropertiesVerificationStates(property0.Value); continue; } if (property0.NameEquals("verificationRecords")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } verificationRecords = DomainPropertiesVerificationRecords.DeserializeDomainPropertiesVerificationRecords(property0.Value); continue; } if (property0.NameEquals("validSenderUsernames")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property1 in property0.Value.EnumerateObject()) { dictionary.Add(property1.Name, property1.Value.GetString()); } validSenderUsernames = dictionary; continue; } if (property0.NameEquals("userEngagementTracking")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } userEngagementTracking = new UserEngagementTracking(property0.Value.GetString()); continue; } } continue; } } return(new CommunicationDomainResourceData(id, name, type, systemData, tags, location, Optional.ToNullable(provisioningState), dataLocation.Value, fromSenderDomain.Value, mailFromSenderDomain.Value, Optional.ToNullable(domainManagement), verificationStates.Value, verificationRecords.Value, Optional.ToDictionary(validSenderUsernames), Optional.ToNullable(userEngagementTracking))); }