private LoadBalancingSettingsParameters CreateLoadBalancingSettingsByFields(PSAfdOriginGroup currentPsAfdOriginGroup, bool isSampleSize, bool isSuccessfulSampleRequired, bool isAdditionalLatencyInMilliseconds)
        {
            if (!isSampleSize && !isSuccessfulSampleRequired && !isAdditionalLatencyInMilliseconds)
            {
                return(null);
            }

            // keep the current values and only change them if they differ from the paramters aka this.SampleSize, this.SuccessfulSamplesRequired, this.AdditionalLatencyInMilliseconds
            LoadBalancingSettingsParameters loadBalancingSettings = new LoadBalancingSettingsParameters
            {
                SampleSize = currentPsAfdOriginGroup.SampleSize,
                SuccessfulSamplesRequired       = currentPsAfdOriginGroup.SuccessfulSamplesRequired,
                AdditionalLatencyInMilliseconds = currentPsAfdOriginGroup.AdditionalLatencyInMilliseconds
            };

            if (isSampleSize)
            {
                loadBalancingSettings.SampleSize = this.SampleSize;
            }

            if (isSuccessfulSampleRequired)
            {
                loadBalancingSettings.SuccessfulSamplesRequired = this.SuccessfulSamplesRequired;
            }

            if (isAdditionalLatencyInMilliseconds)
            {
                loadBalancingSettings.AdditionalLatencyInMilliseconds = this.AdditionalLatencyInMillisecond;
            }

            return(loadBalancingSettings);
        }
        private LoadBalancingSettingsParameters CreateLoadBalancingSettingsByObject(PSAfdOriginGroup currentPsAfdOriginGroup, PSAfdOriginGroup proposedPsAfdOriginGroup)
        {
            // keep current values and only change them if they differ from the input object aka this.OriginGroup
            LoadBalancingSettingsParameters loadBalancingSettings = new LoadBalancingSettingsParameters
            {
                SampleSize = currentPsAfdOriginGroup.SampleSize,
                SuccessfulSamplesRequired       = currentPsAfdOriginGroup.SuccessfulSamplesRequired,
                AdditionalLatencyInMilliseconds = currentPsAfdOriginGroup.AdditionalLatencyInMilliseconds
            };

            if (proposedPsAfdOriginGroup.SampleSize != currentPsAfdOriginGroup.SampleSize)
            {
                loadBalancingSettings.SampleSize = proposedPsAfdOriginGroup.SampleSize;
            }

            if (proposedPsAfdOriginGroup.SuccessfulSamplesRequired != currentPsAfdOriginGroup.SuccessfulSamplesRequired)
            {
                loadBalancingSettings.SuccessfulSamplesRequired = proposedPsAfdOriginGroup.SuccessfulSamplesRequired;
            }

            if (proposedPsAfdOriginGroup.AdditionalLatencyInMilliseconds != currentPsAfdOriginGroup.AdditionalLatencyInMilliseconds)
            {
                loadBalancingSettings.AdditionalLatencyInMilliseconds = proposedPsAfdOriginGroup.AdditionalLatencyInMilliseconds;
            }

            return(loadBalancingSettings);
        }
Esempio n. 3
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;
 }
Esempio n. 4
0
 internal AfdOriginGroupData(ResourceIdentifier id, string name, ResourceType type, SystemData systemData, LoadBalancingSettingsParameters loadBalancingSettings, HealthProbeParameters healthProbeSettings, int?trafficRestorationTimeToHealedOrNewEndpointsInMinutes, ResponseBasedOriginErrorDetectionParameters responseBasedAfdOriginErrorDetectionSettings, EnabledState?sessionAffinityState, AfdProvisioningState?provisioningState, DeploymentStatus?deploymentStatus) : base(id, name, type, systemData)
 {
     LoadBalancingSettings = loadBalancingSettings;
     HealthProbeSettings   = healthProbeSettings;
     TrafficRestorationTimeToHealedOrNewEndpointsInMinutes = trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
     ResponseBasedAfdOriginErrorDetectionSettings          = responseBasedAfdOriginErrorDetectionSettings;
     SessionAffinityState = sessionAffinityState;
     ProvisioningState    = provisioningState;
     DeploymentStatus     = deploymentStatus;
 }
Esempio n. 5
0
        private LoadBalancingSettingsParameters CreateLoadBalancingSettings(bool isSampleSize, bool isSuccessfulSampleRequired, bool isAdditionalLatencyInMilliseconds)
        {
            if (!isSampleSize && !isSuccessfulSampleRequired && !isAdditionalLatencyInMilliseconds)
            {
                return(null);
            }

            LoadBalancingSettingsParameters loadBalancingSettings = new LoadBalancingSettingsParameters
            {
                SampleSize = isSampleSize ? this.SampleSize : 4,
                SuccessfulSamplesRequired       = isSuccessfulSampleRequired ? this.SuccessfulSamplesRequired : 2,
                AdditionalLatencyInMilliseconds = isAdditionalLatencyInMilliseconds ? this.AdditionalLatencyInMillisecond : 0
            };

            return(loadBalancingSettings);
        }
Esempio n. 6
0
        internal static AfdOriginGroupData DeserializeAfdOriginGroupData(JsonElement element)
        {
            Optional <SystemData> systemData = default;
            ResourceIdentifier    id         = default;
            string       name = default;
            ResourceType type = default;
            Optional <LoadBalancingSettingsParameters> loadBalancingSettings      = default;
            Optional <HealthProbeParameters>           healthProbeSettings        = default;
            Optional <int?> trafficRestorationTimeToHealedOrNewEndpointsInMinutes = default;
            Optional <ResponseBasedOriginErrorDetectionParameters> responseBasedAfdOriginErrorDetectionSettings = default;
            Optional <EnabledState>         sessionAffinityState = default;
            Optional <AfdProvisioningState> provisioningState    = default;
            Optional <DeploymentStatus>     deploymentStatus     = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("systemData"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    systemData = SystemData.DeserializeSystemData(property.Value);
                    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("properties"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    foreach (var property0 in property.Value.EnumerateObject())
                    {
                        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("responseBasedAfdOriginErrorDetectionSettings"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                responseBasedAfdOriginErrorDetectionSettings = null;
                                continue;
                            }
                            responseBasedAfdOriginErrorDetectionSettings = ResponseBasedOriginErrorDetectionParameters.DeserializeResponseBasedOriginErrorDetectionParameters(property0.Value);
                            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.Value, loadBalancingSettings.Value, healthProbeSettings.Value, Optional.ToNullable(trafficRestorationTimeToHealedOrNewEndpointsInMinutes), responseBasedAfdOriginErrorDetectionSettings.Value, Optional.ToNullable(sessionAffinityState), Optional.ToNullable(provisioningState), Optional.ToNullable(deploymentStatus)));
        }