config/sysinv/sysinv/sysinv/sysinv/objects/__init__.py

264 lines
8.0 KiB
Python

# Copyright 2013 IBM Corp.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Copyright (c) 2013-2018 Wind River Systems, Inc.
#
import functools
from sysinv.objects import address
from sysinv.objects import address_mode
from sysinv.objects import address_pool
from sysinv.objects import ceph_mon
from sysinv.objects import certificate
from sysinv.objects import cluster
from sysinv.objects import community
from sysinv.objects import controller_fs
from sysinv.objects import cpu
from sysinv.objects import datanetwork
from sysinv.objects import disk
from sysinv.objects import firewallrules
from sysinv.objects import partition
from sysinv.objects import dns
from sysinv.objects import drbdconfig
from sysinv.objects import port_ethernet
from sysinv.objects import helm_overrides
from sysinv.objects import host
from sysinv.objects import host_upgrade
from sysinv.objects import kube_app
from sysinv.objects import network_infra
from sysinv.objects import interface
from sysinv.objects import interface_ae
from sysinv.objects import interface_ethernet
from sysinv.objects import interface_datanetwork
from sysinv.objects import interface_network
from sysinv.objects import interface_virtual
from sysinv.objects import interface_vlan
from sysinv.objects import journal
from sysinv.objects import label
from sysinv.objects import lldp_agent
from sysinv.objects import lldp_neighbour
from sysinv.objects import lldp_tlv
from sysinv.objects import load
from sysinv.objects import lvg
from sysinv.objects import memory
from sysinv.objects import network
from sysinv.objects import network_oam
from sysinv.objects import node
from sysinv.objects import ntp
from sysinv.objects import pci_device
from sysinv.objects import peer
from sysinv.objects import port
from sysinv.objects import profile
from sysinv.objects import ptp
from sysinv.objects import pv
from sysinv.objects import remote_logging
from sysinv.objects import route
from sysinv.objects import sdn_controller
from sysinv.objects import sensor
from sysinv.objects import sensor_analog
from sysinv.objects import sensor_discrete
from sysinv.objects import sensorgroup
from sysinv.objects import sensorgroup_analog
from sysinv.objects import sensorgroup_discrete
from sysinv.objects import service_parameter
from sysinv.objects import software_upgrade
from sysinv.objects import storage
from sysinv.objects import storage_backend
from sysinv.objects import storage_ceph
from sysinv.objects import storage_lvm
from sysinv.objects import system
from sysinv.objects import trapdest
from sysinv.objects import user
from sysinv.objects import service
from sysinv.objects import tpmconfig
from sysinv.objects import tpmdevice
from sysinv.objects import storage_file
from sysinv.objects import storage_external
from sysinv.objects import storage_tier
from sysinv.objects import storage_ceph_external
def objectify(klass):
"""Decorator to convert database results into specified objects.
:param klass: database results class
"""
def the_decorator(fn):
@functools.wraps(fn)
def wrapper(*args, **kwargs):
result = fn(*args, **kwargs)
try:
return klass.from_db_object(result)
except TypeError:
# TODO(deva): handle lists of objects better
# once support for those lands and is imported.
return [klass.from_db_object(obj) for obj in result]
return wrapper
return the_decorator
# alias objects for RPC compatibility
ihost = host.ihost
ilvg = lvg.LVG
system = system.System
cluster = cluster.Cluster
peer = peer.Peer
host = host.Host
profile = profile.Profile
node = node.Node
cpu = cpu.CPU
memory = memory.Memory
interface = interface.Interface
ethernet_interface = interface_ethernet.EthernetInterface
ae_interface = interface_ae.AEInterface
virtual_interface = interface_virtual.VirtualInterface
vlan_interface = interface_vlan.VLANInterface
interface_network = interface_network.InterfaceNetwork
interface_datanetwork = interface_datanetwork.InterfaceDataNetwork
port = port.Port
ethernet_port = port_ethernet.EthernetPort
disk = disk.Disk
partition = partition.Partition
firewallrules = firewallrules.FirewallRules
storage = storage.Storage
journal = journal.Journal
lvg = lvg.LVG
pv = pv.PV
trapdest = trapdest.TrapDest
community = community.Community
user = user.User
dns = dns.DNS
ntp = ntp.NTP
ptp = ptp.PTP
oam_network = network_oam.OAMNetwork
storage_backend = storage_backend.StorageBackend
storage_ceph = storage_ceph.StorageCeph
storage_lvm = storage_lvm.StorageLVM
ceph_mon = ceph_mon.CephMon
controller_fs = controller_fs.ControllerFS
drbdconfig = drbdconfig.DRBDConfig
infra_network = network_infra.InfraNetwork
address = address.Address
address_pool = address_pool.AddressPool
route = route.Route
address_mode = address_mode.AddressMode
network = network.Network
sensor = sensor.Sensor
sensor_analog = sensor_analog.SensorAnalog
sensor_discrete = sensor_discrete.SensorDiscrete
sensorgroup = sensorgroup.SensorGroup
sensorgroup_analog = sensorgroup_analog.SensorGroupAnalog
sensorgroup_discrete = sensorgroup_discrete.SensorGroupDiscrete
load = load.Load
pci_device = pci_device.PCIDevice
software_upgrade = software_upgrade.SoftwareUpgrade
host_upgrade = host_upgrade.HostUpgrade
service_parameter = service_parameter.ServiceParameter
lldp_agent = lldp_agent.LLDPAgent
lldp_neighbour = lldp_neighbour.LLDPNeighbour
lldp_tlv = lldp_tlv.LLDPTLV
remotelogging = remote_logging.RemoteLogging
sdn_controller = sdn_controller.SDNController
service = service.Service
tpmconfig = tpmconfig.TPMConfig
tpmdevice = tpmdevice.TPMDevice
certificate = certificate.Certificate
storage_file = storage_file.StorageFile
storage_external = storage_external.StorageExternal
storage_tier = storage_tier.StorageTier
storage_ceph_external = storage_ceph_external.StorageCephExternal
helm_overrides = helm_overrides.HelmOverrides
label = label.Label
kube_app = kube_app.KubeApp
datanetwork = datanetwork.DataNetwork
__all__ = (system,
cluster,
peer,
host,
profile,
node,
cpu,
memory,
interface,
ethernet_interface,
ae_interface,
vlan_interface,
port,
ethernet_port,
virtual_interface,
disk,
storage,
journal,
lvg,
pv,
trapdest,
community,
user,
dns,
ntp,
ptp,
oam_network,
storage_backend,
storage_ceph,
storage_lvm,
ceph_mon,
drbdconfig,
infra_network,
address,
address_mode,
route,
sensor,
sensor_analog,
sensor_discrete,
sensorgroup,
sensorgroup_analog,
sensorgroup_discrete,
load,
pci_device,
software_upgrade,
host_upgrade,
network,
interface_network,
service_parameter,
label,
lldp_agent,
lldp_neighbour,
lldp_tlv,
remotelogging,
sdn_controller,
service,
tpmconfig,
tpmdevice,
certificate,
firewallrules,
objectify,
storage_file,
storage_external,
storage_tier,
storage_ceph_external,
helm_overrides,
kube_app,
datanetwork,
interface_network,
# alias objects for RPC compatibility
ihost,
ilvg,
objectify)