# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class NodeDeactivationInfo(Model):
    """Information about the node deactivation. This information is valid for a
    node that is undergoing deactivation or has already been deactivated.

    :param node_deactivation_intent: Possible values include: 'Invalid',
     'Pause', 'Restart', 'RemoveData', 'RemoveNode'
    :type node_deactivation_intent: str
    :param node_deactivation_status: Possible values include: 'None',
     'SafetyCheckInProgress', 'SafetyCheckComplete', 'Completed'
    :type node_deactivation_status: str
    :param node_deactivation_task:
    :type node_deactivation_task: list of :class:`NodeDeactivationTask
     <azure.servicefabric.models.NodeDeactivationTask>`
    :param pending_safety_checks:
    :type pending_safety_checks: list of :class:`SafetyCheckWrapper
     <azure.servicefabric.models.SafetyCheckWrapper>`
    """ 

    _attribute_map = {
        'node_deactivation_intent': {'key': 'NodeDeactivationIntent', 'type': 'str'},
        'node_deactivation_status': {'key': 'NodeDeactivationStatus', 'type': 'str'},
        'node_deactivation_task': {'key': 'NodeDeactivationTask', 'type': '[NodeDeactivationTask]'},
        'pending_safety_checks': {'key': 'PendingSafetyChecks', 'type': '[SafetyCheckWrapper]'},
    }

    def __init__(self, node_deactivation_intent=None, node_deactivation_status=None, node_deactivation_task=None, pending_safety_checks=None):
        self.node_deactivation_intent = node_deactivation_intent
        self.node_deactivation_status = node_deactivation_status
        self.node_deactivation_task = node_deactivation_task
        self.pending_safety_checks = pending_safety_checks
