# Source code for azure.mgmt.batch.models.account_resource

    # 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 .resource import Resource

    class AccountResource(Resource):
        """Contains information about an Azure Batch account.

        Variables are only populated by the server, and will be ignored when
        sending a request.

        :ivar id: The id of the resource
        :vartype id: str
        :ivar name: The name of the resource
        :vartype name: str
        :ivar type: The type of the resource
        :vartype type: str
        :param location: The location of the resource
        :type location: str
        :param tags: The tags of the resource
        :type tags: dict
        :param account_endpoint: The endpoint used by this account to interact
         with the Batch services.
        :type account_endpoint: str
        :param provisioning_state: The provisioned state of the resource.
         Possible values include: 'Invalid', 'Creating', 'Deleting', 'Succeeded',
         'Failed', 'Cancelled'
        :type provisioning_state: str or :class:`AccountProvisioningState
         <azure.mgmt.batch.models.AccountProvisioningState>`
        :param auto_storage: The properties and status of any auto storage
         account associated with the account.
        :type auto_storage: :class:`AutoStorageProperties
         <azure.mgmt.batch.models.AutoStorageProperties>`
        :param core_quota: The core quota for this Batch account.
        :type core_quota: int
        :param pool_quota: The pool quota for this Batch account.
        :type pool_quota: int
        :param active_job_and_job_schedule_quota: The active job and job schedule
         quota for this Batch account.
        :type active_job_and_job_schedule_quota: int
        """

        _validation = {
            'id': {'readonly': True},
            'name': {'readonly': True},
            'type': {'readonly': True},
            'core_quota': {'required': True},
            'pool_quota': {'required': True},
            'active_job_and_job_schedule_quota': {'required': True},
        }

        _attribute_map = {
            'id': {'key': 'id', 'type': 'str'},
            'name': {'key': 'name', 'type': 'str'},
            'type': {'key': 'type', 'type': 'str'},
            'location': {'key': 'location', 'type': 'str'},
            'tags': {'key': 'tags', 'type': '{str}'},
            'account_endpoint': {'key': 'properties.accountEndpoint', 'type': 'str'},
            'provisioning_state': {'key': 'properties.provisioningState', 'type': 'AccountProvisioningState'},
            'auto_storage': {'key': 'properties.autoStorage', 'type': 'AutoStorageProperties'},
            'core_quota': {'key': 'properties.coreQuota', 'type': 'int'},
            'pool_quota': {'key': 'properties.poolQuota', 'type': 'int'},
            'active_job_and_job_schedule_quota': {'key': 'properties.activeJobAndJobScheduleQuota', 'type': 'int'},
        }

        def __init__(self, core_quota, pool_quota, active_job_and_job_schedule_quota, location=None, tags=None, account_endpoint=None, provisioning_state=None, auto_storage=None):
            super(AccountResource, self).__init__(location=location, tags=tags)
            self.account_endpoint = account_endpoint
            self.provisioning_state = provisioning_state
            self.auto_storage = auto_storage
            self.core_quota = core_quota
            self.pool_quota = pool_quota
            self.active_job_and_job_schedule_quota = active_job_and_job_schedule_quota