# 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_4_0_36 module Models # # Represents common health report information. It is included in all health # reports sent to health store and in all health events returned by health # queries. # class HealthInformation include MsRestAzure # @return [String] The source name that identifies the # client/watchdog/system component that generated the health information. attr_accessor :source_id # @return [String] The property of the health information. An entity can # have health reports for different properties. # The property is a string and not a fixed enumeration to allow the # reporter flexibility to categorize the state condition that triggers # the report. # For example, a reporter with SourceId "LocalWatchdog" can monitor the # state of the available disk on a node, # so it can report "AvailableDisk" property on that node. # The same reporter can monitor the node connectivity, so it can report a # property "Connectivity" on the same node. # In the health store, these reports are treated as separate health # events for the specified node. # # Together with the SourceId, the property uniquely identifies the health # information. attr_accessor :property # @return [HealthState] The health state of a Service Fabric entity such # as Cluster, Node, Application, Service, Partition, Replica etc. # Possible values include: 'Invalid', 'Ok', 'Warning', 'Error', 'Unknown' attr_accessor :health_state # @return [Duration] The duration for which this health report is valid. # This field uses ISO8601 format for specifying the duration. # When clients report periodically, they should send reports with higher # frequency than time to live. # If clients report on transition, they can set the time to live to # infinite. # When time to live expires, the health event that contains the health # information # is either removed from health store, if RemoveWhenExpired is true, or # evaluated at error, if RemoveWhenExpired false. # # If not specified, time to live defaults to infinite value. attr_accessor :time_to_live_in_milli_seconds # @return [String] The description of the health information. It # represents free text used to add human readable information about the # report. # The maximum string length for the description is 4096 characters. # If the provided string is longer, it will be automatically truncated. # When truncated, the last characters of the description contain a marker # "[Truncated]", and total string size is 4096 characters. # The presence of the marker indicates to users that truncation occurred. # Note that when truncated, the description has less than 4096 characters # from the original string. attr_accessor :description # @return [String] The sequence number for this health report as a # numeric string. # The report sequence number is used by the health store to detect stale # reports. # If not specified, a sequence number is auto-generated by the health # client when a report is added. attr_accessor :sequence_number # @return [Boolean] Value that indicates whether the report is removed # from health store when it expires. # If set to true, the report is removed from the health store after it # expires. # If set to false, the report is treated as an error when expired. The # value of this property is false by default. # When clients report periodically, they should set RemoveWhenExpired # false (default). # This way, if the reporter has issues (e.g. deadlock) and can't report, # the entity is evaluated at error when the health report expires. # This flags the entity as being in Error health state. attr_accessor :remove_when_expired # # Mapper for HealthInformation class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'HealthInformation', type: { name: 'Composite', class_name: 'HealthInformation', model_properties: { source_id: { client_side_validation: true, required: true, serialized_name: 'SourceId', type: { name: 'String' } }, property: { client_side_validation: true, required: true, serialized_name: 'Property', type: { name: 'String' } }, health_state: { client_side_validation: true, required: true, serialized_name: 'HealthState', type: { name: 'String' } }, time_to_live_in_milli_seconds: { client_side_validation: true, required: false, serialized_name: 'TimeToLiveInMilliSeconds', type: { name: 'TimeSpan' } }, description: { client_side_validation: true, required: false, serialized_name: 'Description', type: { name: 'String' } }, sequence_number: { client_side_validation: true, required: false, serialized_name: 'SequenceNumber', type: { name: 'String' } }, remove_when_expired: { client_side_validation: true, required: false, serialized_name: 'RemoveWhenExpired', type: { name: 'Boolean' } } } } } end end end end