# 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::Mgmt::V2018_02_01 module Models # # Defines a health policy used to evaluate the health of the cluster or of # a cluster node. # # class ClusterHealthPolicy include MsRestAzure # @return [Integer] The maximum allowed percentage of unhealthy nodes # before reporting an error. For example, to allow 10% of nodes to be # unhealthy, this value would be 10. # # The percentage represents the maximum tolerated percentage of nodes # that can be unhealthy before the cluster is considered in error. # If the percentage is respected but there is at least one unhealthy # node, the health is evaluated as Warning. # The percentage is calculated by dividing the number of unhealthy nodes # over the total number of nodes in the cluster. # The computation rounds up to tolerate one failure on small numbers of # nodes. Default percentage is zero. # # In large clusters, some nodes will always be down or out for repairs, # so this percentage should be configured to tolerate that. # . Default value: 0 . attr_accessor :max_percent_unhealthy_nodes # @return [Integer] The maximum allowed percentage of unhealthy # applications before reporting an error. For example, to allow 10% of # applications to be unhealthy, this value would be 10. # # The percentage represents the maximum tolerated percentage of # applications that can be unhealthy before the cluster is considered in # error. # If the percentage is respected but there is at least one unhealthy # application, the health is evaluated as Warning. # This is calculated by dividing the number of unhealthy applications # over the total number of application instances in the cluster, # excluding applications of application types that are included in the # ApplicationTypeHealthPolicyMap. # The computation rounds up to tolerate one failure on small numbers of # applications. Default percentage is zero. # . Default value: 0 . attr_accessor :max_percent_unhealthy_applications # @return [Hash{String => ApplicationHealthPolicy}] Defines the # application health policy map used to evaluate the health of an # application or one of its children entities. attr_accessor :application_health_policies # # Mapper for ClusterHealthPolicy class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'ClusterHealthPolicy', type: { name: 'Composite', class_name: 'ClusterHealthPolicy', model_properties: { max_percent_unhealthy_nodes: { client_side_validation: true, required: false, serialized_name: 'maxPercentUnhealthyNodes', default_value: 0, constraints: { InclusiveMaximum: 100, InclusiveMinimum: 0 }, type: { name: 'Number' } }, max_percent_unhealthy_applications: { client_side_validation: true, required: false, serialized_name: 'maxPercentUnhealthyApplications', default_value: 0, constraints: { InclusiveMaximum: 100, InclusiveMinimum: 0 }, type: { name: 'Number' } }, application_health_policies: { client_side_validation: true, required: false, serialized_name: 'applicationHealthPolicies', type: { name: 'Dictionary', value: { client_side_validation: true, required: false, serialized_name: 'ApplicationHealthPolicyElementType', type: { name: 'Composite', class_name: 'ApplicationHealthPolicy' } } } } } } } end end end end