示例#1
0
 internal AfdSecurityPolicyData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, AfdProvisioningState?provisioningState, DeploymentStatus?deploymentStatus, string profileName, SecurityPolicyPropertiesParameters parameters) : base(id, name, resourceType, systemData)
 {
     ProvisioningState = provisioningState;
     DeploymentStatus  = deploymentStatus;
     ProfileName       = profileName;
     Parameters        = parameters;
 }
示例#2
0
 internal ManagedRuleSetDefinition(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, CdnSku sku, string provisioningState, string ruleSetType, string ruleSetVersion, IReadOnlyList <ManagedRuleGroupDefinition> ruleGroups) : base(id, name, resourceType, systemData)
 {
     Sku = sku;
     ProvisioningState = provisioningState;
     RuleSetType       = ruleSetType;
     RuleSetVersion    = ruleSetVersion;
     RuleGroups        = ruleGroups;
 }
示例#3
0
 internal CdnOriginGroupData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, HealthProbeParameters healthProbeSettings, IList <WritableSubResource> origins, int?trafficRestorationTimeToHealedOrNewEndpointsInMinutes, ResponseBasedOriginErrorDetectionParameters responseBasedOriginErrorDetectionSettings, OriginGroupResourceState?resourceState, string provisioningState) : base(id, name, resourceType, systemData)
 {
     HealthProbeSettings = healthProbeSettings;
     Origins             = origins;
     TrafficRestorationTimeToHealedOrNewEndpointsInMinutes = trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
     ResponseBasedOriginErrorDetectionSettings             = responseBasedOriginErrorDetectionSettings;
     ResourceState     = resourceState;
     ProvisioningState = provisioningState;
 }
 internal AfdEndpointData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, IDictionary <string, string> tags, AzureLocation location, string profileName, EnabledState?enabledState, AfdProvisioningState?provisioningState, DeploymentStatus?deploymentStatus, string hostName, AutoGeneratedDomainNameLabelScope?autoGeneratedDomainNameLabelScope) : base(id, name, resourceType, systemData, tags, location)
 {
     ProfileName       = profileName;
     EnabledState      = enabledState;
     ProvisioningState = provisioningState;
     DeploymentStatus  = deploymentStatus;
     HostName          = hostName;
     AutoGeneratedDomainNameLabelScope = autoGeneratedDomainNameLabelScope;
 }
示例#5
0
 internal ProfileData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, IDictionary <string, string> tags, AzureLocation location, CdnSku sku, string kind, ProfileResourceState?resourceState, string provisioningState, string frontDoorId, int?originResponseTimeoutSeconds) : base(id, name, resourceType, systemData, tags, location)
 {
     Sku                          = sku;
     Kind                         = kind;
     ResourceState                = resourceState;
     ProvisioningState            = provisioningState;
     FrontDoorId                  = frontDoorId;
     OriginResponseTimeoutSeconds = originResponseTimeoutSeconds;
 }
示例#6
0
        /// <summary>
        /// Validates the ResourceTypeSetting instance with the current properties of a Core.ResourceType object.
        /// </summary>
        /// <param name="resourceType">The Core.ResourceType instance to do the validation against.</param>
        /// <param name="resourceTypeSetting">The instance of ResourceTypeSetting.</param>
        /// <returns>Return true if success else false.</returns>
        internal static bool ValidateResourceTypeSetting(this Core.ResourceType resourceType, PivotConfig.ResourceTypeSetting resourceTypeSetting)
        {
            Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.StartedFunctionMessage);
            bool validationSuccess = true;

            PivotConfig.ResourceTypeSetting currentResourceTypeSetting = resourceType.ToResourceTypeSetting();
            if (resourceTypeSetting.Facets == null)
            {
                return(false);
            }

            List <PivotConfig.Facet> resourceTypeFacets = new List <PivotConfig.Facet>();

            resourceTypeSetting.Facets.ToList().ForEach(f =>
            {
                if (f != null && !string.IsNullOrWhiteSpace(f.PropertyName) && !string.IsNullOrEmpty(f.PropertyName))
                {
                    resourceTypeFacets.Add(f);
                }
            });
            PivotConfig.FacetNameComparer facetComparer = new PivotConfig.FacetNameComparer();

            IEnumerable <PivotConfig.Facet> missingFacets = resourceTypeFacets.Except(currentResourceTypeSetting.Facets, facetComparer);

            if (missingFacets.Count() > 0)
            {
                validationSuccess = false;
                while (missingFacets.Count() > 0)
                {
                    var facetToRemove = missingFacets.FirstOrDefault();
                    if (facetToRemove != null)
                    {
                        resourceTypeFacets.Remove(facetToRemove);
                    }
                }
            }

            resourceTypeFacets.ForEach(facet =>
            {
                if (facet.DataType == PivotConfig.FacetDataType.Link || facet.DataType == PivotConfig.FacetDataType.LongString)
                {
                    facet.ShowInFilter = false;
                }
            });

            IEnumerable <string> duplicateFacet = resourceTypeFacets.GroupBy(f => f.DisplayName).Where(f => f.Count() > 1).Select(f => f.Key).AsEnumerable();

            if (duplicateFacet.Count() > 0)
            {
                throw new FaultException(new FaultReason(string.Format(Properties.Messages.DuplicateFacetsNotAllowed, string.Join(",", duplicateFacet))));
            }

            resourceTypeSetting.Facets = resourceTypeFacets.ToArray();
            Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.FinishedFunctionMessage);
            return(validationSuccess);
        }
示例#7
0
 internal CdnCustomDomainData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, string hostName, CustomDomainResourceState?resourceState, CustomHttpsProvisioningState?customHttpsProvisioningState, CustomHttpsProvisioningSubstate?customHttpsProvisioningSubstate, CustomDomainHttpsContent customHttpsParameters, string validationData, string provisioningState) : base(id, name, resourceType, systemData)
 {
     HostName      = hostName;
     ResourceState = resourceState;
     CustomHttpsProvisioningState    = customHttpsProvisioningState;
     CustomHttpsProvisioningSubstate = customHttpsProvisioningSubstate;
     CustomHttpsParameters           = customHttpsParameters;
     ValidationData    = validationData;
     ProvisioningState = provisioningState;
 }
示例#8
0
 internal AfdOriginGroupData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, string profileName, LoadBalancingSettingsParameters loadBalancingSettings, HealthProbeParameters healthProbeSettings, int?trafficRestorationTimeToHealedOrNewEndpointsInMinutes, EnabledState?sessionAffinityState, AfdProvisioningState?provisioningState, DeploymentStatus?deploymentStatus) : base(id, name, resourceType, systemData)
 {
     ProfileName           = profileName;
     LoadBalancingSettings = loadBalancingSettings;
     HealthProbeSettings   = healthProbeSettings;
     TrafficRestorationTimeToHealedOrNewEndpointsInMinutes = trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
     SessionAffinityState = sessionAffinityState;
     ProvisioningState    = provisioningState;
     DeploymentStatus     = deploymentStatus;
 }
示例#9
0
 internal AfdRuleData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, string ruleSetName, int?order, IList <DeliveryRuleCondition> conditions, IList <DeliveryRuleAction> actions, MatchProcessingBehavior?matchProcessingBehavior, AfdProvisioningState?provisioningState, DeploymentStatus?deploymentStatus) : base(id, name, resourceType, systemData)
 {
     RuleSetName             = ruleSetName;
     Order                   = order;
     Conditions              = conditions;
     Actions                 = actions;
     MatchProcessingBehavior = matchProcessingBehavior;
     ProvisioningState       = provisioningState;
     DeploymentStatus        = deploymentStatus;
 }
示例#10
0
 internal AfdCustomDomainData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, string profileName, AfdCustomDomainHttpsParameters tlsSettings, WritableSubResource azureDnsZone, AfdDomainUpdatePropertiesParametersPreValidatedCustomDomainResourceId preValidatedCustomDomainResource, AfdProvisioningState?provisioningState, DeploymentStatus?deploymentStatus, DomainValidationState?domainValidationState, string hostName, DomainValidationProperties validationProperties) : base(id, name, resourceType, systemData)
 {
     ProfileName  = profileName;
     TlsSettings  = tlsSettings;
     AzureDnsZone = azureDnsZone;
     PreValidatedCustomDomainResource = preValidatedCustomDomainResource;
     ProvisioningState     = provisioningState;
     DeploymentStatus      = deploymentStatus;
     DomainValidationState = domainValidationState;
     HostName             = hostName;
     ValidationProperties = validationProperties;
 }
示例#11
0
 internal AfdOriginData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, string originGroupName, WritableSubResource azureOrigin, string hostName, int?httpPort, int?httpsPort, string originHostHeader, int?priority, int?weight, SharedPrivateLinkResourceProperties sharedPrivateLinkResource, EnabledState?enabledState, bool?enforceCertificateNameCheck, AfdProvisioningState?provisioningState, DeploymentStatus?deploymentStatus) : base(id, name, resourceType, systemData)
 {
     OriginGroupName             = originGroupName;
     AzureOrigin                 = azureOrigin;
     HostName                    = hostName;
     HttpPort                    = httpPort;
     HttpsPort                   = httpsPort;
     OriginHostHeader            = originHostHeader;
     Priority                    = priority;
     Weight                      = weight;
     SharedPrivateLinkResource   = sharedPrivateLinkResource;
     EnabledState                = enabledState;
     EnforceCertificateNameCheck = enforceCertificateNameCheck;
     ProvisioningState           = provisioningState;
     DeploymentStatus            = deploymentStatus;
 }
 internal AfdRouteData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, string endpointName, IList <ActivatedResourceReference> customDomains, WritableSubResource originGroup, string originPath, IList <WritableSubResource> ruleSets, IList <AfdEndpointProtocols> supportedProtocols, IList <string> patternsToMatch, AfdRouteCacheConfiguration cacheConfiguration, ForwardingProtocol?forwardingProtocol, LinkToDefaultDomain?linkToDefaultDomain, HttpsRedirect?httpsRedirect, EnabledState?enabledState, AfdProvisioningState?provisioningState, DeploymentStatus?deploymentStatus) : base(id, name, resourceType, systemData)
 {
     EndpointName        = endpointName;
     CustomDomains       = customDomains;
     OriginGroup         = originGroup;
     OriginPath          = originPath;
     RuleSets            = ruleSets;
     SupportedProtocols  = supportedProtocols;
     PatternsToMatch     = patternsToMatch;
     CacheConfiguration  = cacheConfiguration;
     ForwardingProtocol  = forwardingProtocol;
     LinkToDefaultDomain = linkToDefaultDomain;
     HttpsRedirect       = httpsRedirect;
     EnabledState        = enabledState;
     ProvisioningState   = provisioningState;
     DeploymentStatus    = deploymentStatus;
 }
示例#13
0
 internal CdnOriginData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, string hostName, int?httpPort, int?httpsPort, string originHostHeader, int?priority, int?weight, bool?enabled, string privateLinkAlias, string privateLinkResourceId, string privateLinkLocation, string privateLinkApprovalMessage, OriginResourceState?resourceState, string provisioningState, PrivateEndpointStatus?privateEndpointStatus) : base(id, name, resourceType, systemData)
 {
     HostName                   = hostName;
     HttpPort                   = httpPort;
     HttpsPort                  = httpsPort;
     OriginHostHeader           = originHostHeader;
     Priority                   = priority;
     Weight                     = weight;
     Enabled                    = enabled;
     PrivateLinkAlias           = privateLinkAlias;
     PrivateLinkResourceId      = privateLinkResourceId;
     PrivateLinkLocation        = privateLinkLocation;
     PrivateLinkApprovalMessage = privateLinkApprovalMessage;
     ResourceState              = resourceState;
     ProvisioningState          = provisioningState;
     PrivateEndpointStatus      = privateEndpointStatus;
 }
示例#14
0
 /// <summary>
 /// Creates a default ResourceTypeSetting instance from a Core.ResourceType object
 /// </summary>
 /// <param name="resourceType">An instance of Core.ResourceType.</param>
 /// <returns>A default ResourceTypeSetting instance</returns>
 internal static PivotConfig.ResourceTypeSetting ToResourceTypeSetting(this Core.ResourceType resourceType)
 {
     Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.StartedFunctionMessage);
     PivotConfig.ResourceTypeSetting newSetting = new PivotConfig.ResourceTypeSetting
     {
         Name   = resourceType.Name,
         Visual = new PivotConfig.Visual
         {
             PropertyName = string.Empty,
             Type         = PivotConfig.VisualType.Default
         },
         Link = new PivotConfig.Link {
             PropertyName = string.Empty
         }
     };
     newSetting.Facets = GetConfigFacetList(resourceType).ToArray();
     Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.FinishedFunctionMessage);
     return(newSetting);
 }
示例#15
0
 internal CdnEndpointData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, IDictionary <string, string> tags, AzureLocation location, string originPath, IList <string> contentTypesToCompress, string originHostHeader, bool?isCompressionEnabled, bool?isHttpAllowed, bool?isHttpsAllowed, QueryStringCachingBehavior?queryStringCachingBehavior, OptimizationType?optimizationType, string probePath, IList <GeoFilter> geoFilters, EndpointPropertiesUpdateParametersDefaultOriginGroup defaultOriginGroup, IList <UrlSigningKey> urlSigningKeys, EndpointPropertiesUpdateParametersDeliveryPolicy deliveryPolicy, EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink webApplicationFirewallPolicyLink, string hostName, IList <DeepCreatedOrigin> origins, IList <DeepCreatedOriginGroup> originGroups, IReadOnlyList <CdnCustomDomainData> customDomains, EndpointResourceState?resourceState, string provisioningState) : base(id, name, resourceType, systemData, tags, location)
 {
     OriginPath                 = originPath;
     ContentTypesToCompress     = contentTypesToCompress;
     OriginHostHeader           = originHostHeader;
     IsCompressionEnabled       = isCompressionEnabled;
     IsHttpAllowed              = isHttpAllowed;
     IsHttpsAllowed             = isHttpsAllowed;
     QueryStringCachingBehavior = queryStringCachingBehavior;
     OptimizationType           = optimizationType;
     ProbePath          = probePath;
     GeoFilters         = geoFilters;
     DefaultOriginGroup = defaultOriginGroup;
     UrlSigningKeys     = urlSigningKeys;
     DeliveryPolicy     = deliveryPolicy;
     WebApplicationFirewallPolicyLink = webApplicationFirewallPolicyLink;
     HostName          = hostName;
     Origins           = origins;
     OriginGroups      = originGroups;
     CustomDomains     = customDomains;
     ResourceState     = resourceState;
     ProvisioningState = provisioningState;
 }
示例#16
0
        internal static AfdCustomDomainData DeserializeAfdCustomDomainData(JsonElement element)
        {
            ResourceIdentifier id   = default;
            string             name = default;

            Core.ResourceType type        = default;
            SystemData        systemData  = default;
            Optional <string> profileName = default;
            Optional <AfdCustomDomainHttpsParameters> tlsSettings  = default;
            Optional <WritableSubResource>            azureDnsZone = default;
            Optional <AfdDomainUpdatePropertiesParametersPreValidatedCustomDomainResourceId> preValidatedCustomDomainResourceId = default;
            Optional <AfdProvisioningState>  provisioningState     = default;
            Optional <DeploymentStatus>      deploymentStatus      = default;
            Optional <DomainValidationState> domainValidationState = default;
            Optional <string> hostName = default;
            Optional <DomainValidationProperties> validationProperties = default;

            foreach (var property in element.EnumerateObject())
            {
                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 = 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("profileName"))
                        {
                            profileName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("tlsSettings"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            tlsSettings = AfdCustomDomainHttpsParameters.DeserializeAfdCustomDomainHttpsParameters(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("azureDnsZone"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            azureDnsZone = JsonSerializer.Deserialize <WritableSubResource>(property0.Value.ToString());
                            continue;
                        }
                        if (property0.NameEquals("preValidatedCustomDomainResourceId"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                preValidatedCustomDomainResourceId = null;
                                continue;
                            }
                            preValidatedCustomDomainResourceId = AfdDomainUpdatePropertiesParametersPreValidatedCustomDomainResourceId.DeserializeAfdDomainUpdatePropertiesParametersPreValidatedCustomDomainResourceId(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("provisioningState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            provisioningState = new AfdProvisioningState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("deploymentStatus"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            deploymentStatus = new DeploymentStatus(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("domainValidationState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            domainValidationState = new DomainValidationState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("hostName"))
                        {
                            hostName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("validationProperties"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            validationProperties = DomainValidationProperties.DeserializeDomainValidationProperties(property0.Value);
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new AfdCustomDomainData(id, name, type, systemData, profileName.Value, tlsSettings.Value, azureDnsZone, preValidatedCustomDomainResourceId.Value, Optional.ToNullable(provisioningState), Optional.ToNullable(deploymentStatus), Optional.ToNullable(domainValidationState), hostName.Value, validationProperties.Value));
        }
        internal static AfdOriginGroupData DeserializeAfdOriginGroupData(JsonElement element)
        {
            ResourceIdentifier id   = default;
            string             name = default;

            Core.ResourceType type        = default;
            SystemData        systemData  = default;
            Optional <string> profileName = default;
            Optional <LoadBalancingSettingsParameters> loadBalancingSettings = default;
            Optional <HealthProbeParameters>           healthProbeSettings   = default;
            Optional <int?>                 trafficRestorationTimeToHealedOrNewEndpointsInMinutes = default;
            Optional <EnabledState>         sessionAffinityState = default;
            Optional <AfdProvisioningState> provisioningState    = default;
            Optional <DeploymentStatus>     deploymentStatus     = default;

            foreach (var property in element.EnumerateObject())
            {
                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 = 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("profileName"))
                        {
                            profileName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("loadBalancingSettings"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            loadBalancingSettings = LoadBalancingSettingsParameters.DeserializeLoadBalancingSettingsParameters(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("healthProbeSettings"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            healthProbeSettings = HealthProbeParameters.DeserializeHealthProbeParameters(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("trafficRestorationTimeToHealedOrNewEndpointsInMinutes"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                trafficRestorationTimeToHealedOrNewEndpointsInMinutes = null;
                                continue;
                            }
                            trafficRestorationTimeToHealedOrNewEndpointsInMinutes = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("sessionAffinityState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            sessionAffinityState = new EnabledState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("provisioningState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            provisioningState = new AfdProvisioningState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("deploymentStatus"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            deploymentStatus = new DeploymentStatus(property0.Value.GetString());
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new AfdOriginGroupData(id, name, type, systemData, profileName.Value, loadBalancingSettings.Value, healthProbeSettings.Value, Optional.ToNullable(trafficRestorationTimeToHealedOrNewEndpointsInMinutes), Optional.ToNullable(sessionAffinityState), Optional.ToNullable(provisioningState), Optional.ToNullable(deploymentStatus)));
        }
示例#18
0
        internal static AfdRuleData DeserializeAfdRuleData(JsonElement element)
        {
            ResourceIdentifier id   = default;
            string             name = default;

            Core.ResourceType type        = default;
            SystemData        systemData  = default;
            Optional <string> ruleSetName = default;
            Optional <int>    order       = default;
            Optional <IList <DeliveryRuleCondition> > conditions = default;
            Optional <IList <DeliveryRuleAction> >    actions    = default;
            Optional <MatchProcessingBehavior>        matchProcessingBehavior = default;
            Optional <AfdProvisioningState>           provisioningState       = default;
            Optional <DeploymentStatus> deploymentStatus = default;

            foreach (var property in element.EnumerateObject())
            {
                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 = 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("ruleSetName"))
                        {
                            ruleSetName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("order"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            order = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("conditions"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <DeliveryRuleCondition> array = new List <DeliveryRuleCondition>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(DeliveryRuleCondition.DeserializeDeliveryRuleCondition(item));
                            }
                            conditions = array;
                            continue;
                        }
                        if (property0.NameEquals("actions"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <DeliveryRuleAction> array = new List <DeliveryRuleAction>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(DeliveryRuleAction.DeserializeDeliveryRuleAction(item));
                            }
                            actions = array;
                            continue;
                        }
                        if (property0.NameEquals("matchProcessingBehavior"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            matchProcessingBehavior = new MatchProcessingBehavior(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("provisioningState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            provisioningState = new AfdProvisioningState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("deploymentStatus"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            deploymentStatus = new DeploymentStatus(property0.Value.GetString());
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new AfdRuleData(id, name, type, systemData, ruleSetName.Value, Optional.ToNullable(order), Optional.ToList(conditions), Optional.ToList(actions), Optional.ToNullable(matchProcessingBehavior), Optional.ToNullable(provisioningState), Optional.ToNullable(deploymentStatus)));
        }
示例#19
0
        internal static AfdOriginData DeserializeAfdOriginData(JsonElement element)
        {
            ResourceIdentifier id   = default;
            string             name = default;

            Core.ResourceType type                     = default;
            SystemData        systemData               = default;
            Optional <string> originGroupName          = default;
            Optional <WritableSubResource> azureOrigin = default;
            Optional <string> hostName                 = default;
            Optional <int>    httpPort                 = default;
            Optional <int>    httpsPort                = default;
            Optional <string> originHostHeader         = default;
            Optional <int?>   priority                 = default;
            Optional <int?>   weight                   = default;
            Optional <SharedPrivateLinkResourceProperties> sharedPrivateLinkResource = default;
            Optional <EnabledState>         enabledState = default;
            Optional <bool>                 enforceCertificateNameCheck = default;
            Optional <AfdProvisioningState> provisioningState           = default;
            Optional <DeploymentStatus>     deploymentStatus            = default;

            foreach (var property in element.EnumerateObject())
            {
                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 = 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("originGroupName"))
                        {
                            originGroupName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("azureOrigin"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            azureOrigin = JsonSerializer.Deserialize <WritableSubResource>(property0.Value.ToString());
                            continue;
                        }
                        if (property0.NameEquals("hostName"))
                        {
                            hostName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("httpPort"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            httpPort = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("httpsPort"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            httpsPort = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("originHostHeader"))
                        {
                            originHostHeader = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("priority"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                priority = null;
                                continue;
                            }
                            priority = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("weight"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                weight = null;
                                continue;
                            }
                            weight = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("sharedPrivateLinkResource"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                sharedPrivateLinkResource = null;
                                continue;
                            }
                            sharedPrivateLinkResource = SharedPrivateLinkResourceProperties.DeserializeSharedPrivateLinkResourceProperties(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("enabledState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            enabledState = new EnabledState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("enforceCertificateNameCheck"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            enforceCertificateNameCheck = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("provisioningState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            provisioningState = new AfdProvisioningState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("deploymentStatus"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            deploymentStatus = new DeploymentStatus(property0.Value.GetString());
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new AfdOriginData(id, name, type, systemData, originGroupName.Value, azureOrigin, hostName.Value, Optional.ToNullable(httpPort), Optional.ToNullable(httpsPort), originHostHeader.Value, Optional.ToNullable(priority), Optional.ToNullable(weight), sharedPrivateLinkResource.Value, Optional.ToNullable(enabledState), Optional.ToNullable(enforceCertificateNameCheck), Optional.ToNullable(provisioningState), Optional.ToNullable(deploymentStatus)));
        }
        internal static AfdRouteData DeserializeAfdRouteData(JsonElement element)
        {
            ResourceIdentifier id   = default;
            string             name = default;

            Core.ResourceType type         = default;
            SystemData        systemData   = default;
            Optional <string> endpointName = default;
            Optional <IList <ActivatedResourceReference> > customDomains = default;
            Optional <WritableSubResource> originGroup = default;
            Optional <string> originPath = default;
            Optional <IList <WritableSubResource> >  ruleSets           = default;
            Optional <IList <AfdEndpointProtocols> > supportedProtocols = default;
            Optional <IList <string> >            patternsToMatch       = default;
            Optional <AfdRouteCacheConfiguration> cacheConfiguration    = default;
            Optional <ForwardingProtocol>         forwardingProtocol    = default;
            Optional <LinkToDefaultDomain>        linkToDefaultDomain   = default;
            Optional <HttpsRedirect>        httpsRedirect     = default;
            Optional <EnabledState>         enabledState      = default;
            Optional <AfdProvisioningState> provisioningState = default;
            Optional <DeploymentStatus>     deploymentStatus  = default;

            foreach (var property in element.EnumerateObject())
            {
                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 = 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("endpointName"))
                        {
                            endpointName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("customDomains"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <ActivatedResourceReference> array = new List <ActivatedResourceReference>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(ActivatedResourceReference.DeserializeActivatedResourceReference(item));
                            }
                            customDomains = array;
                            continue;
                        }
                        if (property0.NameEquals("originGroup"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            originGroup = JsonSerializer.Deserialize <WritableSubResource>(property0.Value.ToString());
                            continue;
                        }
                        if (property0.NameEquals("originPath"))
                        {
                            originPath = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("ruleSets"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <WritableSubResource> array = new List <WritableSubResource>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(JsonSerializer.Deserialize <WritableSubResource>(item.ToString()));
                            }
                            ruleSets = array;
                            continue;
                        }
                        if (property0.NameEquals("supportedProtocols"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <AfdEndpointProtocols> array = new List <AfdEndpointProtocols>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(new AfdEndpointProtocols(item.GetString()));
                            }
                            supportedProtocols = array;
                            continue;
                        }
                        if (property0.NameEquals("patternsToMatch"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <string> array = new List <string>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(item.GetString());
                            }
                            patternsToMatch = array;
                            continue;
                        }
                        if (property0.NameEquals("cacheConfiguration"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                cacheConfiguration = null;
                                continue;
                            }
                            cacheConfiguration = AfdRouteCacheConfiguration.DeserializeAfdRouteCacheConfiguration(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("forwardingProtocol"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            forwardingProtocol = new ForwardingProtocol(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("linkToDefaultDomain"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            linkToDefaultDomain = new LinkToDefaultDomain(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("httpsRedirect"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            httpsRedirect = new HttpsRedirect(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("enabledState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            enabledState = new EnabledState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("provisioningState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            provisioningState = new AfdProvisioningState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("deploymentStatus"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            deploymentStatus = new DeploymentStatus(property0.Value.GetString());
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new AfdRouteData(id, name, type, systemData, endpointName.Value, Optional.ToList(customDomains), originGroup, originPath.Value, Optional.ToList(ruleSets), Optional.ToList(supportedProtocols), Optional.ToList(patternsToMatch), cacheConfiguration.Value, Optional.ToNullable(forwardingProtocol), Optional.ToNullable(linkToDefaultDomain), Optional.ToNullable(httpsRedirect), Optional.ToNullable(enabledState), Optional.ToNullable(provisioningState), Optional.ToNullable(deploymentStatus)));
        }
        internal static AfdSecurityPolicyData DeserializeAfdSecurityPolicyData(JsonElement element)
        {
            ResourceIdentifier id   = default;
            string             name = default;

            Core.ResourceType type       = default;
            SystemData        systemData = default;
            Optional <AfdProvisioningState> provisioningState = default;
            Optional <DeploymentStatus>     deploymentStatus  = default;
            Optional <string> profileName = default;
            Optional <SecurityPolicyPropertiesParameters> parameters = default;

            foreach (var property in element.EnumerateObject())
            {
                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 = 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 AfdProvisioningState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("deploymentStatus"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            deploymentStatus = new DeploymentStatus(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("profileName"))
                        {
                            profileName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("parameters"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            parameters = SecurityPolicyPropertiesParameters.DeserializeSecurityPolicyPropertiesParameters(property0.Value);
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new AfdSecurityPolicyData(id, name, type, systemData, Optional.ToNullable(provisioningState), Optional.ToNullable(deploymentStatus), profileName.Value, parameters.Value));
        }
示例#22
0
        /// <summary>
        /// Generates the list of PivotConfig.Facet for a resource type and all its base types recursively.
        /// </summary>
        /// <param name="resourceType">ResourceType intance for the Facet generation</param>
        /// <param name="addResourceTypeFacet">if set to <c>true</c> [add ResourceType facet].</param>
        /// <returns>List of PivotConfig.Facet objects</returns>
        private static IEnumerable <PivotConfig.Facet> GetConfigFacetList(Core.ResourceType resourceType, bool addResourceTypeFacet = true)
        {
            Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.StartedFunctionMessage);
            if (resourceType == null)
            {
                Globals.TraceMessage(TraceEventType.Verbose, Properties.Messages.NullEmptyMessage, Properties.Messages.NullEmptyTitle);
                return(null);
            }

            List <PivotConfig.Facet> listFacets = new List <PivotConfig.Facet>();

            if (addResourceTypeFacet)
            {
                listFacets.Add(new PivotConfig.Facet
                {
                    DisplayName    = "Zentity " + typeof(ResourceType).Name,
                    PropertyName   = typeof(ResourceType).Name,
                    Format         = string.Empty,
                    KeywordSearch  = true,
                    ShowInFilter   = true,
                    ShowInInfoPane = true,
                    Delimiter      = string.Empty,
                    DataType       = PivotConfig.FacetDataType.String,
                });
            }

            string[] excludedPropertyNames = Properties.Resources.ExcludedProperties.Split(new[] { ',' });

            // Check if the current ResourceType has a base ResourceType.
            // Generate the Facet list for base ResourceType and add it to the current Facet collection
            if (resourceType.BaseType != null)
            {
                listFacets.AddRange(GetConfigFacetList(resourceType.BaseType, false));
            }

            #region Scalar Properties

            // Iterate through the Scalar Properties and add them to the PivotConfig.Facet list.
            foreach (Core.ScalarProperty scalarProperty in resourceType.ScalarProperties)
            {
                if (excludedPropertyNames.Contains(scalarProperty.Name))
                {
                    continue;
                }

                PivotConfig.Facet newFacet = new PivotConfig.Facet
                {
                    DisplayName    = scalarProperty.Name,
                    PropertyName   = scalarProperty.Name,
                    Format         = string.Empty,
                    KeywordSearch  = false,
                    ShowInFilter   = true,
                    ShowInInfoPane = true,
                    Delimiter      = string.Empty
                };

                switch (scalarProperty.DataType)
                {
                case Core.DataTypes.String:
                case Core.DataTypes.Guid:
                    newFacet.DataType      = scalarProperty.MaxLength > 500 ? PivotConfig.FacetDataType.LongString : PivotConfig.FacetDataType.String;
                    newFacet.KeywordSearch = true;
                    if (newFacet.DataType == PivotConfig.FacetDataType.LongString)
                    {
                        newFacet.ShowInFilter = false;
                    }
                    if (newFacet.PropertyName.Equals(typeof(Uri).Name, StringComparison.OrdinalIgnoreCase))
                    {
                        newFacet.DataType     = PivotConfig.FacetDataType.Link;
                        newFacet.ShowInFilter = false;
                    }
                    break;

                case Core.DataTypes.Int16:
                case Core.DataTypes.Int32:
                case Core.DataTypes.Int64:
                case Core.DataTypes.Byte:
                    newFacet.DataType = PivotConfig.FacetDataType.Number;
                    newFacet.Format   = "0";
                    break;

                case Core.DataTypes.Single:
                case Core.DataTypes.Double:
                case Core.DataTypes.Decimal:

                    newFacet.DataType = PivotConfig.FacetDataType.Number;
                    newFacet.Format   = "0.000";
                    break;

                case Core.DataTypes.Boolean:
                    newFacet.DataType = PivotConfig.FacetDataType.String;
                    break;

                case Core.DataTypes.DateTime:
                    newFacet.DataType = PivotConfig.FacetDataType.DateTime;
                    newFacet.Format   = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
                    break;

                default:
                    continue;
                }

                listFacets.Add(newFacet);
            }
            #endregion

            #region Navigation Properties

            // Iterate through the Navigation Properties and add them to the PivotConfig.Facet list.
            foreach (Core.NavigationProperty navProperty in resourceType.NavigationProperties)
            {
                if (excludedPropertyNames.Contains(navProperty.Name))
                {
                    continue;
                }

                PivotConfig.Facet newFacet = new PivotConfig.Facet
                {
                    DisplayName    = navProperty.Name,
                    PropertyName   = navProperty.Name,
                    Format         = string.Empty,
                    DataType       = PivotConfig.FacetDataType.Link,
                    KeywordSearch  = true,
                    ShowInFilter   = false,
                    ShowInInfoPane = true
                };

                listFacets.Add(newFacet);
            }

            #endregion

            Globals.TraceMessage(TraceEventType.Verbose, string.Empty, Properties.Messages.FinishedFunctionMessage);
            return(listFacets);
        }
示例#23
0
 internal AfdRuleSetData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, AfdProvisioningState?provisioningState, DeploymentStatus?deploymentStatus, string profileName) : base(id, name, resourceType, systemData)
 {
     ProvisioningState = provisioningState;
     DeploymentStatus  = deploymentStatus;
     ProfileName       = profileName;
 }
示例#24
0
        internal static CdnCustomDomainData DeserializeCdnCustomDomainData(JsonElement element)
        {
            ResourceIdentifier id   = default;
            string             name = default;

            Core.ResourceType type       = default;
            SystemData        systemData = default;
            Optional <string> hostName   = default;
            Optional <CustomDomainResourceState>       resourceState = default;
            Optional <CustomHttpsProvisioningState>    customHttpsProvisioningState    = default;
            Optional <CustomHttpsProvisioningSubstate> customHttpsProvisioningSubstate = default;
            Optional <CustomDomainHttpsContent>        customHttpsParameters           = default;
            Optional <string> validationData    = default;
            Optional <string> provisioningState = default;

            foreach (var property in element.EnumerateObject())
            {
                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 = 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("hostName"))
                        {
                            hostName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("resourceState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            resourceState = new CustomDomainResourceState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("customHttpsProvisioningState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            customHttpsProvisioningState = new CustomHttpsProvisioningState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("customHttpsProvisioningSubstate"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            customHttpsProvisioningSubstate = new CustomHttpsProvisioningSubstate(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("customHttpsParameters"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                customHttpsParameters = null;
                                continue;
                            }
                            customHttpsParameters = CustomDomainHttpsContent.DeserializeCustomDomainHttpsContent(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("validationData"))
                        {
                            validationData = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("provisioningState"))
                        {
                            provisioningState = property0.Value.GetString();
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new CdnCustomDomainData(id, name, type, systemData, hostName.Value, Optional.ToNullable(resourceState), Optional.ToNullable(customHttpsProvisioningState), Optional.ToNullable(customHttpsProvisioningSubstate), customHttpsParameters.Value, validationData.Value, provisioningState.Value));
        }
示例#25
0
        internal static CdnOriginData DeserializeCdnOriginData(JsonElement element)
        {
            ResourceIdentifier id   = default;
            string             name = default;

            Core.ResourceType                 type                       = default;
            SystemData                        systemData                 = default;
            Optional <string>                 hostName                   = default;
            Optional <int?>                   httpPort                   = default;
            Optional <int?>                   httpsPort                  = default;
            Optional <string>                 originHostHeader           = default;
            Optional <int?>                   priority                   = default;
            Optional <int?>                   weight                     = default;
            Optional <bool>                   enabled                    = default;
            Optional <string>                 privateLinkAlias           = default;
            Optional <ResourceIdentifier>     privateLinkResourceId      = default;
            Optional <string>                 privateLinkLocation        = default;
            Optional <string>                 privateLinkApprovalMessage = default;
            Optional <OriginResourceState>    resourceState              = default;
            Optional <string>                 provisioningState          = default;
            Optional <PrivateEndpointStatus?> privateEndpointStatus      = default;

            foreach (var property in element.EnumerateObject())
            {
                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 = 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("hostName"))
                        {
                            hostName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("httpPort"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                httpPort = null;
                                continue;
                            }
                            httpPort = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("httpsPort"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                httpsPort = null;
                                continue;
                            }
                            httpsPort = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("originHostHeader"))
                        {
                            originHostHeader = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("priority"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                priority = null;
                                continue;
                            }
                            priority = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("weight"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                weight = null;
                                continue;
                            }
                            weight = property0.Value.GetInt32();
                            continue;
                        }
                        if (property0.NameEquals("enabled"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            enabled = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("privateLinkAlias"))
                        {
                            privateLinkAlias = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("privateLinkResourceId"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                privateLinkResourceId = null;
                                continue;
                            }
                            privateLinkResourceId = new ResourceIdentifier(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("privateLinkLocation"))
                        {
                            privateLinkLocation = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("privateLinkApprovalMessage"))
                        {
                            privateLinkApprovalMessage = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("resourceState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            resourceState = new OriginResourceState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("provisioningState"))
                        {
                            provisioningState = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("privateEndpointStatus"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                privateEndpointStatus = null;
                                continue;
                            }
                            privateEndpointStatus = new PrivateEndpointStatus(property0.Value.GetString());
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new CdnOriginData(id, name, type, systemData, hostName.Value, Optional.ToNullable(httpPort), Optional.ToNullable(httpsPort), originHostHeader.Value, Optional.ToNullable(priority), Optional.ToNullable(weight), Optional.ToNullable(enabled), privateLinkAlias.Value, privateLinkResourceId.Value, privateLinkLocation.Value, privateLinkApprovalMessage.Value, Optional.ToNullable(resourceState), provisioningState.Value, Optional.ToNullable(privateEndpointStatus)));
        }
示例#26
0
 internal CdnWebApplicationFirewallPolicyData(ResourceIdentifier id, string name, Core.ResourceType resourceType, SystemData systemData, IDictionary <string, string> tags, AzureLocation location, string etag, CdnSku sku, PolicySettings policySettings, RateLimitRuleList rateLimitSettings, CustomRuleList customSettings, ManagedRuleSetList managedRules, IReadOnlyList <SubResource> endpointLinks, ProvisioningState?provisioningState, PolicyResourceState?resourceState) : base(id, name, resourceType, systemData, tags, location)
 {
     Etag              = etag;
     Sku               = sku;
     PolicySettings    = policySettings;
     RateLimitSettings = rateLimitSettings;
     CustomSettings    = customSettings;
     ManagedRules      = managedRules;
     EndpointLinks     = endpointLinks;
     ProvisioningState = provisioningState;
     ResourceState     = resourceState;
 }
示例#27
0
        internal static ProfileData DeserializeProfileData(JsonElement element)
        {
            CdnSku                       sku      = default;
            Optional <string>            kind     = default;
            IDictionary <string, string> tags     = default;
            AzureLocation                location = default;
            ResourceIdentifier           id       = default;
            string                       name     = default;

            Core.ResourceType type       = default;
            SystemData        systemData = default;
            Optional <ProfileResourceState> resourceState = default;
            Optional <string> provisioningState           = default;
            Optional <Guid>   frontDoorId = default;
            Optional <int?>   originResponseTimeoutSeconds = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("sku"))
                {
                    sku = CdnSku.DeserializeCdnSku(property.Value);
                    continue;
                }
                if (property.NameEquals("kind"))
                {
                    kind = property.Value.GetString();
                    continue;
                }
                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 = 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 = 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("resourceState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            resourceState = new ProfileResourceState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("provisioningState"))
                        {
                            provisioningState = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("frontDoorId"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            frontDoorId = property0.Value.GetGuid();
                            continue;
                        }
                        if (property0.NameEquals("originResponseTimeoutSeconds"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                originResponseTimeoutSeconds = null;
                                continue;
                            }
                            originResponseTimeoutSeconds = property0.Value.GetInt32();
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new ProfileData(id, name, type, systemData, tags, location, sku, kind.Value, Optional.ToNullable(resourceState), provisioningState.Value, Optional.ToNullable(frontDoorId), Optional.ToNullable(originResponseTimeoutSeconds)));
        }
 private string GetApiVersionOrNull(Core.ResourceType resourceType)
 {
     TryGetApiVersion(resourceType, out string apiVersion);
     return(apiVersion);
 }
示例#29
0
        internal static EdgeNode DeserializeEdgeNode(JsonElement element)
        {
            ResourceIdentifier id   = default;
            string             name = default;

            Core.ResourceType type       = default;
            SystemData        systemData = default;
            Optional <IList <IPAddressGroup> > ipAddressGroups = default;

            foreach (var property in element.EnumerateObject())
            {
                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 = 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("ipAddressGroups"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <IPAddressGroup> array = new List <IPAddressGroup>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(IPAddressGroup.DeserializeIPAddressGroup(item));
                            }
                            ipAddressGroups = array;
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new EdgeNode(id, name, type, systemData, Optional.ToList(ipAddressGroups)));
        }
示例#30
0
        internal static CdnEndpointData DeserializeCdnEndpointData(JsonElement element)
        {
            IDictionary <string, string> tags = default;
            AzureLocation      location       = default;
            ResourceIdentifier id             = default;
            string             name           = default;

            Core.ResourceType                     type                       = default;
            SystemData                            systemData                 = default;
            Optional <string>                     originPath                 = default;
            Optional <IList <string> >            contentTypesToCompress     = default;
            Optional <string>                     originHostHeader           = default;
            Optional <bool>                       isCompressionEnabled       = default;
            Optional <bool>                       isHttpAllowed              = default;
            Optional <bool>                       isHttpsAllowed             = default;
            Optional <QueryStringCachingBehavior> queryStringCachingBehavior = default;
            Optional <OptimizationType?>          optimizationType           = default;
            Optional <string>                     probePath                  = default;
            Optional <IList <GeoFilter> >         geoFilters                 = default;
            Optional <EndpointPropertiesUpdateParametersDefaultOriginGroup> defaultOriginGroup = default;
            Optional <IList <UrlSigningKey> > urlSigningKeys = default;
            Optional <EndpointPropertiesUpdateParametersDeliveryPolicy> deliveryPolicy = default;
            Optional <EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink> webApplicationFirewallPolicyLink = default;
            Optional <string> hostName = default;
            Optional <IList <DeepCreatedOrigin> >           origins       = default;
            Optional <IList <DeepCreatedOriginGroup> >      originGroups  = default;
            Optional <IReadOnlyList <CdnCustomDomainData> > customDomains = default;
            Optional <EndpointResourceState> resourceState = default;
            Optional <string> provisioningState            = 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 = 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 = 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("originPath"))
                        {
                            originPath = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("contentTypesToCompress"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <string> array = new List <string>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(item.GetString());
                            }
                            contentTypesToCompress = array;
                            continue;
                        }
                        if (property0.NameEquals("originHostHeader"))
                        {
                            originHostHeader = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("isCompressionEnabled"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            isCompressionEnabled = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("isHttpAllowed"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            isHttpAllowed = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("isHttpsAllowed"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            isHttpsAllowed = property0.Value.GetBoolean();
                            continue;
                        }
                        if (property0.NameEquals("queryStringCachingBehavior"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            queryStringCachingBehavior = property0.Value.GetString().ToQueryStringCachingBehavior();
                            continue;
                        }
                        if (property0.NameEquals("optimizationType"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                optimizationType = null;
                                continue;
                            }
                            optimizationType = new OptimizationType(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("probePath"))
                        {
                            probePath = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("geoFilters"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <GeoFilter> array = new List <GeoFilter>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(GeoFilter.DeserializeGeoFilter(item));
                            }
                            geoFilters = array;
                            continue;
                        }
                        if (property0.NameEquals("defaultOriginGroup"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                defaultOriginGroup = null;
                                continue;
                            }
                            defaultOriginGroup = EndpointPropertiesUpdateParametersDefaultOriginGroup.DeserializeEndpointPropertiesUpdateParametersDefaultOriginGroup(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("urlSigningKeys"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                urlSigningKeys = null;
                                continue;
                            }
                            List <UrlSigningKey> array = new List <UrlSigningKey>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(UrlSigningKey.DeserializeUrlSigningKey(item));
                            }
                            urlSigningKeys = array;
                            continue;
                        }
                        if (property0.NameEquals("deliveryPolicy"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                deliveryPolicy = null;
                                continue;
                            }
                            deliveryPolicy = EndpointPropertiesUpdateParametersDeliveryPolicy.DeserializeEndpointPropertiesUpdateParametersDeliveryPolicy(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("webApplicationFirewallPolicyLink"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                webApplicationFirewallPolicyLink = null;
                                continue;
                            }
                            webApplicationFirewallPolicyLink = EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink.DeserializeEndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink(property0.Value);
                            continue;
                        }
                        if (property0.NameEquals("hostName"))
                        {
                            hostName = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("origins"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <DeepCreatedOrigin> array = new List <DeepCreatedOrigin>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(DeepCreatedOrigin.DeserializeDeepCreatedOrigin(item));
                            }
                            origins = array;
                            continue;
                        }
                        if (property0.NameEquals("originGroups"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <DeepCreatedOriginGroup> array = new List <DeepCreatedOriginGroup>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(DeepCreatedOriginGroup.DeserializeDeepCreatedOriginGroup(item));
                            }
                            originGroups = array;
                            continue;
                        }
                        if (property0.NameEquals("customDomains"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List <CdnCustomDomainData> array = new List <CdnCustomDomainData>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(CdnCustomDomainData.DeserializeCdnCustomDomainData(item));
                            }
                            customDomains = array;
                            continue;
                        }
                        if (property0.NameEquals("resourceState"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            resourceState = new EndpointResourceState(property0.Value.GetString());
                            continue;
                        }
                        if (property0.NameEquals("provisioningState"))
                        {
                            provisioningState = property0.Value.GetString();
                            continue;
                        }
                    }
                    continue;
                }
            }
            return(new CdnEndpointData(id, name, type, systemData, tags, location, originPath.Value, Optional.ToList(contentTypesToCompress), originHostHeader.Value, Optional.ToNullable(isCompressionEnabled), Optional.ToNullable(isHttpAllowed), Optional.ToNullable(isHttpsAllowed), Optional.ToNullable(queryStringCachingBehavior), Optional.ToNullable(optimizationType), probePath.Value, Optional.ToList(geoFilters), defaultOriginGroup.Value, Optional.ToList(urlSigningKeys), deliveryPolicy.Value, webApplicationFirewallPolicyLink.Value, hostName.Value, Optional.ToList(origins), Optional.ToList(originGroups), Optional.ToList(customDomains), Optional.ToNullable(resourceState), provisioningState.Value));
        }