#!/usr/bin/python3
#
# SPDX-License-Identifier: Apache-2.0
#

"""
This module contains dictionaries for different types of nodes in a virtual environment,
such as CONTROLLER_CEPH, CONTROLLER_LVM, CONTROLLER_AIO, WORKER, and STORAGE.
"""

class Nodes: #pylint: disable=too-few-public-methods
    """The `Nodes` class contains dictionaries for different types of nodes in a
    virtual environment."""

    CONTROLLER_CEPH = {
        'node_type': 'controller-STORAGE',
        'memory': 16384,
        'cpus': 4,
        'disks': {
            1:[245760],
            2:[245760, 10240],
            3:[245760, 10240, 10240],
            4:[245760, 10240, 10240, 10240],
            5:[245760, 10240, 10240, 10240, 10240],
            6:[245760, 10240, 10240, 10240, 10240, 10240],
            7:[245760, 10240, 10240, 10240, 10240, 10240, 10240]
        }
    }

    CONTROLLER_LVM = {
        'node_type': 'controller-STANDARD',
        'memory': 16384,
        'cpus': 4,
        'disks': {
            1:[245760],
            2:[245760, 10240],
            3:[245760, 10240, 10240],
            4:[245760, 10240, 10240, 10240],
            5:[245760, 10240, 10240, 10240, 10240],
            6:[245760, 10240, 10240, 10240, 10240, 10240],
            7:[245760, 10240, 10240, 10240, 10240, 10240, 10240]
        }
    }

    CONTROLLER_AIO = {
        'node_type': 'controller-AIO',
        'memory': 20480,
        'cpus': 4,
        'disks': {
            1:[245760],
            2:[245760, 10240],
            3:[245760, 10240, 10240],
            4:[245760, 10240, 10240, 10240],
            5:[245760, 10240, 10240, 10240, 10240],
            6:[245760, 10240, 10240, 10240, 10240, 10240],
            7:[245760, 10240, 10240, 10240, 10240, 10240, 10240]
        }
    }

    WORKER = {
        'node_type': 'worker',
        'memory': 8192,
        'cpus': 3,
        'disks': {
            1:[102400],
            2:[102400, 10240],
            3:[102400, 10240, 10240],
            4:[102400, 10240, 10240, 10240],
            5:[102400, 10240, 10240, 10240, 10240],
            6:[102400, 10240, 10240, 10240, 10240, 10240],
            7:[102400, 10240, 10240, 10240, 10240, 10240, 10240]
        }
    }

    STORAGE = {
        'node_type': 'storage',
        'memory': 4096,
        'cpus': 1,
        'disks': {
            1:[81920],
            2:[81920, 10240],
            3:[81920, 10240, 10240],
            4:[81920, 10240, 10240, 10240],
            5:[81920, 10240, 10240, 10240, 10240]
        }
    }