Пример #1
0
        /// <summary>
        /// Create Object of StorageDrsConfigSpec
        /// </summary>
        /// <param name="behavior">string</param>
        /// <param name="loadBalanceInterval">string</param>
        /// <returns></returns>
        private StorageDrsConfigSpec GetStorageDrsConfigSpec(string behavior, string loadBalanceInterval)
        {
            StorageDrsConfigSpec    sdrsConfigSpec = new StorageDrsConfigSpec();
            StorageDrsPodConfigSpec podConfigSpec  = new StorageDrsPodConfigSpec();

            if (behavior.Equals("true"))
            {
                podConfigSpec.defaultVmBehavior = "automated";
            }
            else
            {
                podConfigSpec.defaultVmBehavior = "manual";
            }
            podConfigSpec.defaultIntraVmAffinity          = true;
            podConfigSpec.defaultIntraVmAffinitySpecified = true;
            podConfigSpec.enabled          = true;
            podConfigSpec.enabledSpecified = true;
            StorageDrsIoLoadBalanceConfig sdrsIoLoadBalanceConfig =
                new StorageDrsIoLoadBalanceConfig();

            if (ioLatencythreshold != null)
            {
                sdrsIoLoadBalanceConfig.ioLatencyThreshold          = int.Parse(ioLatencythreshold);
                sdrsIoLoadBalanceConfig.ioLatencyThresholdSpecified = true;
            }
            if (ioLoadImbalanceThreshold != null)
            {
                sdrsIoLoadBalanceConfig.ioLoadImbalanceThreshold          = int.Parse(ioLoadImbalanceThreshold);
                sdrsIoLoadBalanceConfig.ioLoadImbalanceThresholdSpecified = true;
            }
            podConfigSpec.ioLoadBalanceConfig           = sdrsIoLoadBalanceConfig;
            podConfigSpec.ioLoadBalanceEnabled          = true;
            podConfigSpec.ioLoadBalanceEnabledSpecified = true;
            if (loadBalanceInterval != null)
            {
                podConfigSpec.loadBalanceInterval          = int.Parse(loadBalanceInterval);
                podConfigSpec.loadBalanceIntervalSpecified = true;
            }
            StorageDrsSpaceLoadBalanceConfig sdrsSpaceLoadBalanceConfig =
                new StorageDrsSpaceLoadBalanceConfig();

            if (spaceUtilizationThreshold != null)
            {
                sdrsSpaceLoadBalanceConfig.spaceUtilizationThreshold          = int.Parse(spaceUtilizationThreshold);
                sdrsSpaceLoadBalanceConfig.spaceUtilizationThresholdSpecified = true;
            }
            if (minSpaceUtilizationDifference != null)
            {
                sdrsSpaceLoadBalanceConfig.minSpaceUtilizationDifference          = int.Parse(minSpaceUtilizationDifference);
                sdrsSpaceLoadBalanceConfig.minSpaceUtilizationDifferenceSpecified = true;
            }
            podConfigSpec.spaceLoadBalanceConfig = sdrsSpaceLoadBalanceConfig;
            sdrsConfigSpec.podConfigSpec         = podConfigSpec;
            return(sdrsConfigSpec);
        }
Пример #2
0
        /// <summary>
        /// Create Object of StorageDrsConfigSpec
        /// </summary>
        /// <param name="behavior">string</param>
        /// <param name="loadBalanceInterval">string</param>
        /// <returns></returns>
        private StorageDrsConfigSpec GetStorageDrsConfigSpec(string behavior, string loadBalanceInterval)
        {

            StorageDrsConfigSpec sdrsConfigSpec = new StorageDrsConfigSpec();
            StorageDrsPodConfigSpec podConfigSpec = new StorageDrsPodConfigSpec();
            if (behavior.Equals("true"))
            {
                podConfigSpec.defaultVmBehavior = "automated";
            }
            else
            {
                podConfigSpec.defaultVmBehavior = "manual";
            }
            podConfigSpec.defaultIntraVmAffinity = true;
            podConfigSpec.defaultIntraVmAffinitySpecified = true;
            podConfigSpec.enabled = true;
            podConfigSpec.enabledSpecified = true;
            StorageDrsIoLoadBalanceConfig sdrsIoLoadBalanceConfig =
            new StorageDrsIoLoadBalanceConfig();
            if (ioLatencythreshold != null)
            {
                sdrsIoLoadBalanceConfig.ioLatencyThreshold = int.Parse(ioLatencythreshold);
                sdrsIoLoadBalanceConfig.ioLatencyThresholdSpecified = true;
            }
            if (ioLoadImbalanceThreshold != null)
            {
                sdrsIoLoadBalanceConfig.ioLoadImbalanceThreshold = int.Parse(ioLoadImbalanceThreshold);
                sdrsIoLoadBalanceConfig.ioLoadImbalanceThresholdSpecified = true;
            }
            podConfigSpec.ioLoadBalanceConfig = sdrsIoLoadBalanceConfig;
            podConfigSpec.ioLoadBalanceEnabled = true;
            podConfigSpec.ioLoadBalanceEnabledSpecified = true;
            if (loadBalanceInterval != null)
            {
                podConfigSpec.loadBalanceInterval = int.Parse(loadBalanceInterval);
                podConfigSpec.loadBalanceIntervalSpecified = true;
            }
            StorageDrsSpaceLoadBalanceConfig sdrsSpaceLoadBalanceConfig =
                             new StorageDrsSpaceLoadBalanceConfig();
            if (spaceUtilizationThreshold != null)
            {
                sdrsSpaceLoadBalanceConfig.spaceUtilizationThreshold = int.Parse(spaceUtilizationThreshold);
                sdrsSpaceLoadBalanceConfig.spaceUtilizationThresholdSpecified = true;
            }
            if (minSpaceUtilizationDifference != null)
            {
                sdrsSpaceLoadBalanceConfig.minSpaceUtilizationDifference = int.Parse(minSpaceUtilizationDifference);
                sdrsSpaceLoadBalanceConfig.minSpaceUtilizationDifferenceSpecified = true;
            }
            podConfigSpec.spaceLoadBalanceConfig = sdrsSpaceLoadBalanceConfig;
            sdrsConfigSpec.podConfigSpec = podConfigSpec;
            return sdrsConfigSpec;

        }