Source code for com.vmware.appliance.techpreview.monitoring_client

# -*- coding: utf-8 -*-
#---------------------------------------------------------------------------
# Copyright 2016 VMware, Inc.  All rights reserved.

# AUTO GENERATED FILE -- DO NOT MODIFY!
#
# vAPI stub file for package com.vmware.appliance.techpreview.monitoring.
#---------------------------------------------------------------------------

"""


"""

__author__ = 'VMware, Inc.'
__docformat__ = 'restructuredtext en'

import sys

from vmware.vapi.bindings import type
from vmware.vapi.bindings.converter import TypeConverter
from vmware.vapi.bindings.enum import Enum
from vmware.vapi.bindings.error import VapiError
from vmware.vapi.bindings.struct import VapiStruct
from vmware.vapi.bindings.stub import VapiInterface, ApiInterfaceStub
from vmware.vapi.bindings.common import raise_core_exception
from vmware.vapi.data.validator import UnionValidator, HasFieldsOfValidator
from vmware.vapi.exception import CoreException
import com.vmware.vapi.std.errors_client


[docs]class Snmp(VapiInterface): """ ``Snmp`` class provides methods SNMP agent operations. """ def __init__(self, config): """ :type config: :class:`vmware.vapi.bindings.stub.StubConfiguration` :param config: Configuration to be used for creating the stub. """ VapiInterface.__init__(self, config, _SnmpStub)
[docs] class SNMPAuthProto(Enum): """ ``Snmp.SNMPAuthProto`` class Defines SNMP authentication protocols .. note:: This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See :ref:`enumerated type description page <enumeration_description>`. """ none = None """ NONE """ SHA1 = None """ SHA1 """ MD5 = None """ MD5 """ def __init__(self, string): """ :type string: :class:`str` :param string: String value for the :class:`SNMPAuthProto` instance. """ Enum.__init__(string)
SNMPAuthProto._set_values([ SNMPAuthProto('none'), SNMPAuthProto('SHA1'), SNMPAuthProto('MD5'), ]) SNMPAuthProto._set_binding_type(type.EnumType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_auth_proto', SNMPAuthProto))
[docs] class SNMPPrivProto(Enum): """ ``Snmp.SNMPPrivProto`` class Defines SNMP privacy protocols .. note:: This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See :ref:`enumerated type description page <enumeration_description>`. """ AES128 = None """ AES128 """ none = None """ NONE """ def __init__(self, string): """ :type string: :class:`str` :param string: String value for the :class:`SNMPPrivProto` instance. """ Enum.__init__(string)
SNMPPrivProto._set_values([ SNMPPrivProto('AES128'), SNMPPrivProto('none'), ]) SNMPPrivProto._set_binding_type(type.EnumType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_priv_proto', SNMPPrivProto))
[docs] class SNMPSecLevel(Enum): """ ``Snmp.SNMPSecLevel`` class Defines SNMP decurity levels .. note:: This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See :ref:`enumerated type description page <enumeration_description>`. """ none = None """ none """ auth = None """ auth """ priv = None """ priv """ def __init__(self, string): """ :type string: :class:`str` :param string: String value for the :class:`SNMPSecLevel` instance. """ Enum.__init__(string)
SNMPSecLevel._set_values([ SNMPSecLevel('none'), SNMPSecLevel('auth'), SNMPSecLevel('priv'), ]) SNMPSecLevel._set_binding_type(type.EnumType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_sec_level', SNMPSecLevel))
[docs] class SNMPv3Notfication(Enum): """ ``Snmp.SNMPv3Notfication`` class Defines SNMP v3 notification types .. note:: This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See :ref:`enumerated type description page <enumeration_description>`. """ inform = None """ inform """ trap = None """ trap """ def __init__(self, string): """ :type string: :class:`str` :param string: String value for the :class:`SNMPv3Notfication` instance. """ Enum.__init__(string)
SNMPv3Notfication._set_values([ SNMPv3Notfication('inform'), SNMPv3Notfication('trap'), ]) SNMPv3Notfication._set_binding_type(type.EnumType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNM_pv3_notfication', SNMPv3Notfication))
[docs] class SNMPLimits(VapiStruct): """ ``Snmp.SNMPLimits`` class Structure that provides various limits of the SNMP agent. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, max_communities=None, max_trap_destinations_v1=None, max_destinations_v3=None, max_notification_filters=None, max_community_length=None, max_buffer_size=None, ): """ :type max_communities: :class:`long` :param max_communities: Set up maximum communities limit :type max_trap_destinations_v1: :class:`long` :param max_trap_destinations_v1: Set up max trap destinations limit :type max_destinations_v3: :class:`long` :param max_destinations_v3: Set up max destinations limit :type max_notification_filters: :class:`long` :param max_notification_filters: Set up max notification Filters :type max_community_length: :class:`long` :param max_community_length: Set up max community length :type max_buffer_size: :class:`long` :param max_buffer_size: Set up max buffer size """ self.max_communities = max_communities self.max_trap_destinations_v1 = max_trap_destinations_v1 self.max_destinations_v3 = max_destinations_v3 self.max_notification_filters = max_notification_filters self.max_community_length = max_community_length self.max_buffer_size = max_buffer_size VapiStruct.__init__(self)
SNMPLimits._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_limits', { 'max_communities': type.IntegerType(), 'max_trap_destinations_v1': type.IntegerType(), 'max_destinations_v3': type.IntegerType(), 'max_notification_filters': type.IntegerType(), 'max_community_length': type.IntegerType(), 'max_buffer_size': type.IntegerType(), }, SNMPLimits, False, None))
[docs] class SNMPTestResults(VapiStruct): """ ``Snmp.SNMPTestResults`` class Structure to provide operators diagnostics test results. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, success=None, message=None, ): """ :type success: :class:`bool` :param success: Set success to true/false :type message: :class:`str` :param message: message """ self.success = success self.message = message VapiStruct.__init__(self)
SNMPTestResults._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_test_results', { 'success': type.BooleanType(), 'message': type.StringType(), }, SNMPTestResults, False, None))
[docs] class SNMPStats(VapiStruct): """ ``Snmp.SNMPStats`` class Structure to provide operators diagnostics on snmp agent itself. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, sysuptime=None, worstrtimelast=None, avgresponsetime=None, worstresponsetime=None, inpkts=None, outpkts=None, usmstatsnotintimewindows=None, usmstatsunknownusernames=None, usmstatsunknownengineids=None, usmstatswrongdigests=None, usmstatsdecryptionerrors=None, inbadversions=None, inbadcommunitynames=None, inbadcommunityuses=None, inasnparseerrs=None, intoobigs=None, innosuchnames=None, inbadvalues=None, ingenerrs=None, outtoobigs=None, outnosuchnames=None, outbadvalues=None, outgenerrs=None, outtraps=None, silentdrops=None, avgvarbinds=None, maxvarbinds=None, ): """ :type sysuptime: :class:`str` :param sysuptime: System uptime :type worstrtimelast: :class:`str` :param worstrtimelast: Last updated time :type avgresponsetime: :class:`str` :param avgresponsetime: Average response time :type worstresponsetime: :class:`str` :param worstresponsetime: Response time :type inpkts: :class:`long` :param inpkts: No of input packets :type outpkts: :class:`long` :param outpkts: No of output packets :type usmstatsnotintimewindows: :class:`long` :param usmstatsnotintimewindows: No of stats not in time window :type usmstatsunknownusernames: :class:`long` :param usmstatsunknownusernames: No of usm stats unknown :type usmstatsunknownengineids: :class:`long` :param usmstatsunknownengineids: No of usm stats unknown engine ids :type usmstatswrongdigests: :class:`long` :param usmstatswrongdigests: No of wrogn digests :type usmstatsdecryptionerrors: :class:`long` :param usmstatsdecryptionerrors: No. of decryption errors :type inbadversions: :class:`long` :param inbadversions: No of bad versions :type inbadcommunitynames: :class:`long` :param inbadcommunitynames: No of bad community names :type inbadcommunityuses: :class:`long` :param inbadcommunityuses: No of bad community uses :type inasnparseerrs: :class:`long` :param inasnparseerrs: No of parse errors :type intoobigs: :class:`long` :param intoobigs: No of too bigs :type innosuchnames: :class:`long` :param innosuchnames: No of no such names :type inbadvalues: :class:`long` :param inbadvalues: No of bad values :type ingenerrs: :class:`long` :param ingenerrs: No of gen errors :type outtoobigs: :class:`long` :param outtoobigs: No out output too bigs :type outnosuchnames: :class:`long` :param outnosuchnames: No of no such names :type outbadvalues: :class:`long` :param outbadvalues: No of bad values :type outgenerrs: :class:`long` :param outgenerrs: No of gen errors :type outtraps: :class:`long` :param outtraps: No of output traps :type silentdrops: :class:`long` :param silentdrops: No of silent drops :type avgvarbinds: :class:`long` :param avgvarbinds: No of ave:rage var binds :type maxvarbinds: :class:`long` :param maxvarbinds: No of max var binds """ self.sysuptime = sysuptime self.worstrtimelast = worstrtimelast self.avgresponsetime = avgresponsetime self.worstresponsetime = worstresponsetime self.inpkts = inpkts self.outpkts = outpkts self.usmstatsnotintimewindows = usmstatsnotintimewindows self.usmstatsunknownusernames = usmstatsunknownusernames self.usmstatsunknownengineids = usmstatsunknownengineids self.usmstatswrongdigests = usmstatswrongdigests self.usmstatsdecryptionerrors = usmstatsdecryptionerrors self.inbadversions = inbadversions self.inbadcommunitynames = inbadcommunitynames self.inbadcommunityuses = inbadcommunityuses self.inasnparseerrs = inasnparseerrs self.intoobigs = intoobigs self.innosuchnames = innosuchnames self.inbadvalues = inbadvalues self.ingenerrs = ingenerrs self.outtoobigs = outtoobigs self.outnosuchnames = outnosuchnames self.outbadvalues = outbadvalues self.outgenerrs = outgenerrs self.outtraps = outtraps self.silentdrops = silentdrops self.avgvarbinds = avgvarbinds self.maxvarbinds = maxvarbinds VapiStruct.__init__(self)
SNMPStats._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_stats', { 'sysuptime': type.StringType(), 'worstrtimelast': type.StringType(), 'avgresponsetime': type.StringType(), 'worstresponsetime': type.StringType(), 'inpkts': type.IntegerType(), 'outpkts': type.IntegerType(), 'usmstatsnotintimewindows': type.IntegerType(), 'usmstatsunknownusernames': type.IntegerType(), 'usmstatsunknownengineids': type.IntegerType(), 'usmstatswrongdigests': type.IntegerType(), 'usmstatsdecryptionerrors': type.IntegerType(), 'inbadversions': type.IntegerType(), 'inbadcommunitynames': type.IntegerType(), 'inbadcommunityuses': type.IntegerType(), 'inasnparseerrs': type.IntegerType(), 'intoobigs': type.IntegerType(), 'innosuchnames': type.IntegerType(), 'inbadvalues': type.IntegerType(), 'ingenerrs': type.IntegerType(), 'outtoobigs': type.IntegerType(), 'outnosuchnames': type.IntegerType(), 'outbadvalues': type.IntegerType(), 'outgenerrs': type.IntegerType(), 'outtraps': type.IntegerType(), 'silentdrops': type.IntegerType(), 'avgvarbinds': type.IntegerType(), 'maxvarbinds': type.IntegerType(), }, SNMPStats, False, None))
[docs] class SNMPConfig(VapiStruct): """ ``Snmp.SNMPConfig`` class Structure that defines the SNMP configuration, provided as input to set(), and never the result of get(). See SNMPConfigReadOnly. This structure is used to configure SNMP v1, v2c, and v3. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, authentication=None, communities=None, engineid=None, loglevel=None, notraps=None, port=None, privacy=None, remoteusers=None, syscontact=None, syslocation=None, targets=None, users=None, v3targets=None, ): """ :type authentication: :class:`Snmp.SNMPAuthProto` :param authentication: Set the default authentication protocol. Values can be none, MD5, or SHA1. :type communities: :class:`list` of :class:`str` :param communities: Set up to ten communities, each of no more than 64 characters long. The format is: community1[,community2,...]. This setting overwrites any previous settings. :type engineid: :class:`str` :param engineid: Set SNMPv3 engine ID. The engine ID must contain 5 to 32 hexadecimal characters. "0x" and colon (:) are removed from the ID. :type loglevel: :class:`str` :param loglevel: System Agent syslog logging level: debug|info|warning|error. :type notraps: :class:`list` of :class:`str` :param notraps: Comma-separated list of trap OIDs (object identifiers) for traps not to be sent by the agent. Use 'reset' to clear the setting. :type port: :class:`long` :param port: Set up a UDP port which the SNMP agent uses to listen on for polling requests. The default UDP port is 161. :type privacy: :class:`Snmp.SNMPPrivProto` :param privacy: Set the default privacy protocol. Values: none or AES128. :type remoteusers: :class:`list` of :class:`str` :param remoteusers: Set up to five inform user IDs. The format is: user/auth-proto/-|auth-hash/priv-proto/-|priv-hash/engine-id[,...]. Here, user must be maximum 32 characters long; auth-proto is none, MD5 or SHA1; priv-proto is none or AES; '-' indicates no hash; engine-id is a hexadecimal string '0x0-9a-f' and must be up to 32 characters long. :type syscontact: :class:`str` :param syscontact: System contact string as presented in sysContact.0. Up to 255 characters long. :type syslocation: :class:`str` :param syslocation: System location string as presented in sysLocation.0. Up to 255 characters long. :type targets: :class:`list` of :class:`str` :param targets: Set up to three targets to which to send SNMPv1 traps. The format is: ip-or-hostname[\\\\@port]/community[,...]. The default port is UDP 162. This setting overwrites any previous settings. :type users: :class:`list` of :class:`str` :param users: Set up to five local users. The format is: user/-|auth-hash/-|priv-hash/model[,...]. Here user is maximum 32 characters long; '-' indicates no hash; model is one of none, auth or priv. :type v3targets: :class:`list` of :class:`str` :param v3targets: Set up to three SNMPv3 notification targets. Format is: ip-or-hostname[\\\\@port]/remote-user/security-level/trap|inform[,...]. """ self.authentication = authentication self.communities = communities self.engineid = engineid self.loglevel = loglevel self.notraps = notraps self.port = port self.privacy = privacy self.remoteusers = remoteusers self.syscontact = syscontact self.syslocation = syslocation self.targets = targets self.users = users self.v3targets = v3targets VapiStruct.__init__(self)
SNMPConfig._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_config', { 'authentication': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPAuthProto'), 'communities': type.ListType(type.StringType()), 'engineid': type.StringType(), 'loglevel': type.StringType(), 'notraps': type.ListType(type.StringType()), 'port': type.IntegerType(), 'privacy': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPPrivProto'), 'remoteusers': type.ListType(type.StringType()), 'syscontact': type.StringType(), 'syslocation': type.StringType(), 'targets': type.ListType(type.StringType()), 'users': type.ListType(type.StringType()), 'v3targets': type.ListType(type.StringType()), }, SNMPConfig, False, None))
[docs] class SNMPUser(VapiStruct): """ ``Snmp.SNMPUser`` class Structure that defines information associated with an SNMP user. authKey and privKey are localized keys defined in http://tools.ietf.org/html/rfc3826#section-1.2. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, username=None, sec_level=None, auth_key=None, priv_key=None, ): """ :type username: :class:`str` :param username: SNMP Username :type sec_level: :class:`Snmp.SNMPSecLevel` :param sec_level: SNMP security level :type auth_key: :class:`str` :param auth_key: SNMP authorization key :type priv_key: :class:`str` :param priv_key: SNMP privacy key """ self.username = username self.sec_level = sec_level self.auth_key = auth_key self.priv_key = priv_key VapiStruct.__init__(self)
SNMPUser._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_user', { 'username': type.StringType(), 'sec_level': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPSecLevel'), 'auth_key': type.StringType(), 'priv_key': type.StringType(), }, SNMPUser, False, None))
[docs] class SNMPv3Target(VapiStruct): """ ``Snmp.SNMPv3Target`` class Structure that defines an SNMP v3 inform or trap target. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, type=None, sec_level=None, ip=None, port=None, user=None, ): """ :type type: :class:`Snmp.SNMPv3Notfication` :param type: SNMP target type :type sec_level: :class:`Snmp.SNMPSecLevel` :param sec_level: SNMP security level :type ip: :class:`str` :param ip: SNMP target ip :type port: :class:`long` :param port: SNMP target port :type user: :class:`str` :param user: SNMP User """ self.type = type self.sec_level = sec_level self.ip = ip self.port = port self.user = user VapiStruct.__init__(self)
SNMPv3Target._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNM_pv3_target', { 'type': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPv3Notfication'), 'sec_level': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPSecLevel'), 'ip': type.StringType(), 'port': type.IntegerType(), 'user': type.StringType(), }, SNMPv3Target, False, None))
[docs] class SNMPv1TrapTarget(VapiStruct): """ ``Snmp.SNMPv1TrapTarget`` class Structure that defines an SNMP v1/v2c trap target. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, ip=None, port=None, community=None, ): """ :type ip: :class:`str` :param ip: SNMP target ip :type port: :class:`long` :param port: SNMP target port :type community: :class:`str` :param community: SNMP target community """ self.ip = ip self.port = port self.community = community VapiStruct.__init__(self)
SNMPv1TrapTarget._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNM_pv1_trap_target', { 'ip': type.StringType(), 'port': type.IntegerType(), 'community': type.StringType(), }, SNMPv1TrapTarget, False, None))
[docs] class SNMPRemoteUser(VapiStruct): """ ``Snmp.SNMPRemoteUser`` class Structure that defines a user at particular remote SNMPv3 entity needed when using informs. auth_key and priv_key contained localized keys as defined in http://tools.ietf.org/html/rfc3826#section-1.2. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, username=None, sec_level=None, authentication=None, auth_key=None, privacy=None, priv_key=None, engineid=None, ): """ :type username: :class:`str` :param username: SNMP Username :type sec_level: :class:`Snmp.SNMPSecLevel` :param sec_level: SNMP security level :type authentication: :class:`Snmp.SNMPAuthProto` :param authentication: SNMP authorization protocol :type auth_key: :class:`str` :param auth_key: SNMP authorization key :type privacy: :class:`Snmp.SNMPPrivProto` :param privacy: SNMP privacy protocol :type priv_key: :class:`str` :param priv_key: SNMP privacy key :type engineid: :class:`str` :param engineid: SNMP v3 engine id """ self.username = username self.sec_level = sec_level self.authentication = authentication self.auth_key = auth_key self.privacy = privacy self.priv_key = priv_key self.engineid = engineid VapiStruct.__init__(self)
SNMPRemoteUser._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_remote_user', { 'username': type.StringType(), 'sec_level': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPSecLevel'), 'authentication': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPAuthProto'), 'auth_key': type.StringType(), 'privacy': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPPrivProto'), 'priv_key': type.StringType(), 'engineid': type.StringType(), }, SNMPRemoteUser, False, None))
[docs] class SNMPConfigReadOnly(VapiStruct): """ ``Snmp.SNMPConfigReadOnly`` class Structure that defines the SNMP configuration, the result of get(), and never provided as input to set(). This structure differs from SNMPConfig because it contains localized keys (as defined in http://tools.ietf.org/html/rfc3826#section-1.2), instead of raw secret strings. This structure can be used to configure SNMP v1, v2c, and v3. Keep this structure in sync with vmw_snmp.py:_default_config(). Note that if a field if left empty, it is considered unset and will be ignored. Existing array elements below can be unset by sending an element with the string 'reset'. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, authentication=None, communities=None, enable=None, engineid=None, loglevel=None, notraps=None, port=None, privacy=None, syscontact=None, syslocation=None, targets=None, users=None, remoteusers=None, v3targets=None, pid=None, ): """ :type authentication: :class:`Snmp.SNMPAuthProto` :param authentication: Set the default authentication protocol. Values can be none, MD5, or SHA1. :type communities: :class:`list` of :class:`str` :param communities: Set up to ten communities, each of no more than 64 characters long. The format is: community1[,community2,...]. This setting overwrites any previous settings. :type enable: :class:`bool` :param enable: Set enable to true/false :type engineid: :class:`str` :param engineid: Set SNMPv3 engine ID. :type loglevel: :class:`str` :param loglevel: System Agent syslog logging level: debug|info|warning|error. :type notraps: :class:`list` of :class:`str` :param notraps: Comma-separated list of trap OIDs (object identifiers) for traps not to be sent by the agent. Use 'reset' to clear the setting. :type port: :class:`long` :param port: Set up a UDP port which the SNMP agent uses to listen on for polling requests. The default UDP port is 161. :type privacy: :class:`Snmp.SNMPPrivProto` :param privacy: Set the default privacy protocol. :type syscontact: :class:`str` :param syscontact: System contact string as presented in sysContact.0. Up to 255 characters long. :type syslocation: :class:`str` :param syslocation: System location string as presented in sysLocation.0. Up to 255 characters long. :type targets: :class:`list` of :class:`Snmp.SNMPv1TrapTarget` :param targets: Set up to three targets to which to send SNMPv1 traps. :type users: :class:`list` of :class:`Snmp.SNMPUser` :param users: Set up to five local users. :type remoteusers: :class:`list` of :class:`Snmp.SNMPRemoteUser` :param remoteusers: Set up remote users. :type v3targets: :class:`list` of :class:`Snmp.SNMPv3Target` :param v3targets: Set up to three SNMPv3 notification targets. Format is: ip-or-hostname[\\\\@port]/remote-user/security-level/trap|inform[,...]. :type pid: :class:`str` :param pid: Set up pid """ self.authentication = authentication self.communities = communities self.enable = enable self.engineid = engineid self.loglevel = loglevel self.notraps = notraps self.port = port self.privacy = privacy self.syscontact = syscontact self.syslocation = syslocation self.targets = targets self.users = users self.remoteusers = remoteusers self.v3targets = v3targets self.pid = pid VapiStruct.__init__(self)
SNMPConfigReadOnly._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_config_read_only', { 'authentication': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPAuthProto'), 'communities': type.ListType(type.StringType()), 'enable': type.BooleanType(), 'engineid': type.StringType(), 'loglevel': type.StringType(), 'notraps': type.ListType(type.StringType()), 'port': type.IntegerType(), 'privacy': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPPrivProto'), 'syscontact': type.StringType(), 'syslocation': type.StringType(), 'targets': type.ListType(type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPv1TrapTarget')), 'users': type.ListType(type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPUser')), 'remoteusers': type.ListType(type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPRemoteUser')), 'v3targets': type.ListType(type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPv3Target')), 'pid': type.StringType(), }, SNMPConfigReadOnly, False, None))
[docs] class SNMPHashConfig(VapiStruct): """ ``Snmp.SNMPHashConfig`` class Structure to provide up to two secrets to combine with the SNMPv3 engine ID and authentication or privacy protocol to form a localized hash. auth_hash is always required, priv_hash can be empty. By default arguments are paths on the local filesystem, raw_secret takes path to be the actual raw secret. First implementation was in ESXi: esxcli system snmp hash --help .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, auth_hash=None, priv_hash=None, raw_secret=None, ): """ :type auth_hash: :class:`str` :param auth_hash: Provide filename to secret for authentication hash, use in set --users (required secret) :type priv_hash: :class:`str` :param priv_hash: Provide filename to secret for privacy hash, use in set --users (secret) :type raw_secret: :class:`bool` :param raw_secret: Make --auth_path and --priv_path flags read raw secret from command line instead of file. """ self.auth_hash = auth_hash self.priv_hash = priv_hash self.raw_secret = raw_secret VapiStruct.__init__(self)
SNMPHashConfig._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_hash_config', { 'auth_hash': type.StringType(), 'priv_hash': type.StringType(), 'raw_secret': type.BooleanType(), }, SNMPHashConfig, False, None))
[docs] class SNMPHashResults(VapiStruct): """ ``Snmp.SNMPHashResults`` class Structure to provide operators diagnostics test results. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__(self, auth_key=None, priv_key=None, ): """ :type auth_key: :class:`str` :param auth_key: SNMP authentication key :type priv_key: :class:`str` :param priv_key: SNMP privacy key """ self.auth_key = auth_key self.priv_key = priv_key VapiStruct.__init__(self)
SNMPHashResults._set_binding_type(type.StructType( 'com.vmware.appliance.techpreview.monitoring.snmp.SNMP_hash_results', { 'auth_key': type.StringType(), 'priv_key': type.StringType(), }, SNMPHashResults, False, None))
[docs] def reset(self): """ Restore settings to factory defaults. :raise: :class:`com.vmware.vapi.std.errors_client.Error` Generic error """ return self._invoke('reset', None)
[docs] def enable(self): """ Start a disabled SNMP agent. :raise: :class:`com.vmware.vapi.std.errors_client.Error` Generic error """ return self._invoke('enable', None)
[docs] def hash(self, config, ): """ Generate localized keys for secure SNMPv3 communications. :type config: :class:`Snmp.SNMPHashConfig` :param config: SNMP hash configuration. :rtype: :class:`Snmp.SNMPHashResults` :return: SNMP hash result :raise: :class:`com.vmware.vapi.std.errors_client.Error` Generic error """ return self._invoke('hash', { 'config': config, })
[docs] def limits(self): """ Get SNMP limits information. :rtype: :class:`Snmp.SNMPLimits` :return: SNMP limits structure :raise: :class:`com.vmware.vapi.std.errors_client.Error` Generic error """ return self._invoke('limits', None)
[docs] def get(self): """ Return an SNMP agent configuration. :rtype: :class:`Snmp.SNMPConfigReadOnly` :return: SNMP config structure :raise: :class:`com.vmware.vapi.std.errors_client.Error` Generic error """ return self._invoke('get', None)
[docs] def disable(self): """ Stop an enabled SNMP agent. :raise: :class:`com.vmware.vapi.std.errors_client.Error` Generic error """ return self._invoke('disable', None)
[docs] def set(self, config, ): """ Set SNMP configuration. :type config: :class:`Snmp.SNMPConfig` :param config: SNMP configuration. :raise: :class:`com.vmware.vapi.std.errors_client.Error` Generic error """ return self._invoke('set', { 'config': config, })
[docs] def test(self): """ Send a warmStart notification to all configured traps and inform destinations (see RFC 3418). :rtype: :class:`Snmp.SNMPTestResults` :return: SNMP test result :raise: :class:`com.vmware.vapi.std.errors_client.Error` Generic error """ return self._invoke('test', None)
[docs] def stats(self): """ Generate diagnostics report for snmp agent. :rtype: :class:`Snmp.SNMPStats` :return: SNMP stats :raise: :class:`com.vmware.vapi.std.errors_client.Error` Generic error """ return self._invoke('stats', None)
class _SnmpStub(ApiInterfaceStub): def __init__(self, config): # properties for reset operation reset_input_type = type.StructType('operation-input', {}) reset_error_dict = { 'com.vmware.vapi.std.errors.error': type.ReferenceType(com.vmware.vapi.std.errors_client, 'Error'), } reset_input_validator_list = [ ] reset_output_validator_list = [ ] # properties for enable operation enable_input_type = type.StructType('operation-input', {}) enable_error_dict = { 'com.vmware.vapi.std.errors.error': type.ReferenceType(com.vmware.vapi.std.errors_client, 'Error'), } enable_input_validator_list = [ ] enable_output_validator_list = [ ] # properties for hash operation hash_input_type = type.StructType('operation-input', { 'config': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPHashConfig'), }) hash_error_dict = { 'com.vmware.vapi.std.errors.error': type.ReferenceType(com.vmware.vapi.std.errors_client, 'Error'), } hash_input_validator_list = [ ] hash_output_validator_list = [ ] # properties for limits operation limits_input_type = type.StructType('operation-input', {}) limits_error_dict = { 'com.vmware.vapi.std.errors.error': type.ReferenceType(com.vmware.vapi.std.errors_client, 'Error'), } limits_input_validator_list = [ ] limits_output_validator_list = [ ] # properties for get operation get_input_type = type.StructType('operation-input', {}) get_error_dict = { 'com.vmware.vapi.std.errors.error': type.ReferenceType(com.vmware.vapi.std.errors_client, 'Error'), } get_input_validator_list = [ ] get_output_validator_list = [ ] # properties for disable operation disable_input_type = type.StructType('operation-input', {}) disable_error_dict = { 'com.vmware.vapi.std.errors.error': type.ReferenceType(com.vmware.vapi.std.errors_client, 'Error'), } disable_input_validator_list = [ ] disable_output_validator_list = [ ] # properties for set operation set_input_type = type.StructType('operation-input', { 'config': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPConfig'), }) set_error_dict = { 'com.vmware.vapi.std.errors.error': type.ReferenceType(com.vmware.vapi.std.errors_client, 'Error'), } set_input_validator_list = [ ] set_output_validator_list = [ ] # properties for test operation test_input_type = type.StructType('operation-input', {}) test_error_dict = { 'com.vmware.vapi.std.errors.error': type.ReferenceType(com.vmware.vapi.std.errors_client, 'Error'), } test_input_validator_list = [ ] test_output_validator_list = [ ] # properties for stats operation stats_input_type = type.StructType('operation-input', {}) stats_error_dict = { 'com.vmware.vapi.std.errors.error': type.ReferenceType(com.vmware.vapi.std.errors_client, 'Error'), } stats_input_validator_list = [ ] stats_output_validator_list = [ ] operations = { 'reset': { 'input_type': reset_input_type, 'output_type': type.VoidType(), 'errors': reset_error_dict, 'input_validator_list': reset_input_validator_list, 'output_validator_list': reset_output_validator_list, }, 'enable': { 'input_type': enable_input_type, 'output_type': type.VoidType(), 'errors': enable_error_dict, 'input_validator_list': enable_input_validator_list, 'output_validator_list': enable_output_validator_list, }, 'hash': { 'input_type': hash_input_type, 'output_type': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPHashResults'), 'errors': hash_error_dict, 'input_validator_list': hash_input_validator_list, 'output_validator_list': hash_output_validator_list, }, 'limits': { 'input_type': limits_input_type, 'output_type': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPLimits'), 'errors': limits_error_dict, 'input_validator_list': limits_input_validator_list, 'output_validator_list': limits_output_validator_list, }, 'get': { 'input_type': get_input_type, 'output_type': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPConfigReadOnly'), 'errors': get_error_dict, 'input_validator_list': get_input_validator_list, 'output_validator_list': get_output_validator_list, }, 'disable': { 'input_type': disable_input_type, 'output_type': type.VoidType(), 'errors': disable_error_dict, 'input_validator_list': disable_input_validator_list, 'output_validator_list': disable_output_validator_list, }, 'set': { 'input_type': set_input_type, 'output_type': type.VoidType(), 'errors': set_error_dict, 'input_validator_list': set_input_validator_list, 'output_validator_list': set_output_validator_list, }, 'test': { 'input_type': test_input_type, 'output_type': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPTestResults'), 'errors': test_error_dict, 'input_validator_list': test_input_validator_list, 'output_validator_list': test_output_validator_list, }, 'stats': { 'input_type': stats_input_type, 'output_type': type.ReferenceType(sys.modules[__name__], 'Snmp.SNMPStats'), 'errors': stats_error_dict, 'input_validator_list': stats_input_validator_list, 'output_validator_list': stats_output_validator_list, }, } ApiInterfaceStub.__init__(self, iface_name='com.vmware.appliance.techpreview.monitoring.snmp', config=config, operations=operations)