Beispiel #1
0
class Link(Entity):
    EntityType = AttributeRepresentation(display='', dbKey='entityType')
    EntityText = AttributeRepresentation(display='', dbKey='entityText')

    @Utils.initializer
    def __init__(self, entityType=None, entityText=None):
        pass
Beispiel #2
0
class MongoDB(Entity):
    """
    Static class attributes.
            * Set
            * Members
    """
    Set = AttributeRepresentation(display='Replica Set', dbKey='set')
    Members = AttributeRepresentation(display='Members',
                                      dbKey='members',
                                      type=MongoDBMember)
    __objectsToInstantiate = ['Members']

    @Utils.initializer
    def __init__(self, set=None, members=None):
        """**Initializes MongoDB entity**

        :param set: MongoDB replica set name, defaults to None
        :type set: str, optional
        :param members: cluster members, defaults to None
        :type members: list, optional
        """

        pass

    def getObjectsToInstantiate(self):
        return MongoDB.__objectsToInstantiate
class User(Entity):
    """
    Static class attributes to use with MongoObj
            * Email
            * Role
            * DateModified
            * ModifiedBy
            * NotificationLevel
    """
    Email = AttributeRepresentation(display='Email', dbKey='email')
    Id = Email
    Role = AttributeRepresentation(display='Role', dbKey='role')
    DateModified = AttributeRepresentation(display='Date Modified',
                                           dbKey='dateModified')
    ModifiedBy = AttributeRepresentation(display='Modified By',
                                         dbKey='modifiedBy')
    NotificationLevel = AttributeRepresentation(display='Notification Level',
                                                dbKey='notificationLevel')

    @Utils.initializer
    def __init__(self,
                 email,
                 role,
                 notificationLevel,
                 password=None,
                 _id=None,
                 layout=None,
                 relogin=False,
                 modifiedBy=None,
                 createdBy=None,
                 eulaDateOfSignature=None,
                 eulaSignature=None,
                 hasAcceptedEula=None,
                 dateModified=None,
                 dateCreated=None):
        """**Initializes user entity**

        :param email: user's email
        :type email: str
        :param role: role of the user, Options: Observer, Admin.
        :type role: str
        :param notificationLevel: notificationLevel of the user possible values are: NONE, WARNING & ERROR.
        :type notificationLevel: str
        :param password: the password of the user.
        :type password: str
        :param confirmationPassword: the confirmation password of the user.
        :type confirmationPassword: str
        :param relogin: determines if the newly created user will be prompted to change the password upon first login, defaults to None
        :type relogin: bool, optional
        :param dateModified: date of last modification, defaults to None
        :type dateModified: str, optional
        """
        self._id = email
        if hasattr(self, 'password'):
            self.confirmationPassword = self.password

    @staticmethod
    def getSchemaName():
        return 'userEntity'
Beispiel #4
0
class DrivesStatus(Entity):
    Alarm = AttributeRepresentation(display='Alarm', dbKey='alarm')
    Critical = AttributeRepresentation(display='Critical', dbKey='critical')
    Healthy = AttributeRepresentation(display='Healthy', dbKey='healthy')

    @Utils.initializer
    def __init__(self, alarm=None, critical=None, healthy=None):
        pass
class Client(Entity):
    """
    Static class attributes to use with MongoObj
            * Id
            * Version
            * Health
            * BlockDevices
    """

    Id = AttributeRepresentation(display='Name', dbKey='_id')
    Version = AttributeRepresentation(display='Version', dbKey='version')
    Health = AttributeRepresentation(display='Health', dbKey='health')
    Status = AttributeRepresentation(display='Status', dbKey='client_status')
    BlockDevices = AttributeRepresentation(display='Volume Attachments',
                                           dbKey='block_devices',
                                           type=BlockDevice)
    __objectsToInstantiate = ['BlockDevices']

    @Utils.initializer
    def __init__(self,
                 _id=None,
                 branch=None,
                 configuration_version=None,
                 client_status=None,
                 block_devices=None,
                 version=None,
                 client_id=None,
                 controlJobs=None,
                 commit=None,
                 messageSequence=None,
                 connectionSequence=None,
                 dateModified=None,
                 health=None,
                 health_old=None,
                 managementAgentStatus=None):
        """**Initializes client entity**

                    :param _id: client's id, defaults to None
                    :type _id: str, optional
                    :param client_status: client's status, defaults to None
                    :type client_status: int, optional
                    :param block_devices: client's block devices, defaults to None
                    :type block_devices: list, optional
                    :param version: management version, defaults to None
                    :type version: str, optional
                    :param dateModified: date of last modification, defaults to None
                    :type dateModified: str, optional
                    :param health: client's health, defaults to None
                    :type health: str, optional
                """
        pass

    def getObjectsToInstantiate(self):
        return Client.__objectsToInstantiate

    @staticmethod
    def getSchemaName():
        return 'clientEntity'
Beispiel #6
0
class Reservation(Entity):
    Mode = AttributeRepresentation(display='Reservation Mode', dbKey='mode')
    Version = AttributeRepresentation(display='Reservation Version',
                                      dbKey='version')
    ReservedBy = AttributeRepresentation(display='Reserved By',
                                         dbKey='reservedBy')

    @Utils.initializer
    def __init__(self, mode=None, version=None, reservedBy=None):
        pass
Beispiel #7
0
class ClientsStatus(Entity):
    Total = AttributeRepresentation(display='Total', dbKey='totalClients')
    Offline = AttributeRepresentation(display='Offline',
                                      dbKey='offlineClients')
    TimedOut = AttributeRepresentation(display='Timed Out',
                                       dbKey='timedOutClients')

    @Utils.initializer
    def __init__(self,
                 totalClients=None,
                 offlineClients=None,
                 timedOutClients=None):
        pass
Beispiel #8
0
class Meta(Entity):
    Header = AttributeRepresentation(display='Header', dbKey='header')
    Acknowledged = AttributeRepresentation(display='Acknowledged', dbKey='acknowledged')
    RawMessage = AttributeRepresentation(display='Message', dbKey='rawMessage')
    Link = AttributeRepresentation(display='', dbKey='link', type=Link)
    __objectsToInstantiate = ['Link']

    @Utils.initializer
    def __init__(self, header=None, acknowledged=None, rawMessage=None, link=None):
        pass

    def getObjectsToInstantiate(self):
        return Meta.__objectsToInstantiate
Beispiel #9
0
class NIC(Entity):
    Id = AttributeRepresentation(display='NIC ID', dbKey='nicID')
    MTU = AttributeRepresentation(display='MTU', dbKey='mtu')
    Status = AttributeRepresentation(display='Status', dbKey='status')
    Protocol = AttributeRepresentation(display='Protocol', dbKey='protocol')
    GUID = AttributeRepresentation(display='GUID', dbKey='guid')
    NodeID = AttributeRepresentation(display='Node ID', dbKey='nodeID')
    Health = AttributeRepresentation(display='Health', dbKey='health')
    DeviceType = AttributeRepresentation(display='Device Type',
                                         dbKey='deviceType')

    @Utils.initializer
    def __init__(self,
                 status=None,
                 pkey=None,
                 nicID=None,
                 mtu=None,
                 version=None,
                 pci_root=None,
                 protocol=None,
                 guid=None,
                 speed=None,
                 nodeID=None,
                 nodeUUID=None,
                 uuid=None,
                 health=None,
                 missingCounter=None,
                 deviceType=None):
        pass
Beispiel #10
0
class Chunk(Entity):
    Id = AttributeRepresentation(display='Name', dbKey='_id')
    VLBS = AttributeRepresentation(display='vlbs', dbKey='vlbs')
    VLBE = AttributeRepresentation(display='vlbe', dbKey='vlbe')
    PRAIDS = AttributeRepresentation(display='pRaids',
                                     dbKey='pRaids',
                                     type=PRAID)
    __objectsToInstantiate = ['PRAIDS']

    @Utils.initializer
    def __init__(self, _id=None, uuid=None, vlbs=None, vlbe=None, pRaids=None):
        pass

    def getObjectsToInstantiate(self):
        return Chunk.__objectsToInstantiate
class BlockDevice(Entity):
    Id = AttributeRepresentation(display='Volume Name', dbKey='name')
    VolumeAttachmentStatus = AttributeRepresentation(
        display='Volume Attachments', dbKey='vol_status')
    IOEnabled = AttributeRepresentation(display='IO Enabled',
                                        dbKey='is_io_enabled')

    @Utils.initializer
    def __init__(self,
                 is_io_enabled=None,
                 io_perm=None,
                 name=None,
                 is_hidden=None,
                 uuid=None,
                 vol_status=None):
        pass
Beispiel #12
0
class Log(Entity):
    """
    Static class attributes to use with MongoObj
            * Id
            * Timestamp
            * Level
            * Message
            * AcknowledgedBy
    """
    Id = AttributeRepresentation(display='ID', dbKey='_id')
    TimeStamp = AttributeRepresentation(display='Timestamp', dbKey='timestamp')
    Level = AttributeRepresentation(display='Level', dbKey='level')
    Message = AttributeRepresentation(display='Message', dbKey='message')
    AcknowledgedBy = AttributeRepresentation(display='Acknowledged By',
                                             dbKey='acknowledgedBy')

    @Utils.initializer
    def __init__(self,
                 _id=None,
                 timestamp=None,
                 level=None,
                 message=None,
                 rawMessage=None,
                 meta=None,
                 acknowledgedBy=None,
                 dateModified=None):
        """Initializes Log entity]

        :param _id: the id of the log, defaults to None
        :type _id: str, optional
        :param timestamp: the timestamp of the log , defaults to None
        :type timestamp: str, optional
        :param level: the level of the log, defaults to None
        :type level: str, optional
        :param message: the message of the log, defaults to None
        :type message: str, optional
        :param acknowledgedBy: the user that acknowledged the log, defaults to None
        :type acknowledgedBy: str, optional
        :param dateModified: date of last modification, defaults to None
        :type dateModified: str, optional
        """
        pass

    @staticmethod
    def getSchemaName():
        return 'logEntity'
Beispiel #13
0
class VolumeLayout(Entity):
    ChunkNumber = AttributeRepresentation(display='Chunk', dbKey='chunkNumber')
    StripeNumber = AttributeRepresentation(display='Stripe', dbKey='stripeNumber')
    SegmentNumber = AttributeRepresentation(display='Segment', dbKey='segmentNumber')
    SegmentType = AttributeRepresentation(display='Segment Type', dbKey='segmentType')
    LBAStart = AttributeRepresentation(display='LBA Start', dbKey='lbaStart')
    LBAEnd = AttributeRepresentation(display='LBA End', dbKey='lbaEnd')
    Status = AttributeRepresentation(display='Segment Status', dbKey='status')
    DriveID = AttributeRepresentation(display='Drive Serial', dbKey='drive')
    TargetID = AttributeRepresentation(display='Target', dbKey='target')

    @Utils.initializer
    def __init__(self, chunkNumber=None, stripeNumber=None, segmentNumber=None, segmentType=None, lbaStart=None,
                 lbaEnd=None, status=None, drive=None, target=None):
        pass
Beispiel #14
0
class Key(Entity):
    """
    Static class attributes to use with MongoObj
            * Id
            * UUID
            * DateModified
            * DateCreated
            * ModifiedBy
            * CreatedBy
            * Description
    """
    Id = AttributeRepresentation(display='Name', dbKey='_id')
    UUID = AttributeRepresentation(display='UUID', dbKey='uuid')
    DateModified = AttributeRepresentation(display='Date Modified',
                                           dbKey='dateModified')
    DateCreated = AttributeRepresentation(display='Date Created',
                                          dbKey='dateCreated')
    ModifiedBy = AttributeRepresentation(display='Modified By',
                                         dbKey='modifiedBy')
    CreatedBy = AttributeRepresentation(display='Created By',
                                        dbKey='createdBy')
    Description = AttributeRepresentation(display='Description',
                                          dbKey='description')
    DBUUID = AttributeRepresentation(display='DB UUID', dbKey='dbUUID')

    @Utils.initializer
    def __init__(self,
                 _id=None,
                 uuid=None,
                 dateModified=None,
                 dateCreated=None,
                 modifiedBy=None,
                 createdBy=None,
                 description=None,
                 dbUUID=None):
        """Initializes Key entity

        :param _id: the id of the key, defaults to None
        :type _id: str, optional
        :param uuid: the uuid of the key , defaults to None
        :type uuid: str, optional
        :param dateModified: date of last modification, defaults to None
        :type dateModified: str, optional
        :param dateCreated: date of creation, defaults to None
        :type dateCreated: str, optional
        :param modifiedBy: the last user that modified the key, defaults to None
        :type modifiedBy: str, optional
        :param createdBy: the user that created the key, defaults to None
        :type createdBy: str, optional
        :param description: the description of the key, defaults to None
        :type description: str, optional
        """
        pass
class ClusterStatus(Entity):
    Targets = AttributeRepresentation(display='Targets',
                                      dbKey='servers',
                                      type=TargetsStatus)
    Clients = AttributeRepresentation(display='Clients',
                                      dbKey='clients',
                                      type=ClientsStatus)
    Volumes = AttributeRepresentation(display='Volumes', dbKey='volumes')
    TotalSpace = AttributeRepresentation(display='Total Space',
                                         dbKey='totalSpace')
    AllocatedSpace = AttributeRepresentation(display='Allocated Space',
                                             dbKey='allocatedSpace')
    FreeSpace = AttributeRepresentation(display='Free Space',
                                        dbKey='freeSpace')
    ManagementVersion = AttributeRepresentation(display='Management Version',
                                                dbKey='managementVersion')

    __objectsToInstantiate = ['Targets', 'Clients']

    @Utils.initializer
    def __init__(self,
                 servers=None,
                 clients=None,
                 volumes=None,
                 totalSpace=None,
                 allocatedSpace=None,
                 freeSpace=None,
                 errors=None,
                 warnings=None,
                 managementVersion=None):
        """**Initializes cluster status entity**

                :param servers: targets in the cluster, defaults to None
                :type servers: TargetsStatus, optional
                :param clients: clients in the cluster, defaults to None
                :type clients: ClientsStatus, optional
                :param volumes: volumes in the cluster, defaults to None
                :type volumes: dict, optional
                :param totalSpace: total space in the cluster, defaults to None
                :type totalSpace: int, optional
                :param allocatedSpace: allocated space in the cluster, defaults to None
                :type allocatedSpace: int, optional
                :param freeSpace: free space in the cluster, defaults to None
                :type freeSpace: int, optional
                :param errors: errors, defaults to None
                :type errors: list, optional
                :param warnings: warnings, defaults to None
                :type warnings: list, optional
                :param managementVersion: management version, defaults to None
                :type managementVersion: str, optional
            """
        pass

    def getObjectsToInstantiate(self):
        return ClusterStatus.__objectsToInstantiate
class DriveClass(Entity):
    """
    Static class attributes to use with MongoObj
            * Id
            * Description
            * Drives
            * DateModified
            * ModifiedBy
            * Domains
    """
    Id = AttributeRepresentation(display='Name', dbKey='_id')
    Description = AttributeRepresentation(display='Description',
                                          dbKey='description')
    Drives = AttributeRepresentation(display='Drives',
                                     dbKey='disks',
                                     type=Drive)
    DateModified = AttributeRepresentation(display='Date Modified',
                                           dbKey='dateModified')
    ModifiedBy = AttributeRepresentation(display='Modified By',
                                         dbKey='modifiedBy')
    Domains = AttributeRepresentation(display='Domains', dbKey='domains')
    __objectsToInstantiate = ['Drives']

    @Utils.initializer
    def __init__(self,
                 _id,
                 disks,
                 description=None,
                 tags=None,
                 modifiedBy=None,
                 createdBy=None,
                 dateModified=None,
                 dateCreated=None,
                 domains=None):
        """**Initializes drive class entity**

        :param _id: the id of the drive class
        :type _id: str
        :param disks: list of disks
        :type disks: list
        :param description: description of the drive class, defaults to None
        :type description: str, optional
        :param domains: list of awareness domains of the drive class, defaults to None
        :type domains: list, optional
        :param modifiedBy: the last user that modified the drive class, defaults to None
        :type modifiedBy: str, optional
        :param dateModified: date of last modification, defaults to None
        :type dateModified: str, optional
        """
        pass

    def getObjectsToInstantiate(self):
        return DriveClass.__objectsToInstantiate

    @staticmethod
    def getSchemaName():
        return 'driveClassEntity'
Beispiel #17
0
class VolumeSecurityGroup(Entity):
    """
    Static class attributes to use with MongoObj
            * Id
            * Keys
            * DateModified
            * DateCreated
            * ModifiedBy
            * CreatedBy
            * Description
    """
    Id = AttributeRepresentation(display='Name', dbKey='_id')
    Keys = AttributeRepresentation(display='Keys', dbKey='keys')
    DateModified = AttributeRepresentation(display='Date Modified',
                                           dbKey='dateModified')
    DateCreated = AttributeRepresentation(display='Date Created',
                                          dbKey='dateCreated')
    ModifiedBy = AttributeRepresentation(display='Modified By',
                                         dbKey='modifiedBy')
    CreatedBy = AttributeRepresentation(display='Created By',
                                        dbKey='createdBy')
    Description = AttributeRepresentation(display='Description',
                                          dbKey='description')

    @Utils.initializer
    def __init__(self,
                 _id=None,
                 keys=None,
                 dateModified=None,
                 dateCreated=None,
                 modifiedBy=None,
                 createdBy=None,
                 description=None):
        """Initializes Key entity

        :param _id: the id of the key, defaults to None
        :type _id: str, optional
        :param keys: the keys associated with this VSG, defaults to None
        :type keys: list, optional
        :param dateModified: date of last modification, defaults to None
        :type dateModified: str, optional
        :param dateCreated: date of creation, defaults to None
        :type dateCreated: str, optional
        :param modifiedBy: the last user that modified the key, defaults to None
        :type modifiedBy: str, optional
        :param createdBy: the user that created the key, defaults to None
        :type createdBy: str, optional
        :param description: the description of the key, defaults to None
        :type description: str, optional
        """
        pass
Beispiel #18
0
class TargetClass(Entity):
    """
    Static class attributes to use with MongoObj
            * Id
            * Description
            * TargetNodes
            * DateModified
            * ModifiedBy
            * Domains
    """
    Id = AttributeRepresentation(display='Name', dbKey='name')
    Description = AttributeRepresentation(display='Description',
                                          dbKey='description')
    TargetNodes = AttributeRepresentation(display='Targets',
                                          dbKey='targetNodes')
    DateModified = AttributeRepresentation(display='Date Modified',
                                           dbKey='dateModified')
    ModifiedBy = AttributeRepresentation(display='Modified By',
                                         dbKey='modifiedBy')
    Domains = AttributeRepresentation(display='Domains', dbKey='domains')

    @Utils.initializer
    def __init__(self,
                 name,
                 targetNodes,
                 _id=None,
                 description=None,
                 domains=None,
                 modifiedBy=None,
                 createdBy=None,
                 dateModified=None,
                 dateCreated=None,
                 servers=None,
                 index=None):
        """**Initializes target class entity**

        :param name: target class name
        :type name: str
        :param targetNodes: list of target IDs
        :type targetNodes: list
        :param description: description of the target class, defaults to None
        :type description: str, optional
        :param domains: list of awareness domains of the target class, defaults to None
        :type domains: list, optional
        :param modifiedBy: the last user that modified the target class, defaults to None
        :type modifiedBy: str, optional
        :param dateModified: date of last modification, defaults to None
        :type dateModified: str, optional
        """
        self._id = self.name

    @staticmethod
    def getSchemaName():
        return 'targetClassEntity'
Beispiel #19
0
class DiskSegment(Entity):
    NodeID = AttributeRepresentation(display='Target', dbKey='node_id')
    DriveID = AttributeRepresentation(display='Drive', dbKey='diskID')
    DirtyBits = AttributeRepresentation(display='Dirty Bits', dbKey='remainingDirtyBits')
    LBS = AttributeRepresentation(display='lbs', dbKey='lbs')
    LBE = AttributeRepresentation(display='lbe', dbKey='lbe')
    Type = AttributeRepresentation(display='Segment Type', dbKey='type')
    Status = AttributeRepresentation(display='Status', dbKey='status')


    @Utils.initializer
    def __init__(self, _id=None, uuid=None, diskID=None, diskUUID=None, nodeUUID=None, node_id=None, volumeName=None,
                 volumeUUID=None, pRaidUUID=None, allocationIndex=None, pRaidIndex=None, lbs=None, lbe=None, type=None,
                 pRaidTypeIndex=None, status=None, remainingDirtyBits=None, isExtension=None):
        pass
class ConfigurationProfile(Entity):
	"""
	Static class attributes to use with MongoObj
			* Id
			* Description
			* Labels
			* Hosts
			* Configuration
			* DateModified
			* ModifiedBy
	"""
	Id = AttributeRepresentation(display='Name', dbKey='_id')
	Description = AttributeRepresentation(display='Description', dbKey='description')
	Labels = AttributeRepresentation(display='Labels', dbKey='labels')
	Hosts = AttributeRepresentation(display='Hosts', dbKey='hosts')
	Configuration = AttributeRepresentation(display='Configuration', dbKey='config')
	DateModified = AttributeRepresentation(display='Date Modified', dbKey='dateModified')
	ModifiedBy = AttributeRepresentation(display='Modified By', dbKey='modifiedBy')

	@Utils.initializer
	def __init__(self, name=None, _id=None, description=None, labels=None, hosts=None, config=None, version=None, modifiedBy=None, createdBy=None, dateModified=None, dateCreated=None, deleteNotAllowed=None, editNotAllowed=None):
		"""**Initializes configuration profile entity**

		:param _id: the id of the configuration profile
		:type _id: str
		:param name: the name of the configuration profile
		:type name: str
		:param description: description of the configuration profile, defaults to None
		:type description: str, optional
		:param labels: list of labels of the configuration profile
		:type labels: list, optional
		:param config: a dictionary of the configuration parameters and their values
		:type config: dict, optional
		:param modifiedBy: the last user that modified the configuration profile, defaults to None
		:type modifiedBy: str, optional
		:param dateModified: date of last modification, defaults to None
		:type dateModified: str, optional
		"""
		pass

	def getObjectsToInstantiate(self):
		return []

	@staticmethod
	def getSchemaName():
		return 'configurationProfileEntity'
class PRAID(Entity):
    DiskSegments = AttributeRepresentation(display='Drive Segments',
                                           dbKey='diskSegments',
                                           type=DiskSegment)
    __objectsToInstantiate = ['DiskSegments']

    @Utils.initializer
    def __init__(self,
                 activated=None,
                 version=None,
                 uuid=None,
                 stripeIndex=None,
                 diskSegments=None,
                 tomaLeaderConnectionSequence=None,
                 tomaLeaderRaftTerm=None):
        pass

    def getObjectsToInstantiate(self):
        return PRAID.__objectsToInstantiate
class Target(Entity):
    """
    Static class attributes to use with MongoObj
            * Id
            * Drives
            * Nics
            * Version
            * Health
            * TomaStatus
    """
    Id = AttributeRepresentation(display='Name', dbKey='node_id')
    Drives = AttributeRepresentation(display='Drives', dbKey='disks', type=Drive)
    Nics = AttributeRepresentation(display='NICs', dbKey='nics', type=NIC)
    Version = AttributeRepresentation(display='Version', dbKey='version')
    Health = AttributeRepresentation(display='Health', dbKey='health')
    TomaStatus = AttributeRepresentation(display='TOMA Status', dbKey='tomaStatus')
    __objectsToInstantiate = ['Drives', 'Nics']



    @Utils.initializer
    def __init__(self, _id=None, branch=None, disks=None, nics=None, node_status=None, version=None, node_id=None,
                 commit=None, messageSequence=None, connectionSequence=None, dateModified=None, health=None,
                 cpu_load=None, cpu_temp=None, uuid=None, tomaStatus=None, wsStatus=None):
        """**Initializes target entity**

        :param _id: target's id, defaults to None
        :type _id: str, optional
        :param disks: target's drives, defaults to None
        :type disks: list, optional
        :param nics: target's nics, defaults to None
        :type nics: list, optional
        :param node_status: target's status, defaults to None
        :type node_status: int, optional
        :param version: management version, defaults to None
        :type version: str, optional
        :param dateModified: date of last modification, defaults to None
        :type dateModified: str, optional
        :param health: target's health, defaults to None
        :type health: str, optional
        """

        pass

    def getObjectsToInstantiate(self):
        return Target.__objectsToInstantiate

    @staticmethod
    def getSchemaName():
        return 'targetEntity'
Beispiel #23
0
class BlockDevice(Entity):
    Id = AttributeRepresentation(display='Volume Name', dbKey='name')
    VolumeAttachmentStatus = AttributeRepresentation(display='Volume Attachments', dbKey='vol_status')
    IOEnabled = AttributeRepresentation(display='IO Enabled', dbKey='ioEnabled')
    IsIOEnabled = AttributeRepresentation(display='IO Enabled', dbKey='is_io_enabled')
    IOPerm = AttributeRepresentation(display='IO Enabled', dbKey='io_perm')
    Reservation = AttributeRepresentation(display='Reservation', dbKey='reservation', type=Reservation)
    __objectsToInstantiate = ['Reservation']

    @Utils.initializer
    def __init__(self, is_io_enabled=None, ioEnabled=None, io_perm=None, name=None, is_hidden=None, uuid=None, vol_status=None, reservation=None):
        pass

    def getObjectsToInstantiate(self):
        return BlockDevice.__objectsToInstantiate
Beispiel #24
0
class NIC(Entity):
    Id = AttributeRepresentation(display='NIC ID', dbKey='nicID')

    @Utils.initializer
    def __init__(self,
                 status=None,
                 pkey=None,
                 nicID=None,
                 mtu=None,
                 version=None,
                 pci_root=None,
                 protocol=None,
                 guid=None,
                 speed=None,
                 nodeID=None,
                 nodeUUID=None,
                 uuid=None,
                 health=None,
                 missingCounter=None,
                 deviceType=None):
        pass
Beispiel #25
0
class TargetsStatus(Entity):
    Total = AttributeRepresentation(display='Total', dbKey='totalServers')
    Offline = AttributeRepresentation(display='Offline',
                                      dbKey='offlineServers')
    TimedOut = AttributeRepresentation(display='Timed Out',
                                       dbKey='timedOutServers')
    Alarm = AttributeRepresentation(display='Alarm', dbKey='alarm')
    Critical = AttributeRepresentation(display='Critical', dbKey='critical')
    Healthy = AttributeRepresentation(display='Healthy', dbKey='healthy')

    @Utils.initializer
    def __init__(self,
                 totalServers=None,
                 offlineServers=None,
                 timedOutServers=None,
                 alarm=None,
                 critical=None,
                 healthy=None):
        pass
class Volume(Entity):
    """
    Static class attributes to use with MongoObj
            * Id
            * Health
            * Description
            * Status
            * RaidLevel
            * ParityBlocks
            * DataBlocks
            * Protection
            * Size
            * StripeWidth
            * TargetClasses
            * DriveClasses
            * Domain
            * RelativeRebuildPriority
            * Chunks
    """
    Id = AttributeRepresentation(display='Name', dbKey='name')
    Health = AttributeRepresentation(display='Health', dbKey='health')
    Description = AttributeRepresentation(display='Description', dbKey='description')
    Status = AttributeRepresentation(display='Status', dbKey='status')
    RaidLevel = AttributeRepresentation(display='RAID Level', dbKey='RAIDLevel')
    ParityBlocks = AttributeRepresentation(display='Parity', dbKey='parityBlocks')
    DataBlocks = AttributeRepresentation(display='Data', dbKey='dataBlocks')
    Protection = AttributeRepresentation(display='Protection Level', dbKey='protectionLevel')
    Size = AttributeRepresentation(display='Size', dbKey='capacity')
    StripeWidth = AttributeRepresentation(display='Stripe Width', dbKey='stripeWidth')
    TargetClasses = AttributeRepresentation(display='Target Classes', dbKey='serverClasses')
    DriveClasses = AttributeRepresentation(display='Drive Classes', dbKey='diskClasses')
    Domain = AttributeRepresentation(display='Domain', dbKey='domain')
    RelativeRebuildPriority = AttributeRepresentation(display='Relative Rebuild Priority', dbKey='relativeRebuildPriority')
    Chunks = AttributeRepresentation(display='Chunks', dbKey='chunks', type=Chunk)
    __objectsToInstantiate = ['Chunks']

    @Utils.initializer
    def __init__(self, name=None, RAIDLevel=None, capacity=None, VPG=None, _id=None, relativeRebuildPriority=None, description=None, diskClasses=None, serverClasses=None,
                 limitByDisks=None, limitByNodes=None, numberOfMirrors=None, createdBy=None, modifiedBy=None, dateModified=None, dateCreated=None, isReserved=None,
                 status=None, blocks=None, chunks=None, stripeSize=None, stripeWidth=None, dataBlocks=None, parityBlocks=None, protectionLevel=None, domain=None,
                 uuid=None, blockSize=None, version=None, type=None, health=None, lockServer=None):
        """**Initializes volume entity**

                :param name: the name of the volume
                :type name: str, optional
                :param RAIDLevel: the RAID level of the volume, options: Concatenated, Striped RAID-0, Mirrored RAID-1, Striped & Mirrored RAID-10, Erasure Coding.
                :type RAIDLevel: str, optional
                :param capacity: space to allocate for the volume, use 'MAX' for using all of the available space.
                :type capacity: int or str, optional
                :param VPG: the VPG to use
                :type VPG: str, optional
                :param relativeRebuildPriority: sets the volume relative rebuild priority, defaults to None
                :type relativeRebuildPriority: int, optional
                :param description: description of the volume, defaults to None
                :type description: str, optional
                :param diskClasses: limit volume allocation to specific diskClasses, defaults to None
                :type diskClasses: list, optional
                :param serverClasses: limit volume allocation to specific serverClasses, defaults to None
                :type serverClasses: list, optional
                :param limitByDisks: limit volume allocation to specific disks, defaults to None
                :type limitByDisks: list, optional
                :param limitByNodes: limit volume allocation to specific nodes, defaults to None
                :type limitByNodes: list, optional
                :param numberOfMirrors: number of mirrors to use, required if RAIDLevel is Mirrored RAID-1 or Striped & Mirrored RAID-10., defaults to None
                :type numberOfMirrors: int, optional
                :param stripeSize: number in blocks of 4k, i.e. stripeSize:32 = 128k, required if RAIDLevel is Striped RAID-0 or Striped & Mirrored RAID-10 or Erasure Coding, optional, defaults to None
                :type stripeSize: str, optional
                :param stripeWidth: number of disks to use, required if RAIDLevel is Striped RAID-0 or Striped & Mirrored RAID-10, defaults to None
                :type stripeWidth: int, optional
                :param dataBlocks: number of disks to use, required if RAIDLevel is Erasure Coding, defaults to None
                :type dataBlocks: int, optional
                :param parityBlocks: number of disks to use, required if RAIDLevel is Erasure Coding, defaults to None
                :type parityBlocks: int, optional
                :param protectionLevel: protection level to use, defaults to None
                :type protectionLevel: str, optional
                :param domain: the domain of the volume, defaults to None
                :type domain: str, optional
                :param health: volume's health, defaults to None
                :type health: str, optional
                :param status: the status of the volume, defaults to None
                :type status: int, optional
        """
        if hasattr(self, 'name'):
            self._id = self.name

    def getObjectsToInstantiate(self):
        return Volume.__objectsToInstantiate

    @staticmethod
    def getSchemaName():
        return 'volumeEntity'
Beispiel #27
0
class MongoDBMember(Entity):
    """
    Static class attributes.
            * Name
            * Host
            * Port
            * State
            * DatabaseSize
            * FreeSpace
            * LastHeartbeat
            * LastHeartbeatReceived
            * LastHeartbeatMessage
            * Health
    """
    Name = AttributeRepresentation(display='Name', dbKey='name')
    Host = AttributeRepresentation(display='Host', dbKey='host')
    Port = AttributeRepresentation(display='Port', dbKey='port')
    State = AttributeRepresentation(display='State', dbKey='state')
    DatabaseSize = AttributeRepresentation(display='Database Size',
                                           dbKey='dbSize')
    FreeSpace = AttributeRepresentation(display='Free Space',
                                        dbKey='freeSpace')
    LastHeartbeat = AttributeRepresentation(display='Last Heartbeat',
                                            dbKey='lastHeartbeat')
    LastHeartbeatReceived = AttributeRepresentation(
        display='Last Heartbeat Received', dbKey='lastHeartbeatRecv')
    LastHeartbeatMessage = AttributeRepresentation(
        display='Last Heartbeat Message', dbKey='lastHeartbeatMessage')
    Health = AttributeRepresentation(display='Health', dbKey='health')

    @Utils.initializer
    def __init__(self,
                 name=None,
                 host=None,
                 port=None,
                 state=None,
                 dbSize=None,
                 freeSpace=None,
                 lastHeartbeat=None,
                 lastHeartbeatRecv=None,
                 lastHeartbeatMessage=None,
                 health=None):
        """**Initializes MongoDB member entity**

        :param name: member's name, defaults to None
        :type name: str, optional
        :param host: member's host, defaults to None
        :type host: str, optional
        :param port: member's port, defaults to None
        :type port: int, optional
        :param state: member's state, defaults to None
        :type state: int, optional
        :param dbSize: member's DB size in bytes, defaults to None
        :type dbSize: int, optional
        :param freeSpace: DB free space in bytes, defaults to None
        :type freeSpace: int, optional
        :param lastHeartbeat: reflects the last time the PRIMARY received a response from a heartbeat that it sent to this member, defaults to None
        :type lastHeartbeat: str, optional
        :param lastHeartbeatRecv: reflects the last time the PRIMARY received a heartbeat request from this member, defaults to None
        :type lastHeartbeatRecv: str, optional
        :param lastHeartbeatMessage: last heartbeat message, defaults to None
        :type lastHeartbeatMessage: str, optional
        :param health: member's health, defaults to None
        :type health: int, optional
        """

        pass
Beispiel #28
0
class Volume(Entity):
    """
    Static class attributes to use with MongoObj
            * Id
            * Health
            * Description
            * Status
            * RaidLevel
            * ParityBlocks
            * DataBlocks
            * Protection
            * Size
            * StripeWidth
            * TargetClasses
            * DriveClasses
            * Domain
            * RelativeRebuildPriority
            * Chunks
            * Reservation
            * IgnoreNodeSeparation
            * SelectedClientsForNvmf
            * EnableNVMf
            * EnableCrcCheck
            * VSGs
            * Type
    """
    Id = AttributeRepresentation(display='Name', dbKey='name')
    Health = AttributeRepresentation(display='Health', dbKey='health')
    Description = AttributeRepresentation(display='Description',
                                          dbKey='description')
    Status = AttributeRepresentation(display='Status', dbKey='status')
    RaidLevel = AttributeRepresentation(display='RAID Level',
                                        dbKey='RAIDLevel')
    ParityBlocks = AttributeRepresentation(display='Parity',
                                           dbKey='parityBlocks')
    DataBlocks = AttributeRepresentation(display='Data', dbKey='dataBlocks')
    Protection = AttributeRepresentation(display='Protection Level',
                                         dbKey='protectionLevel')
    Size = AttributeRepresentation(display='Size', dbKey='capacity')
    StripeWidth = AttributeRepresentation(display='Stripe Width',
                                          dbKey='stripeWidth')
    TargetClasses = AttributeRepresentation(display='Target Classes',
                                            dbKey='serverClasses')
    DriveClasses = AttributeRepresentation(display='Drive Classes',
                                           dbKey='diskClasses')
    Domain = AttributeRepresentation(display='Domain', dbKey='domain')
    RelativeRebuildPriority = AttributeRepresentation(
        display='Relative Rebuild Priority', dbKey='relativeRebuildPriority')
    Chunks = AttributeRepresentation(display='Chunks',
                                     dbKey='chunks',
                                     type=Chunk)
    Reservation = AttributeRepresentation(display='Reservation',
                                          dbKey='reservation',
                                          type=Reservation)
    IgnoreNodeSeparation = AttributeRepresentation(
        display='Ignore Node Separation', dbKey='ignoreNodeSeparation')
    SelectedClientsForNvmf = AttributeRepresentation(
        display='Clients Allowed To Export Via NVMf',
        dbKey='selectedClientsForNvmf')
    EnableNVMf = AttributeRepresentation(display='Access Via NVMf',
                                         dbKey='enableNVMf')
    Action = AttributeRepresentation(display='Action', dbKey='action')
    EnableCrcCheck = AttributeRepresentation(display='Enable CRC Check',
                                             dbKey='enableCrcCheck')
    LimitByDrive = AttributeRepresentation(display='Limit by drives',
                                           dbKey='limitByDisks')
    LimitByTarget = AttributeRepresentation(display='Limit by targets',
                                            dbKey='limitByNodes')
    VSGs = AttributeRepresentation(display='VSGs', dbKey='VSGs')
    Type = AttributeRepresentation(display='Type', dbKey='type')
    # WCVName = AttributeRepresentation(display='Write Cache Volume', dbKey='wcvName')
    # WCVUUID = AttributeRepresentation(display='Write Cache Volume UUID', dbKey='wcvUUID')
    # MDV = AttributeRepresentation(display='Metadata Volume', dbKey='mdv', type='self')
    # QLCUUID = AttributeRepresentation(display='MTV UUID', dbKey='qlcUUID')
    __objectsToInstantiate = ['Chunks', 'Reservation']  #, 'MDV']

    @Utils.initializer
    def __init__(
        self,
        name=None,
        RAIDLevel=None,
        capacity=None,
        VPG=None,
        _id=None,
        relativeRebuildPriority=None,
        description=None,
        diskClasses=None,
        serverClasses=None,
        limitByDisks=None,
        limitByNodes=None,
        numberOfMirrors=None,
        createdBy=None,
        modifiedBy=None,
        dateModified=None,
        dateCreated=None,
        isReserved=None,
        status=None,
        blocks=None,
        chunks=None,
        stripeSize=None,
        stripeWidth=None,
        dataBlocks=None,
        parityBlocks=None,
        protectionLevel=None,
        domain=None,
        uuid=None,
        blockSize=None,
        version=None,
        type=None,
        health=None,
        lockServer=None,
        reservation=None,
        ignoreNodeSeparation=None,
        selectedClientsForNvmf=None,
        enableNVMf=None,
        action=None,
        enableCrcCheck=None,
        VSGs=None,
        use_debug_di=None
    ):  #, wcvName=None, wcvUUID=None, mdv=None, ownerVolumeID=None, qlcUUID=None):
        """**Initializes volume entity**

                :param name: the name of the volume
                :type name: str, optional
                :param RAIDLevel: the RAID level of the volume, options: Concatenated, Striped RAID-0, Mirrored RAID-1, Striped & Mirrored RAID-10, Erasure Coding.
                :type RAIDLevel: str, optional
                :param capacity: space to allocate for the volume, use 'MAX' for using all of the available space.
                :type capacity: int or str, optional
                :param VPG: the VPG to use
                :type VPG: str, optional
                :param relativeRebuildPriority: sets the volume relative rebuild priority, defaults to None
                :type relativeRebuildPriority: int, optional
                :param description: description of the volume, defaults to None
                :type description: str, optional
                :param diskClasses: limit volume allocation to specific diskClasses, defaults to None
                :type diskClasses: list, optional
                :param serverClasses: limit volume allocation to specific serverClasses, defaults to None
                :type serverClasses: list, optional
                :param limitByDisks: limit volume allocation to specific disks, defaults to None
                :type limitByDisks: list, optional
                :param limitByNodes: limit volume allocation to specific nodes, defaults to None
                :type limitByNodes: list, optional
                :param numberOfMirrors: number of mirrors to use, required if RAIDLevel is Mirrored RAID-1 or Striped & Mirrored RAID-10., defaults to None
                :type numberOfMirrors: int, optional
                :param stripeSize: number in blocks of 4k, i.e. stripeSize:32 = 128k, required if RAIDLevel is Striped RAID-0 or Striped & Mirrored RAID-10 or Erasure Coding, optional, defaults to None
                :type stripeSize: str, optional
                :param stripeWidth: number of disks to use, required if RAIDLevel is Striped RAID-0 or Striped & Mirrored RAID-10, defaults to None
                :type stripeWidth: int, optional
                :param dataBlocks: number of disks to use, required if RAIDLevel is Erasure Coding, defaults to None
                :type dataBlocks: int, optional
                :param parityBlocks: number of disks to use, required if RAIDLevel is Erasure Coding, defaults to None
                :type parityBlocks: int, optional
                :param protectionLevel: protection level to use, defaults to None
                :type protectionLevel: str, optional
                :param domain: the domain of the volume, defaults to None
                :type domain: str, optional
                :param health: volume's health, defaults to None
                :type health: str, optional
                :param status: the status of the volume, defaults to None
                :type status: int, optional
                :param ignoreNodeSeparation: when True node separation will be ignored for a mirrored volume (No Target Redundancy), defaults to None
                :type ignoreNodeSeparation: bool, optional
                :param selectedClientsForNvmf: clients that allowed to export via NVMf, defaults to None
                :type selectedClientsForNvmf: list, optional
                :param enableNVMf: enables access to the NVMesh volume using the NVMf protocol, defaults to None
                :type enableNVMf: bool, optional
                :param enableCrcCheck: enables CRC check, defaults to None
                :type enableCrcCheck: bool, optional
                :param VSGs: associated volume security groups, defaults to None
                :type VSGs: list, optional
        """
        if hasattr(self, 'name'):
            self._id = self.name

    def getObjectsToInstantiate(self):
        return Volume.__objectsToInstantiate

    @staticmethod
    def getSchemaName():
        return 'volumeEntity'
Beispiel #29
0
class GeneralSettings(Entity):
    """
    Static class attributes to use with MongoObj
        * Id
        * ClusterName
        * MaxJsonSize
        * ReservedBlocks
        * AutoLogOutThreshold
        * CacheUpdateInterval
        * CompatibilityMode
        * DateModified
        * DaysBeforeLogEntryExpires
        * DebugComponents
        * Domain
        * EnableDistributedRAID
        * EnableLegacyFormatting
        * EnableZones
        * FullClientReportInterval
        * KeepaliveGracePeriod
        * LoggingLevel
        * RequestStatsInterval
        * sendStatsInterval
        * StatsCollectionSettings
        * EnableNVMf
        * EnableMultiTenancy
        * DefaultUnitType

    """
    Id = AttributeRepresentation(display='ID', dbKey='_id')
    ClusterName = AttributeRepresentation(display='Cluster Name',
                                          dbKey='clusterName')
    MaxJsonSize = AttributeRepresentation(display='Max JSON Size',
                                          dbKey='MAX_JSON_SIZE')
    ReservedBlocks = AttributeRepresentation(display='Reserved Blocks',
                                             dbKey='RESERVED_BLOCKS')
    AutoLogOutThreshold = AttributeRepresentation(
        display='Auto Log Out Threshold', dbKey='autoLogOutThreshold')
    CacheUpdateInterval = AttributeRepresentation(
        display='Cache Update Interval', dbKey='cacheUpdateInterval')
    CompatibilityMode = AttributeRepresentation(display='Compatibility Mode',
                                                dbKey='compatibilityMode')
    DateModified = AttributeRepresentation(display='Date Modified',
                                           dbKey='dateModified')
    DaysBeforeLogEntryExpires = AttributeRepresentation(
        display='Days Before Log Entry Expires',
        dbKey='daysBeforeLogEntryExpires')
    DebugComponents = AttributeRepresentation(display='Debug Components',
                                              dbKey='debugComponents')
    Domain = AttributeRepresentation(display='Domain', dbKey='domain')
    EnableDistributedRAID = AttributeRepresentation(
        display='Enable Distributed RAID', dbKey='enableDistributedRAID')
    EnableLegacyFormatting = AttributeRepresentation(
        display='Enable Legacy Formatting', dbKey='enableLegacyFormatting')
    EnableZones = AttributeRepresentation(display='Enable Zones',
                                          dbKey='enableZones')
    FullClientReportInterval = AttributeRepresentation(
        display='Full Client Report Interval',
        dbKey='fullClientReportInterval')
    FullTomaReportInterval = AttributeRepresentation(
        display='Full Toma Report Interval', dbKey='fullTomaReportInterval')
    KeepaliveGracePeriod = AttributeRepresentation(
        display='Keepalive Grace Period', dbKey='keepaliveGracePeriod')
    LoggingLevel = AttributeRepresentation(display='Logging Level',
                                           dbKey='loggingLevel')
    RequestStatsInterval = AttributeRepresentation(
        display='Request Statistics Interval', dbKey='requestStatsInterval')
    sendStatsInterval = AttributeRepresentation(
        display='Send Statistics Interval', dbKey='sendStatsInterval')
    StatsCollectionSettings = AttributeRepresentation(
        display='Statistics Collection Settings',
        dbKey='statsCollectionSettings')
    EnableNVMf = AttributeRepresentation(display='Enable NVMf',
                                         dbKey='enableNVMf')
    EnableMultiTenancy = AttributeRepresentation(
        display='Enable Multi Tenancy', dbKey='enableMultiTenancy')
    DefaultUnitType = AttributeRepresentation(display='Default Unit Type',
                                              dbKey='defaultUnitType')

    @Utils.initializer
    def __init__(self,
                 _id=None,
                 clusterName=None,
                 MAX_JSON_SIZE=None,
                 RESERVED_BLOCKS=None,
                 autoLogOutThreshold=None,
                 cacheUpdateInterval=None,
                 compatibilityMode=None,
                 dateModified=None,
                 daysBeforeLogEntryExpires=None,
                 debugComponents=None,
                 domain=None,
                 enableDistributedRAID=None,
                 enableLegacyFormatting=None,
                 enableZones=None,
                 fullClientReportInterval=None,
                 fullTomaReportInterval=None,
                 keepaliveGracePeriod=None,
                 loggingLevel=None,
                 requestStatsInterval=None,
                 sendStatsInterval=None,
                 statsCollectionSettings=None,
                 enableNVMf=None,
                 enableMultiTenancy=None,
                 defaultUnitType=None):
        """**Initializes volume entity**

                :param _id: general setting's id, defaults to None
                :type _id: str, optional
                :param clusterName: the name of the cluster
                :type clusterName: str, optional
                :param MAX_JSON_SIZE: The size of the largest JSON message supported by the Management Server
                :type MAX_JSON_SIZE: int, optional
                :param RESERVED_BLOCKS: The percentage of reserved blocks at the start of a managed NVMe device
                :type RESERVED_BLOCKS: int, optional
                :param autoLogOutThreshold: The timeout of the GUI and API access (in milliseconds). After the timeout expires the GUI and API will automatically logout all logged in users
                :type autoLogOutThreshold: int, optional
                :param cacheUpdateInterval: The grace period, in milliseconds, since the last message from every component. When the grace period is over, the management server will declare that component as timedOut
                :type cacheUpdateInterval: int, optional
                :param compatibilityMode: Use the NVMesh version of dynamic libraries instead of the operating system versions to avoid compatibility issues
                :type compatibilityMode: bool, optional
                :param daysBeforeLogEntryExpires: The number of days the management logs are kept before rotation
                :type daysBeforeLogEntryExpires: int, optional
                :param debugComponents: List of debugComponents to turn in in logs
                :type debugComponents: dict, optional
                :param domain: The default domain
                :type domain: str, optional
                :param enableDistributedRAID: This option only affects the creation of EC volumes via the GUI, it does not affect creating EC volumes via RESTful API
                :type enableDistributedRAID: bool, optional
                :param enableLegacyFormatting: Determines whether to allow legacy formatting on metadata supported drives via the RESTful API
                :type enableLegacyFormatting: bool, optional
                :param enableZones: Enable zones
                :type enableZones: bool, optional
                :param fullClientReportInterval: The frequency of a full client report from the node machines to the management server
                :type fullClientReportInterval: int, optional
                :param keepaliveGracePeriod: The grace period, in milliseconds, since the last message from every component. When the grace period is over, the management server will declare that component as timedOut
                :type keepaliveGracePeriod: int, optional
                :param loggingLevel: The logging level of the Management Server, options: NONE, INFO, VERBOSE, DEBUG, ERROR, WARNING.
                :type loggingLevel: str, optional
                :param requestStatsInterval: The frequency of statistics updates from the node machines to the management server
                :type requestStatsInterval: int, optional
                :param sendStatsInterval: The interval of time passing after which the "phone home" statistics should be sent to excelero in ms
                :type sendStatsInterval: int, optional
                :param statsCollectionSettings: Cluster statistics
                :type statsCollectionSettings: dict, optional
                :param enableNVMf: Set default value of Enable NVMf for volume creation
                :type enableNVMf: bool, optional
                :param enableMultiTenancy: Set default value of Enable NVMf for volume creation
                :type enableMultiTenancy: bool, optional
                :param defaultUnitType: Set default unit type value (binary/decimal)
                :type defaultUnitType: str, optional
        """
        pass
Beispiel #30
0
class VPG(Entity):
    """
    Static class attributes to use with MongoObj
            * Id
            * Description
            * RaidLevel
            * Size
    """
    Id = AttributeRepresentation(display='Name', dbKey='name')
    Size = AttributeRepresentation(display='Reserved Space', dbKey='capacity')
    Description = AttributeRepresentation(display='Description',
                                          dbKey='description')
    RaidLevel = AttributeRepresentation(display='RAID Level',
                                        dbKey='RAIDLevel')

    @Utils.initializer
    def __init__(self,
                 name=None,
                 RAIDLevel=None,
                 capacity=None,
                 VPG=None,
                 _id=None,
                 relativeRebuildPriority=None,
                 description=None,
                 diskClasses=None,
                 serverClasses=None,
                 limitByDisks=None,
                 limitByNodes=None,
                 numberOfMirrors=None,
                 createdBy=None,
                 modifiedBy=None,
                 dateModified=None,
                 dateCreated=None,
                 isReserved=None,
                 status=None,
                 blocks=None,
                 chunks=None,
                 stripeSize=None,
                 stripeWidth=None,
                 dataBlocks=None,
                 parityBlocks=None,
                 protectionLevel=None,
                 domain=None,
                 uuid=None,
                 blockSize=None,
                 version=None,
                 type=None,
                 health=None,
                 lockServer=None,
                 serviceResources=None,
                 isDefault=None):
        """**Initializes VPG entity**

                :param name: the name of the VPG
                :type name: str, optional
                :param RAIDLevel: the RAID level of the VPG, options: Concatenated, Striped RAID-0, Mirrored RAID-1, Striped & Mirrored RAID-10, Erasure Coding.
                :type RAIDLevel: str, optional
                :param capacity: space to allocate for the VPG
                :type capacity: int, optional
                :param VPG: the VPG to use
                :type VPG: str, optional
                :param description: description of the VPG, defaults to None
                :type description: str, optional
                :param diskClasses: limit volume allocation to specific diskClasses, defaults to None
                :type diskClasses: list, optional
                :param serverClasses: limit volume allocation to specific serverClasses, defaults to None
                :type serverClasses: list, optional
                :param numberOfMirrors: number of mirrors to use, required if RAIDLevel is Mirrored RAID-1 or Striped & Mirrored RAID-10., defaults to None
                :type numberOfMirrors: int, optional
                :param stripeSize: number in blocks of 4k, i.e. stripeSize:32 = 128k, required if RAIDLevel is Striped RAID-0 or Striped & Mirrored RAID-10 or Erasure Coding, optional, defaults to None
                :type stripeSize: str, optional
                :param stripeWidth: number of disks to use, required if RAIDLevel is Striped RAID-0 or Striped & Mirrored RAID-10, defaults to None
                :type stripeWidth: int, optional
                :param dataBlocks: number of disks to use, required if RAIDLevel is Erasure Coding, defaults to None
                :type dataBlocks: int, optional
                :param parityBlocks: number of disks to use, required if RAIDLevel is Erasure Coding, defaults to None
                :type parityBlocks: int, optional
                :param protectionLevel: protection level to use, defaults to None
                :type protectionLevel: str, optional
                :param domain: the domain of the volume, defaults to None
                :type domain: str, optional
                :param health: volume's health, defaults to None
                :type health: str, optional
                :param status: the status of the volume, defaults to None
                :type status: int, optional
        """

        if hasattr(self, '_id'):
            self.name = self._id

    @staticmethod
    def getSchemaName():
        return 'vpgEntity'