@startuml
package Infrastructure {
  class Device {
    name:Text
    type:Text
    since:Date
    until:Date
    active:boolean
    purpose:Text
    manufacturer:Text
    model:Text
    serial:Text
    location:Text
    ip:Text
    mac:Text
    website:Text
    driver:Text
    support:URL
    comment:Text
    os:Text
    osversion:Text
    vm:Text
    size:Number
    formfactor:Text
    rpm:Text
    resolution:Text
  }
Note top of Device
A general class for electronic devices
End note
  class Computer extends Device {
    os:Text
    osversion:Text
    vm:Text
  }
Note top of Computer
A computer runs software to automate
tasks
End note
  class Harddisk extends Device {
    size:Number
    formfactor:Text
    rpm:Text
  }
Note top of Harddisk
A harddisk stores data on magnetic media
or using SSD technology
End note
  class Monitor extends Device {
    resolution:Text
  }
Note top of Monitor
A display device for computers
End note
  class Printer extends Device {
  }
Note top of Printer
Paper printer
End note
}
Computer "computer 1" -- "devices *" Device

' BITPlan Corporate identity skin params
' Copyright (c) 2015-2024 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam component {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam package {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam usecase {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam activity {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam classAttribute {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam interface {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam class {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam object {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
hide Circle
' end of skinparams '

@enduml
