# encoding: utf-8 # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. module Azure::ServiceFabric::V6_2_0_9 module Models # # Defines all the parameters to configure a Chaos run. # class ChaosParameters include MsRestAzure # @return [String] Total time (in seconds) for which Chaos will run # before automatically stopping. The maximum allowed value is # 4,294,967,295 (System.UInt32.MaxValue). Default value: '4294967295' . attr_accessor :time_to_run_in_seconds # @return [Integer] The maximum amount of time to wait for all cluster # entities to become stable and healthy. Chaos executes in iterations and # at the start of each iteration it validates the health of cluster # entities. # During validation if a cluster entity is not stable and healthy within # MaxClusterStabilizationTimeoutInSeconds, Chaos generates a validation # failed event. Default value: 60 . attr_accessor :max_cluster_stabilization_timeout_in_seconds # @return [Integer] MaxConcurrentFaults is the maximum number of # concurrent faults induced per iteration. # Chaos executes in iterations and two consecutive iterations are # separated by a validation phase. # The higher the concurrency, the more aggressive the injection of faults # -- inducing more complex series of states to uncover bugs. # The recommendation is to start with a value of 2 or 3 and to exercise # caution while moving up. Default value: 1 . attr_accessor :max_concurrent_faults # @return [Boolean] Enables or disables the move primary and move # secondary faults. Default value: true . attr_accessor :enable_move_replica_faults # @return [Integer] Wait time (in seconds) between consecutive faults # within a single iteration. # The larger the value, the lower the overlapping between faults and the # simpler the sequence of state transitions that the cluster goes # through. # The recommendation is to start with a value between 1 and 5 and # exercise caution while moving up. Default value: 20 . attr_accessor :wait_time_between_faults_in_seconds # @return [Integer] Time-separation (in seconds) between two consecutive # iterations of Chaos. # The larger the value, the lower the fault injection rate. Default # value: 30 . attr_accessor :wait_time_between_iterations_in_seconds # @return [ClusterHealthPolicy] Passed-in cluster health policy is used # to validate health of the cluster in between Chaos iterations. If the # cluster health is in error or if an unexpected exception happens during # fault execution--to provide the cluster with some time to # recuperate--Chaos will wait for 30 minutes before the next # health-check. attr_accessor :cluster_health_policy # @return [ChaosContext] Describes a map, which is a collection of # (string, string) type key-value pairs. The map can be used to record # information about # the Chaos run. There cannot be more than 100 such pairs and each string # (key or value) can be at most 4095 characters long. # This map is set by the starter of the Chaos run to optionally store the # context about the specific run. attr_accessor :context # @return [ChaosTargetFilter] List of cluster entities to target for # Chaos faults. # This filter can be used to target Chaos faults only to certain node # types or only to certain application instances. If ChaosTargetFilter is # not used, Chaos faults all cluster entities. # If ChaosTargetFilter is used, Chaos faults only the entities that meet # the ChaosTargetFilter specification. attr_accessor :chaos_target_filter # # Mapper for ChaosParameters class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'ChaosParameters', type: { name: 'Composite', class_name: 'ChaosParameters', model_properties: { time_to_run_in_seconds: { client_side_validation: true, required: false, serialized_name: 'TimeToRunInSeconds', default_value: '4294967295', type: { name: 'String' } }, max_cluster_stabilization_timeout_in_seconds: { client_side_validation: true, required: false, serialized_name: 'MaxClusterStabilizationTimeoutInSeconds', default_value: 60, constraints: { InclusiveMaximum: 4294967295, InclusiveMinimum: 0 }, type: { name: 'Number' } }, max_concurrent_faults: { client_side_validation: true, required: false, serialized_name: 'MaxConcurrentFaults', default_value: 1, constraints: { InclusiveMaximum: 4294967295, InclusiveMinimum: 0 }, type: { name: 'Number' } }, enable_move_replica_faults: { client_side_validation: true, required: false, serialized_name: 'EnableMoveReplicaFaults', default_value: true, type: { name: 'Boolean' } }, wait_time_between_faults_in_seconds: { client_side_validation: true, required: false, serialized_name: 'WaitTimeBetweenFaultsInSeconds', default_value: 20, constraints: { InclusiveMaximum: 4294967295, InclusiveMinimum: 0 }, type: { name: 'Number' } }, wait_time_between_iterations_in_seconds: { client_side_validation: true, required: false, serialized_name: 'WaitTimeBetweenIterationsInSeconds', default_value: 30, constraints: { InclusiveMaximum: 4294967295, InclusiveMinimum: 0 }, type: { name: 'Number' } }, cluster_health_policy: { client_side_validation: true, required: false, serialized_name: 'ClusterHealthPolicy', type: { name: 'Composite', class_name: 'ClusterHealthPolicy' } }, context: { client_side_validation: true, required: false, serialized_name: 'Context', type: { name: 'Composite', class_name: 'ChaosContext' } }, chaos_target_filter: { client_side_validation: true, required: false, serialized_name: 'ChaosTargetFilter', type: { name: 'Composite', class_name: 'ChaosTargetFilter' } } } } } end end end end