# Source code for azure.mgmt.rdbms.postgresql.models.performance_tier_service_level_objectives_py3

    # 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 PerformanceTierServiceLevelObjectives(Model):
        """Service level objectives for performance tier.

        :param id: ID for the service level objective.
        :type id: str
        :param edition: Edition of the performance tier.
        :type edition: str
        :param v_core: vCore associated with the service level objective
        :type v_core: int
        :param hardware_generation: Hardware generation associated with the
         service level objective
        :type hardware_generation: str
        :param max_backup_retention_days: Maximum Backup retention in days for the
         performance tier edition
        :type max_backup_retention_days: int
        :param min_backup_retention_days: Minimum Backup retention in days for the
         performance tier edition
        :type min_backup_retention_days: int
        :param max_storage_mb: Max storage allowed for a server.
        :type max_storage_mb: int
        :param min_storage_mb: Max storage allowed for a server.
        :type min_storage_mb: int
        """

        _attribute_map = {
            'id': {'key': 'id', 'type': 'str'},
            'edition': {'key': 'edition', 'type': 'str'},
            'v_core': {'key': 'vCore', 'type': 'int'},
            'hardware_generation': {'key': 'hardwareGeneration', 'type': 'str'},
            'max_backup_retention_days': {'key': 'maxBackupRetentionDays', 'type': 'int'},
            'min_backup_retention_days': {'key': 'minBackupRetentionDays', 'type': 'int'},
            'max_storage_mb': {'key': 'maxStorageMB', 'type': 'int'},
            'min_storage_mb': {'key': 'minStorageMB', 'type': 'int'},
        }

        def __init__(self, *, id: str=None, edition: str=None, v_core: int=None, hardware_generation: str=None, max_backup_retention_days: int=None, min_backup_retention_days: int=None, max_storage_mb: int=None, min_storage_mb: int=None, **kwargs) -> None:
            super(PerformanceTierServiceLevelObjectives, self).__init__(**kwargs)
            self.id = id
            self.edition = edition
            self.v_core = v_core
            self.hardware_generation = hardware_generation
            self.max_backup_retention_days = max_backup_retention_days
            self.min_backup_retention_days = min_backup_retention_days
            self.max_storage_mb = max_storage_mb
            self.min_storage_mb = min_storage_mb