コード例 #1
0
        public static MCM.VMImageInput MapVMImageInput(CSM.VMImageInput vmImageInput)
        {
            var result = new MCM.VMImageInput();

            if (vmImageInput == null)
            {
                return null;
            }

            if (vmImageInput.OSDiskConfiguration != null)
            {
                result.OSDiskConfiguration = new MCM.OSDiskConfiguration()
                    {
                        ResizedSizeInGB = vmImageInput.OSDiskConfiguration.ResizedSizeInGB
                    };
            }

            if (vmImageInput.DataDiskConfigurations != null)
            {
                result.DataDiskConfigurations = new Collection<MCM.DataDiskConfiguration>();
                foreach (var dataDiskConfig in vmImageInput.DataDiskConfigurations)
                {
                    result.DataDiskConfigurations.Add(
                        new MCM.DataDiskConfiguration()
                        {
                            DiskName = dataDiskConfig.Name,
                            ResizedSizeInGB = dataDiskConfig.ResizedSizeInGB
                        });
                }
            }
            return result;
        }
コード例 #2
0
        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("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;
                }
            }
        }