public static string GetPlainString(PVM.ResourceExtensionParameterValue item)
        {
            string str = null;

            if (item != null)
            {
                if (string.Equals( item.Type, PublicTypeStr, StringComparison.OrdinalIgnoreCase))
                {
                    str = item.Value;
                }
                else if (string.Equals(item.Type, PrivateTypeStr, StringComparison.OrdinalIgnoreCase))
                {
                    str = item.SecureValue.ConvertToUnsecureString();
                }
            }

            return str;
        }
        private void UpdateEndpointProperties(PVM.InputEndpoint endpoint)
        {
            if (this.ParameterSpecified("Protocol"))
            {
                endpoint.Protocol = this.Protocol;
            }

            if (this.ParameterSpecified("LocalPort"))
            {
                if (!this.ParameterSpecified("ProbePort")
                    && endpoint.LoadBalancerProbe != null
                    && endpoint.LocalPort == endpoint.LoadBalancerProbe.Port)
                {
                    endpoint.LoadBalancerProbe.Port = this.LocalPort;
                }

                endpoint.LocalPort = this.LocalPort;
            }

            if (this.ParameterSpecified("PublicPort"))
            {
                endpoint.Port = this.PublicPort;
            }

            if (this.ParameterSpecified("IdleTimeoutInMinutes"))
            {
                endpoint.IdleTimeoutInMinutes = this.IdleTimeoutInMinutes;
            }

            if (this.ParameterSpecified("LoadBalancerDistribution"))
            {
                endpoint.LoadBalancerDistribution = this.LoadBalancerDistribution;
            }

            if (this.ParameterSpecified("VirtualIPName"))
            {
                endpoint.VirtualIPName = this.VirtualIPName;
            }

            if (this.ParameterSpecified("DirectServerReturn"))
            {
                endpoint.EnableDirectServerReturn = this.DirectServerReturn;
            }

            if (this.ParameterSpecified("ACL"))
            {
                endpoint.EndpointAccessControlList = this.ACL;
            }

            if (this.ParameterSetName == SetAzureLoadBalancedEndpoint.HTTPProbeParameterSet
                || this.ParameterSetName == SetAzureLoadBalancedEndpoint.TCPProbeParameterSet)
            {
                if (endpoint.LoadBalancerProbe == null)
                {
                    endpoint.LoadBalancerProbe = new PVM.LoadBalancerProbe();
                    if (!this.ParameterSpecified("ProbePort"))
                    {
                        endpoint.LoadBalancerProbe.Port = endpoint.LocalPort;
                    }
                }

                if (this.ParameterSpecified("ProbePort"))
                {
                    endpoint.LoadBalancerProbe.Port = this.ProbePort;
                }

                if (this.ParameterSpecified("ProbeIntervalInSeconds"))
                {
                    endpoint.LoadBalancerProbe.IntervalInSeconds = this.ProbeIntervalInSeconds;
                }

                if (this.ParameterSpecified("ProbeTimeoutInSeconds"))
                {
                    endpoint.LoadBalancerProbe.TimeoutInSeconds = this.ProbeTimeoutInSeconds;
                }

                if (this.ParameterSetName == SetAzureLoadBalancedEndpoint.HTTPProbeParameterSet)
                {
                    endpoint.LoadBalancerProbe.Protocol = "http";
                    endpoint.LoadBalancerProbe.Path = this.ProbePath;
                }

                if (this.ParameterSetName == SetAzureLoadBalancedEndpoint.TCPProbeParameterSet)
                {
                    endpoint.LoadBalancerProbe.Protocol = "tcp";
                    endpoint.LoadBalancerProbe.Path = null;
                }
            }
        }