# 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 SparkServicePluginInformation(Model):
    """SparkServicePluginInformation.

    :param preparation_started_at:
    :type preparation_started_at: datetime
    :param resource_acquisition_started_at:
    :type resource_acquisition_started_at: datetime
    :param submission_started_at:
    :type submission_started_at: datetime
    :param monitoring_started_at:
    :type monitoring_started_at: datetime
    :param cleanup_started_at:
    :type cleanup_started_at: datetime
    :param current_state: Possible values include: 'Preparation',
     'ResourceAcquisition', 'Queued', 'Submission', 'Monitoring', 'Cleanup',
     'Ended'
    :type current_state: str or ~azure.synapse.models.PluginCurrentState
    """

    _attribute_map = {
        'preparation_started_at': {'key': 'preparationStartedAt', 'type': 'iso-8601'},
        'resource_acquisition_started_at': {'key': 'resourceAcquisitionStartedAt', 'type': 'iso-8601'},
        'submission_started_at': {'key': 'submissionStartedAt', 'type': 'iso-8601'},
        'monitoring_started_at': {'key': 'monitoringStartedAt', 'type': 'iso-8601'},
        'cleanup_started_at': {'key': 'cleanupStartedAt', 'type': 'iso-8601'},
        'current_state': {'key': 'currentState', 'type': 'str'},
    }

    def __init__(self, **kwargs):
        super(SparkServicePluginInformation, self).__init__(**kwargs)
        self.preparation_started_at = kwargs.get('preparation_started_at', None)
        self.resource_acquisition_started_at = kwargs.get('resource_acquisition_started_at', None)
        self.submission_started_at = kwargs.get('submission_started_at', None)
        self.monitoring_started_at = kwargs.get('monitoring_started_at', None)
        self.cleanup_started_at = kwargs.get('cleanup_started_at', None)
        self.current_state = kwargs.get('current_state', None)
