'Gets the health of the specified Service Fabric partition.
Gets the health information of the specified partition.
Use EventsHealthStateFilter to filter the collection of health events
reported on the service based on the health state.
Use ReplicasHealthStateFilter to filter the collection of
ReplicaHealthState objects on the partition.
If you specify a partition that does not exist in the health store,
this cmdlet returns an error.
:param partition_id: The identity of the partition.
:type partition_id: str
:param events_health_state_filter: Allows filtering the collection of
HealthEvent objects returned based on health state.
The possible values for this parameter include integer value of one
of the following health states.
Only events that match the filter are returned. All events are used
to evaluate the aggregated health state.
If not specified, all entries are returned. The state values are flag
based enumeration, so the value could be a combination of these
value obtained using bitwise \'OR\' operator. For example, If the
provided value is 6 then all of the events with HealthState value of
OK (2) and Warning (4) are returned.
- Default - Default value. Matches any HealthState. The value is
zero.
- None - Filter that doesnât match any HealthState value. Used in
order to return no results on a given collection of states. The
value is 1.
- Ok - Filter that matches input with HealthState value Ok. The value
is 2.
- Warning - Filter that matches input with HealthState value Warning.
The value is 4.
- Error - Filter that matches input with HealthState value Error. The
value is 8.
- All - Filter that matches input with any HealthState value. The
value is 65535.
:type events_health_state_filter: int
:param replicas_health_state_filter: Allows filtering the collection
of ReplicaHealthState objects on the partition. The value can be
obtained from members or bitwise operations on members of
HealthStateFilter. Only replicas that match the filter will be
returned. All replicas will be used to evaluate the aggregated
health state. If not specified, all entries will be returned.The
state values are flag based enumeration, so the value could be a
combination of these value obtained using bitwise \'OR\' operator. For
example, If the provided value is 6 then all of the events with
HealthState value of OK (2) and Warning (4) will be returned. The
possible values for this parameter include integer value of one of
the following health states.
- Default - Default value. Matches any HealthState. The value is
zero.
- None - Filter that doesnât match any HealthState value. Used in
order to return no results on a given collection of states. The
value is 1.
- Ok - Filter that matches input with HealthState value Ok. The value
is 2.
- Warning - Filter that matches input with HealthState value Warning.
The value is 4.
- Error - Filter that matches input with HealthState value Error. The
value is 8.
- All - Filter that matches input with any HealthState value. The
value is 65535.
:type replicas_health_state_filter: int
:param timeout: The server timeout for performing the operation in
seconds. This specifies the time duration that the client is willing
to wait for the requested operation to complete. The default value
for this parameter is 60 seconds.
:type timeout: long
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:param operation_config: :ref:`Operation configuration
overrides<msrest:optionsforoperations>`.
:rtype: :class:`PartitionHealth
<azure.servicefabric.models.PartitionHealth>`
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
:raises:
:class:`FabricErrorException<azure.servicefabric.models.FabricErrorException>`'

def get_partition_health(self, partition_id, events_health_state_filter=0, replicas_health_state_filter=0, timeout=60, custom_headers=None, raw=False, **operation_config):

    api_version = '3.0'
    url = '/Partitions/{partitionId}/$/GetHealth'
    path_format_arguments = {'partitionId': self._serialize.url('partition_id', partition_id, 'str', skip_quote=True)}
    url = self._client.format_url(url, **path_format_arguments)
    query_parameters = {}
    query_parameters['api-version'] = self._serialize.query('api_version', api_version, 'str')
    if (events_health_state_filter is not None):
        query_parameters['EventsHealthStateFilter'] = self._serialize.query('events_health_state_filter', events_health_state_filter, 'int')
    if (replicas_health_state_filter is not None):
        query_parameters['ReplicasHealthStateFilter'] = self._serialize.query('replicas_health_state_filter', replicas_health_state_filter, 'int')
    if (timeout is not None):
        query_parameters['timeout'] = self._serialize.query('timeout', timeout, 'long', maximum=4294967295, minimum=1)
    header_parameters = {}
    header_parameters['Content-Type'] = 'application/json;    charset=utf-8'
    if custom_headers:
        header_parameters.update(custom_headers)
    request = self._client.get(url, query_parameters)
    response = self._client.send(request, header_parameters, **operation_config)
    if (response.status_code not in [200]):
        raise models.FabricErrorException(self._deserialize, response)
    deserialized = None
    if (response.status_code == 200):
        deserialized = self._deserialize('PartitionHealth', response)
    if raw:
        client_raw_response = ClientRawResponse(deserialized, response)
        return client_raw_response
    return deserialized
