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; }
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; } } }