예제 #1
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static ClusterHealthPolicies GetFromJsonProperties(JsonReader reader)
        {
            var applicationHealthPolicyMap = default(IEnumerable <ApplicationHealthPolicyMapItem>);
            var clusterHealthPolicy        = default(ClusterHealthPolicy);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("ApplicationHealthPolicyMap", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    applicationHealthPolicyMap = reader.ReadList(ApplicationHealthPolicyMapItemConverter.Deserialize);
                }
                else if (string.Compare("ClusterHealthPolicy", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    clusterHealthPolicy = ClusterHealthPolicyConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new ClusterHealthPolicies(
                       applicationHealthPolicyMap: applicationHealthPolicyMap,
                       clusterHealthPolicy: clusterHealthPolicy));
        }
예제 #2
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static UpdateClusterUpgradeDescription GetFromJsonProperties(JsonReader reader)
        {
            var upgradeKind                 = default(UpgradeType?);
            var updateDescription           = default(RollingUpgradeUpdateDescription);
            var clusterHealthPolicy         = default(ClusterHealthPolicy);
            var enableDeltaHealthEvaluation = default(bool?);
            var clusterUpgradeHealthPolicy  = default(ClusterUpgradeHealthPolicyObject);
            var applicationHealthPolicyMap  = default(ApplicationHealthPolicies);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("UpgradeKind", propName, StringComparison.Ordinal) == 0)
                {
                    upgradeKind = UpgradeTypeConverter.Deserialize(reader);
                }
                else if (string.Compare("UpdateDescription", propName, StringComparison.Ordinal) == 0)
                {
                    updateDescription = RollingUpgradeUpdateDescriptionConverter.Deserialize(reader);
                }
                else if (string.Compare("ClusterHealthPolicy", propName, StringComparison.Ordinal) == 0)
                {
                    clusterHealthPolicy = ClusterHealthPolicyConverter.Deserialize(reader);
                }
                else if (string.Compare("EnableDeltaHealthEvaluation", propName, StringComparison.Ordinal) == 0)
                {
                    enableDeltaHealthEvaluation = reader.ReadValueAsBool();
                }
                else if (string.Compare("ClusterUpgradeHealthPolicy", propName, StringComparison.Ordinal) == 0)
                {
                    clusterUpgradeHealthPolicy = ClusterUpgradeHealthPolicyObjectConverter.Deserialize(reader);
                }
                else if (string.Compare("ApplicationHealthPolicyMap", propName, StringComparison.Ordinal) == 0)
                {
                    applicationHealthPolicyMap = ApplicationHealthPoliciesConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new UpdateClusterUpgradeDescription(
                       upgradeKind: upgradeKind,
                       updateDescription: updateDescription,
                       clusterHealthPolicy: clusterHealthPolicy,
                       enableDeltaHealthEvaluation: enableDeltaHealthEvaluation,
                       clusterUpgradeHealthPolicy: clusterUpgradeHealthPolicy,
                       applicationHealthPolicyMap: applicationHealthPolicyMap));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static ClusterHealthChunkQueryDescription GetFromJsonProperties(JsonReader reader)
        {
            var nodeFilters               = default(IEnumerable <NodeHealthStateFilter>);
            var applicationFilters        = default(IEnumerable <ApplicationHealthStateFilter>);
            var clusterHealthPolicy       = default(ClusterHealthPolicy);
            var applicationHealthPolicies = default(ApplicationHealthPolicies);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("NodeFilters", propName, StringComparison.Ordinal) == 0)
                {
                    nodeFilters = reader.ReadList(NodeHealthStateFilterConverter.Deserialize);
                }
                else if (string.Compare("ApplicationFilters", propName, StringComparison.Ordinal) == 0)
                {
                    applicationFilters = reader.ReadList(ApplicationHealthStateFilterConverter.Deserialize);
                }
                else if (string.Compare("ClusterHealthPolicy", propName, StringComparison.Ordinal) == 0)
                {
                    clusterHealthPolicy = ClusterHealthPolicyConverter.Deserialize(reader);
                }
                else if (string.Compare("ApplicationHealthPolicies", propName, StringComparison.Ordinal) == 0)
                {
                    applicationHealthPolicies = ApplicationHealthPoliciesConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new ClusterHealthChunkQueryDescription(
                       nodeFilters: nodeFilters,
                       applicationFilters: applicationFilters,
                       clusterHealthPolicy: clusterHealthPolicy,
                       applicationHealthPolicies: applicationHealthPolicies));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static StartClusterUpgradeDescription GetFromJsonProperties(JsonReader reader)
        {
            var codeVersion        = default(string);
            var configVersion      = default(string);
            var upgradeKind        = default(UpgradeKind?);
            var rollingUpgradeMode = default(UpgradeMode?);
            var upgradeReplicaSetCheckTimeoutInSeconds = default(long?);
            var forceRestart                = default(bool?);
            var monitoringPolicy            = default(MonitoringPolicyDescription);
            var clusterHealthPolicy         = default(ClusterHealthPolicy);
            var enableDeltaHealthEvaluation = default(bool?);
            var clusterUpgradeHealthPolicy  = default(ClusterUpgradeHealthPolicyObject);
            var applicationHealthPolicyMap  = default(ApplicationHealthPolicies);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("CodeVersion", propName, StringComparison.Ordinal) == 0)
                {
                    codeVersion = reader.ReadValueAsString();
                }
                else if (string.Compare("ConfigVersion", propName, StringComparison.Ordinal) == 0)
                {
                    configVersion = reader.ReadValueAsString();
                }
                else if (string.Compare("UpgradeKind", propName, StringComparison.Ordinal) == 0)
                {
                    upgradeKind = UpgradeKindConverter.Deserialize(reader);
                }
                else if (string.Compare("RollingUpgradeMode", propName, StringComparison.Ordinal) == 0)
                {
                    rollingUpgradeMode = UpgradeModeConverter.Deserialize(reader);
                }
                else if (string.Compare("UpgradeReplicaSetCheckTimeoutInSeconds", propName, StringComparison.Ordinal) == 0)
                {
                    upgradeReplicaSetCheckTimeoutInSeconds = reader.ReadValueAsLong();
                }
                else if (string.Compare("ForceRestart", propName, StringComparison.Ordinal) == 0)
                {
                    forceRestart = reader.ReadValueAsBool();
                }
                else if (string.Compare("MonitoringPolicy", propName, StringComparison.Ordinal) == 0)
                {
                    monitoringPolicy = MonitoringPolicyDescriptionConverter.Deserialize(reader);
                }
                else if (string.Compare("ClusterHealthPolicy", propName, StringComparison.Ordinal) == 0)
                {
                    clusterHealthPolicy = ClusterHealthPolicyConverter.Deserialize(reader);
                }
                else if (string.Compare("EnableDeltaHealthEvaluation", propName, StringComparison.Ordinal) == 0)
                {
                    enableDeltaHealthEvaluation = reader.ReadValueAsBool();
                }
                else if (string.Compare("ClusterUpgradeHealthPolicy", propName, StringComparison.Ordinal) == 0)
                {
                    clusterUpgradeHealthPolicy = ClusterUpgradeHealthPolicyObjectConverter.Deserialize(reader);
                }
                else if (string.Compare("ApplicationHealthPolicyMap", propName, StringComparison.Ordinal) == 0)
                {
                    applicationHealthPolicyMap = ApplicationHealthPoliciesConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new StartClusterUpgradeDescription(
                       codeVersion: codeVersion,
                       configVersion: configVersion,
                       upgradeKind: upgradeKind,
                       rollingUpgradeMode: rollingUpgradeMode,
                       upgradeReplicaSetCheckTimeoutInSeconds: upgradeReplicaSetCheckTimeoutInSeconds,
                       forceRestart: forceRestart,
                       monitoringPolicy: monitoringPolicy,
                       clusterHealthPolicy: clusterHealthPolicy,
                       enableDeltaHealthEvaluation: enableDeltaHealthEvaluation,
                       clusterUpgradeHealthPolicy: clusterUpgradeHealthPolicy,
                       applicationHealthPolicyMap: applicationHealthPolicyMap));
        }
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static ChaosParameters GetFromJsonProperties(JsonReader reader)
        {
            var timeToRunInSeconds = default(string);
            var maxClusterStabilizationTimeoutInSeconds = default(long?);
            var maxConcurrentFaults                = default(long?);
            var enableMoveReplicaFaults            = default(bool?);
            var waitTimeBetweenFaultsInSeconds     = default(long?);
            var waitTimeBetweenIterationsInSeconds = default(long?);
            var clusterHealthPolicy                = default(ClusterHealthPolicy);
            var context           = default(ChaosContext);
            var chaosTargetFilter = default(ChaosTargetFilter);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("TimeToRunInSeconds", propName, StringComparison.Ordinal) == 0)
                {
                    timeToRunInSeconds = reader.ReadValueAsString();
                }
                else if (string.Compare("MaxClusterStabilizationTimeoutInSeconds", propName, StringComparison.Ordinal) == 0)
                {
                    maxClusterStabilizationTimeoutInSeconds = reader.ReadValueAsLong();
                }
                else if (string.Compare("MaxConcurrentFaults", propName, StringComparison.Ordinal) == 0)
                {
                    maxConcurrentFaults = reader.ReadValueAsLong();
                }
                else if (string.Compare("EnableMoveReplicaFaults", propName, StringComparison.Ordinal) == 0)
                {
                    enableMoveReplicaFaults = reader.ReadValueAsBool();
                }
                else if (string.Compare("WaitTimeBetweenFaultsInSeconds", propName, StringComparison.Ordinal) == 0)
                {
                    waitTimeBetweenFaultsInSeconds = reader.ReadValueAsLong();
                }
                else if (string.Compare("WaitTimeBetweenIterationsInSeconds", propName, StringComparison.Ordinal) == 0)
                {
                    waitTimeBetweenIterationsInSeconds = reader.ReadValueAsLong();
                }
                else if (string.Compare("ClusterHealthPolicy", propName, StringComparison.Ordinal) == 0)
                {
                    clusterHealthPolicy = ClusterHealthPolicyConverter.Deserialize(reader);
                }
                else if (string.Compare("Context", propName, StringComparison.Ordinal) == 0)
                {
                    context = ChaosContextConverter.Deserialize(reader);
                }
                else if (string.Compare("ChaosTargetFilter", propName, StringComparison.Ordinal) == 0)
                {
                    chaosTargetFilter = ChaosTargetFilterConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new ChaosParameters(
                       timeToRunInSeconds: timeToRunInSeconds,
                       maxClusterStabilizationTimeoutInSeconds: maxClusterStabilizationTimeoutInSeconds,
                       maxConcurrentFaults: maxConcurrentFaults,
                       enableMoveReplicaFaults: enableMoveReplicaFaults,
                       waitTimeBetweenFaultsInSeconds: waitTimeBetweenFaultsInSeconds,
                       waitTimeBetweenIterationsInSeconds: waitTimeBetweenIterationsInSeconds,
                       clusterHealthPolicy: clusterHealthPolicy,
                       context: context,
                       chaosTargetFilter: chaosTargetFilter));
        }