<s> """<STR_LIT>""" <EOL> from __future__ import print_function <EOL> from __future__ import unicode_literals <EOL> from __future__ import division <EOL> from __future__ import absolute_import <EOL> from builtins import range <EOL> from future import standard_library <EOL> standard_library . install_aliases ( ) <EOL> __title__ = '<STR_LIT>' <EOL> __version__ = '<STR_LIT>' <EOL> __copyright__ = '<STR_LIT>' '<STR_LIT>' <EOL> __license__ = '<STR_LIT>' <EOL> __status__ = '<STR_LIT>' <EOL> uri = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:version>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> def print_entity ( entity ) : <EOL> if not entity : <EOL> return <EOL> if '<STR_LIT:name>' in entity : <EOL> print ( ( '<STR_LIT>' , entity [ '<STR_LIT:name>' ] ) ) <EOL> if isinstance ( entity , dict ) : <EOL> for key , value in list ( entity . items ( ) ) : <EOL> print ( ( '<STR_LIT:\t>' , key , '<STR_LIT>' , value ) ) <EOL> elif hasattr ( entity , '<STR_LIT>' ) : <EOL> for item in entity : <EOL> print ( ( '<STR_LIT:\t>' , item ) ) <EOL> else : <EOL> print ( ( '<STR_LIT:\t>' , entity ) ) <EOL> def print_task_tuple ( entities ) : <EOL> print ( '<STR_LIT>' ) <EOL> for indx , ( task , entity ) in enumerate ( entities ) : <EOL> print ( ( indx , '<STR_LIT>' ) ) <EOL> try : <EOL> print ( ( '<STR_LIT>' , task [ '<STR_LIT:name>' ] , task [ '<STR_LIT>' ] , <EOL> task [ '<STR_LIT>' ] , task [ '<STR_LIT>' ] ) ) <EOL> except KeyError : <EOL> print ( '<STR_LIT>' ) <EOL> try : <EOL> print ( ( '<STR_LIT>' , entity [ '<STR_LIT:name>' ] , entity [ '<STR_LIT>' ] ) ) <EOL> except KeyError : <EOL> print ( '<STR_LIT>' ) <EOL> def get_members ( mlist ) : <EOL> if not mlist : <EOL> return [ ] <EOL> if not mlist [ '<STR_LIT>' ] : <EOL> return [ ] <EOL> return mlist [ '<STR_LIT>' ] <EOL> def get_member ( mlist ) : <EOL> if not mlist : <EOL> return None <EOL> if not mlist [ '<STR_LIT>' ] : <EOL> return None <EOL> return mlist [ '<STR_LIT>' ] [ <NUM_LIT:0> ] <EOL> def make_user_dict ( name , password , enabled , fullName , emailAddress , <EOL> officePhone , mobilePhone , roles = [ ] ) : <EOL> return { <EOL> '<STR_LIT>' : name , <EOL> '<STR_LIT:password>' : password , <EOL> '<STR_LIT>' : fullName , <EOL> '<STR_LIT>' : emailAddress , <EOL> '<STR_LIT>' : officePhone , <EOL> '<STR_LIT>' : mobilePhone , <EOL> '<STR_LIT>' : enabled , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : roles } <EOL> def make_Bandwidth ( typicalBandwidth = <NUM_LIT> , maximumBandwidth = <NUM_LIT> ) : <EOL> """<STR_LIT>""" <EOL> return { '<STR_LIT>' : maximumBandwidth , <EOL> '<STR_LIT>' : typicalBandwidth <EOL> } <EOL> def make_network_set ( name , networkUris = [ ] ) : <EOL> """<STR_LIT>""" <EOL> return { <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : networkUris [ : ] , <EOL> '<STR_LIT>' : None } <EOL> def make_ethernet_networkV3 ( name , description = None , ethernetNetworkType = None , <EOL> purpose = '<STR_LIT>' , privateNetwork = False , <EOL> smartLink = True , vlanId = <NUM_LIT:0> ) : <EOL> """<STR_LIT>""" <EOL> return { <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : purpose , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : vlanId , <EOL> '<STR_LIT>' : smartLink , <EOL> '<STR_LIT>' : ethernetNetworkType , <EOL> '<STR_LIT>' : privateNetwork } <EOL> def make_fc_networkV2 ( name , autoLoginRedistribution = True , description = None , <EOL> fabricType = '<STR_LIT>' , linkStabilityTime = <NUM_LIT:30> , <EOL> managedSanUri = None ) : <EOL> """<STR_LIT>""" <EOL> return { <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : fabricType , <EOL> '<STR_LIT>' : autoLoginRedistribution , <EOL> '<STR_LIT>' : linkStabilityTime , <EOL> '<STR_LIT>' : managedSanUri } <EOL> def make_interconnect_map_template ( ) : <EOL> return { <EOL> '<STR_LIT>' : <EOL> [ { '<STR_LIT>' : { <EOL> '<STR_LIT>' : <EOL> [ { '<STR_LIT:type>' : '<STR_LIT>' , '<STR_LIT>' : N } , <EOL> { '<STR_LIT:type>' : '<STR_LIT>' , '<STR_LIT>' : <NUM_LIT:1> } ] } , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : None <EOL> } for N in range ( <NUM_LIT:1> , <NUM_LIT:9> ) ] , } <EOL> def make_enet_settings ( name , <EOL> enableIgmpSnooping = False , <EOL> igmpIdleTimeoutInterval = <NUM_LIT> , <EOL> enableFastMacCacheFailover = True , <EOL> macRefreshInterval = <NUM_LIT:5> , <EOL> enableNetworkLoopProtection = True ) : <EOL> return { <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT>' : enableIgmpSnooping , <EOL> '<STR_LIT>' : igmpIdleTimeoutInterval , <EOL> '<STR_LIT>' : enableFastMacCacheFailover , <EOL> '<STR_LIT>' : macRefreshInterval , <EOL> '<STR_LIT>' : enableNetworkLoopProtection , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> def make_storage_vol_templateV3 ( name , <EOL> capacity , <EOL> shareable , <EOL> storagePoolUri , <EOL> state = '<STR_LIT>' , <EOL> description = '<STR_LIT>' , <EOL> storageSystemUri = None , <EOL> snapshotPoolUri = None , <EOL> provisionType = '<STR_LIT>' ) : <EOL> return { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : shareable , <EOL> '<STR_LIT>' : provisionType , <EOL> '<STR_LIT>' : capacity , <EOL> '<STR_LIT>' : storagePoolUri } , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:state>' : state , <EOL> '<STR_LIT:description>' : description , <EOL> '<STR_LIT>' : storageSystemUri , <EOL> '<STR_LIT>' : snapshotPoolUri , <EOL> '<STR_LIT:type>' : '<STR_LIT>' <EOL> } <EOL> def make_storage_volume ( name , <EOL> capacity , <EOL> shareable , <EOL> storagePoolUri , <EOL> description = '<STR_LIT>' , <EOL> provisionType = '<STR_LIT>' ) : <EOL> return { <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:description>' : description , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : shareable , <EOL> '<STR_LIT>' : provisionType , <EOL> '<STR_LIT>' : capacity , <EOL> '<STR_LIT>' : storagePoolUri } , <EOL> '<STR_LIT:type>' : '<STR_LIT>' <EOL> } <EOL> def make_connectionInfo_dict ( hostname , port , user , passwd , ssl = True ) : <EOL> return { '<STR_LIT>' : [ <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:value>' : hostname } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:value>' : port } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:value>' : user } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:value>' : passwd } , <EOL> { '<STR_LIT:name>' : '<STR_LIT>' , <EOL> '<STR_LIT:value>' : ssl } ] <EOL> } <EOL> def make_LogicalInterconnectGroupV2 ( name , ethernetSettings = [ ] ) : <EOL> return { <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : make_interconnect_map_template ( ) , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : ethernetSettings , <EOL> } <EOL> def make_LogicalInterconnectGroupV3 ( name , ethernetSettings = [ ] , <EOL> enclosureType = '<STR_LIT>' ) : <EOL> return { <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : make_interconnect_map_template ( ) , <EOL> '<STR_LIT>' : [ ] , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : ethernetSettings , <EOL> } <EOL> def make_EthernetSettingsV2 ( enableFastMacCacheFailover = True , <EOL> enableIgmpSnooping = False , <EOL> enableNetworkLoopProtection = True , <EOL> enablePauseFloodProtection = True , <EOL> igmpIdleTimeoutInterval = <NUM_LIT> , <EOL> macRefreshInterval = <NUM_LIT:5> ) : <EOL> return { <EOL> '<STR_LIT>' : enableFastMacCacheFailover , <EOL> '<STR_LIT>' : enableIgmpSnooping , <EOL> '<STR_LIT>' : enableNetworkLoopProtection , <EOL> '<STR_LIT>' : enablePauseFloodProtection , <EOL> '<STR_LIT>' : igmpIdleTimeoutInterval , <EOL> '<STR_LIT>' : macRefreshInterval , <EOL> '<STR_LIT:type>' : '<STR_LIT>' <EOL> } <EOL> def make_EthernetSettingsV3 ( enableFastMacCacheFailover = True , <EOL> enableIgmpSnooping = False , <EOL> enableNetworkLoopProtection = True , <EOL> enablePauseFloodProtection = True , <EOL> enableRichTLV = False , <EOL> igmpIdleTimeoutInterval = <NUM_LIT> , <EOL> macRefreshInterval = <NUM_LIT:5> ) : <EOL> return { <EOL> '<STR_LIT>' : enableFastMacCacheFailover , <EOL> '<STR_LIT>' : enableIgmpSnooping , <EOL> '<STR_LIT>' : enableNetworkLoopProtection , <EOL> '<STR_LIT>' : enablePauseFloodProtection , <EOL> '<STR_LIT>' : igmpIdleTimeoutInterval , <EOL> '<STR_LIT>' : macRefreshInterval , <EOL> '<STR_LIT:type>' : '<STR_LIT>' <EOL> } <EOL> def make_trapdestinations_dict ( trapDestination , <EOL> communityString = '<STR_LIT>' , <EOL> enetTrapCategories = [ '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ] , <EOL> fcTrapCategories = [ '<STR_LIT>' , '<STR_LIT>' ] , <EOL> trapFormat = '<STR_LIT>' , <EOL> trapSeverities = [ '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ] , <EOL> vcmTrapCategories = [ '<STR_LIT>' ] ) : <EOL> return { <EOL> '<STR_LIT>' : trapDestination , <EOL> '<STR_LIT>' : communityString , <EOL> '<STR_LIT>' : enetTrapCategories , <EOL> '<STR_LIT>' : fcTrapCategories , <EOL> '<STR_LIT>' : trapFormat , <EOL> '<STR_LIT>' : trapSeverities , <EOL> '<STR_LIT>' : vcmTrapCategories <EOL> } <EOL> def make_snmpconfiguration_dict ( enabled = False , <EOL> readCommunity = '<STR_LIT>' , <EOL> snmpAccess = [ ] , <EOL> systemContact = None , <EOL> trapDestinations = [ ] ) : <EOL> return { <EOL> '<STR_LIT>' : enabled , <EOL> '<STR_LIT>' : readCommunity , <EOL> '<STR_LIT>' : snmpAccess , <EOL> '<STR_LIT>' : systemContact , <EOL> '<STR_LIT>' : trapDestinations , <EOL> } <EOL> def set_iobay_occupancy ( switchMap , bays , stype ) : <EOL> for location in switchMap [ '<STR_LIT>' ] : <EOL> entries = location [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> if [ x for x in entries if x [ '<STR_LIT:type>' ] == '<STR_LIT>' and x [ '<STR_LIT>' ] <EOL> in bays ] : <EOL> location [ '<STR_LIT>' ] = stype <EOL> def get_iobay_entry ( interconnectMap , bay ) : <EOL> if not interconnectMap : <EOL> return <EOL> for iobay_entry in interconnectMap [ '<STR_LIT>' ] : <EOL> entries = iobay_entry [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> for entry in entries : <EOL> if entry [ '<STR_LIT:type>' ] == '<STR_LIT>' : <EOL> if bay == entry [ '<STR_LIT>' ] : <EOL> return iobay_entry <EOL> def make_UplinkSetGroupV2 ( name , <EOL> ethernetNetworkType = '<STR_LIT>' , <EOL> lacpTimer = '<STR_LIT>' , <EOL> logicalPortConfigInfos = [ ] , <EOL> mode = '<STR_LIT>' , <EOL> nativeNetworkUri = None , <EOL> networkType = '<STR_LIT>' , <EOL> networkUris = [ ] ) : <EOL> if networkType == '<STR_LIT>' : <EOL> return { '<STR_LIT:name>' : name , <EOL> '<STR_LIT>' : ethernetNetworkType , <EOL> '<STR_LIT>' : lacpTimer , <EOL> '<STR_LIT>' : networkUris , <EOL> '<STR_LIT>' : networkType , <EOL> '<STR_LIT>' : mode , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : logicalPortConfigInfos , <EOL> '<STR_LIT>' : nativeNetworkUri , <EOL> } <EOL> if networkType == '<STR_LIT>' : <EOL> return { '<STR_LIT:name>' : name , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : networkUris , <EOL> '<STR_LIT>' : logicalPortConfigInfos , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : mode , <EOL> } <EOL> raise Exception ( '<STR_LIT>' ) <EOL> def make_port_config_info ( enclosure , bay , port , speed = '<STR_LIT>' ) : <EOL> return { '<STR_LIT>' : { <EOL> '<STR_LIT>' : <EOL> [ { '<STR_LIT:type>' : '<STR_LIT>' , '<STR_LIT>' : enclosure } , <EOL> { '<STR_LIT:type>' : '<STR_LIT>' , '<STR_LIT>' : bay } , <EOL> { '<STR_LIT:type>' : '<STR_LIT>' , '<STR_LIT>' : port } ] <EOL> } , <EOL> '<STR_LIT>' : speed <EOL> } <EOL> def make_EnclosureGroupV200 ( associatedLIGs , name , <EOL> powerMode = '<STR_LIT>' ) : <EOL> """<STR_LIT>""" <EOL> ligUri = associatedLIGs [ '<STR_LIT>' ] <EOL> icms = associatedLIGs [ '<STR_LIT>' ] [ '<STR_LIT>' ] <EOL> ligs = [ ] <EOL> for N in range ( <NUM_LIT:1> , <NUM_LIT:9> ) : <EOL> if N > len ( icms ) : <EOL> ligs . append ( { '<STR_LIT>' : N , <EOL> '<STR_LIT>' : None } ) <EOL> else : <EOL> ligs . append ( { '<STR_LIT>' : N , <EOL> '<STR_LIT>' : ligUri } ) <EOL> return { <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : powerMode , <EOL> '<STR_LIT>' : <NUM_LIT:1> , <EOL> '<STR_LIT>' : "<STR_LIT>" , <EOL> '<STR_LIT>' : <NUM_LIT:8> , <EOL> '<STR_LIT>' : ligs <EOL> } <EOL> def make_enclosure_dict ( host , user , passwd , egroup , state = "<STR_LIT>" , <EOL> licenseIntent = '<STR_LIT>' , <EOL> firmwareBaseLineUri = None , force = False , forcefw = False ) : <EOL> return { <EOL> '<STR_LIT>' : host , <EOL> '<STR_LIT:username>' : user , <EOL> '<STR_LIT:password>' : passwd , <EOL> '<STR_LIT>' : force , <EOL> '<STR_LIT>' : egroup , <EOL> '<STR_LIT>' : firmwareBaseLineUri , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : forcefw , <EOL> '<STR_LIT:state>' : state , <EOL> '<STR_LIT>' : licenseIntent } <EOL> def make_monitored_enclosure_dict ( host , user , passwd , state = '<STR_LIT>' , <EOL> licenseIntent = '<STR_LIT>' , force = False ) : <EOL> return { <EOL> '<STR_LIT>' : host , <EOL> '<STR_LIT:username>' : user , <EOL> '<STR_LIT:password>' : passwd , <EOL> '<STR_LIT>' : force , <EOL> '<STR_LIT:state>' : state , <EOL> '<STR_LIT>' : licenseIntent } <EOL> def make_storage_system_dict ( mdom , udom , mports , uports ) : <EOL> return { <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : mdom , <EOL> '<STR_LIT>' : udom [ : ] , <EOL> '<STR_LIT>' : mports [ : ] , <EOL> '<STR_LIT>' : uports [ : ] , <EOL> } <EOL> def make_ProfileConnectionV4 ( cid , name , networkUri , profileTemplateConnection , <EOL> connectionBoot = None , functionType = '<STR_LIT>' , <EOL> mac = None , macType = '<STR_LIT>' , portId = '<STR_LIT>' , <EOL> requestedMbps = None , wwnn = None , wwpn = None , <EOL> wwpnType = '<STR_LIT>' ) : <EOL> """<STR_LIT>""" <EOL> if profileTemplateConnection : <EOL> return { <EOL> '<STR_LIT>' : connectionBoot , <EOL> '<STR_LIT>' : functionType , <EOL> '<STR_LIT:id>' : cid , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT>' : networkUri , <EOL> '<STR_LIT>' : portId , <EOL> '<STR_LIT>' : requestedMbps , <EOL> } <EOL> else : <EOL> return { <EOL> '<STR_LIT>' : connectionBoot , <EOL> '<STR_LIT>' : functionType , <EOL> '<STR_LIT:id>' : cid , <EOL> '<STR_LIT>' : mac , <EOL> '<STR_LIT>' : macType , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT>' : networkUri , <EOL> '<STR_LIT>' : portId , <EOL> '<STR_LIT>' : requestedMbps , <EOL> '<STR_LIT>' : wwnn , <EOL> '<STR_LIT>' : wwpn , <EOL> '<STR_LIT>' : wwpnType , <EOL> } <EOL> def make_ConnectionBoot ( priority = '<STR_LIT>' , <EOL> arrayWwpn = None , <EOL> lun = None ) : <EOL> """<STR_LIT>""" <EOL> if arrayWwpn is None and lun is None : <EOL> return { <EOL> '<STR_LIT>' : priority } <EOL> else : <EOL> return { <EOL> '<STR_LIT>' : priority , <EOL> '<STR_LIT>' : make_BootTarget ( arrayWwpn , lun ) } <EOL> def make_BootTarget ( arrayWwpn = None , lun = None ) : <EOL> """<STR_LIT>""" <EOL> return [ { '<STR_LIT>' : arrayWwpn , <EOL> '<STR_LIT>' : lun } ] <EOL> def make_ServerProfileTemplateV1 ( name = None , <EOL> description = None , <EOL> serverProfileDescription = None , <EOL> serverHardwareTypeUri = None , <EOL> enclosureGroupUri = None , <EOL> affinity = None , <EOL> hideUnusedFlexNics = None , <EOL> profileConnectionV4 = None , <EOL> firmwareSettingsV3 = None , <EOL> bootSettings = None , <EOL> bootModeSetting = None ) : <EOL> """<STR_LIT>""" <EOL> return { <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:description>' : description , <EOL> '<STR_LIT>' : serverProfileDescription , <EOL> '<STR_LIT>' : serverHardwareTypeUri , <EOL> '<STR_LIT>' : enclosureGroupUri , <EOL> '<STR_LIT>' : affinity , <EOL> '<STR_LIT>' : hideUnusedFlexNics , <EOL> '<STR_LIT>' : profileConnectionV4 , <EOL> '<STR_LIT>' : firmwareSettingsV3 , <EOL> '<STR_LIT>' : bootSettings , <EOL> '<STR_LIT>' : bootModeSetting , <EOL> } <EOL> def make_ServerProfileV5 ( affinity = '<STR_LIT>' , <EOL> biosSettings = None , <EOL> bootSettings = None , <EOL> bootModeSetting = None , <EOL> profileConnectionV4 = None , <EOL> description = None , <EOL> firmwareSettingsV3 = None , <EOL> hideUnusedFlexNics = True , <EOL> localStorageSettingsV3 = None , <EOL> macType = '<STR_LIT>' , <EOL> name = None , <EOL> sanStorageV3 = None , <EOL> serialNumber = None , <EOL> serialNumberType = '<STR_LIT>' , <EOL> serverHardwareTypeUri = None , <EOL> serverHardwareUri = None , <EOL> serverProfileTemplateUri = None , <EOL> uuid = None , <EOL> wwnType = '<STR_LIT>' ) : <EOL> """<STR_LIT>""" <EOL> return { <EOL> '<STR_LIT>' : affinity , <EOL> '<STR_LIT>' : biosSettings , <EOL> '<STR_LIT>' : bootSettings , <EOL> '<STR_LIT>' : bootModeSetting , <EOL> '<STR_LIT>' : profileConnectionV4 , <EOL> '<STR_LIT:description>' : description , <EOL> '<STR_LIT>' : firmwareSettingsV3 , <EOL> '<STR_LIT>' : hideUnusedFlexNics , <EOL> '<STR_LIT>' : localStorageSettingsV3 , <EOL> '<STR_LIT>' : macType , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT>' : sanStorageV3 , <EOL> '<STR_LIT>' : serialNumber , <EOL> '<STR_LIT>' : serialNumberType , <EOL> '<STR_LIT>' : serverHardwareTypeUri , <EOL> '<STR_LIT>' : serverHardwareUri , <EOL> '<STR_LIT>' : serverProfileTemplateUri , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : uuid , <EOL> '<STR_LIT>' : wwnType <EOL> } <EOL> def make_FirmwareSettingsV3 ( firmwareUri , <EOL> firmwareInstallType , <EOL> manageFirmware = True , <EOL> forceInstallFirmware = False ) : <EOL> """<STR_LIT>""" <EOL> return { '<STR_LIT>' : firmwareUri , <EOL> '<STR_LIT>' : manageFirmware , <EOL> '<STR_LIT>' : forceInstallFirmware <EOL> } <EOL> def make_BiosSettings ( manageBios = True , overriddenSettings = [ ] ) : <EOL> return { '<STR_LIT>' : manageBios , <EOL> '<STR_LIT>' : overriddenSettings <EOL> } <EOL> def make_BootSettings ( order , manageBoot = False ) : <EOL> """<STR_LIT>""" <EOL> return { '<STR_LIT>' : manageBoot , <EOL> '<STR_LIT>' : order <EOL> } <EOL> def make_BootModeSetting ( manageMode , mode , pxeBootPolicy ) : <EOL> """<STR_LIT>""" <EOL> return { '<STR_LIT>' : manageMode , <EOL> '<STR_LIT>' : mode , <EOL> '<STR_LIT>' : pxeBootPolicy <EOL> } <EOL> def make_LocalStorageSettingsV3 ( controllers ) : <EOL> """<STR_LIT>""" <EOL> return { '<STR_LIT>' : controllers } <EOL> def make_LocalStorageEmbeddedController ( importConfiguration , initialize , <EOL> LogicalDrives , managed , mode , <EOL> slotNumber = '<STR_LIT:0>' ) : <EOL> """<STR_LIT>""" <EOL> def make_LogicalDriveV3 ( bootable , driveName , driveTechnology , <EOL> numPhysicalDrives , raidLevel ) : <EOL> """<STR_LIT>""" <EOL> return { '<STR_LIT>' : bootable , <EOL> '<STR_LIT>' : driveName , <EOL> '<STR_LIT>' : driveTechnology , <EOL> '<STR_LIT>' : numPhysicalDrives , <EOL> '<STR_LIT>' : raidLevel <EOL> } <EOL> def make_SanStorageV3 ( hostOSType , manageSanStorage , volumeAttachments ) : <EOL> """<STR_LIT>""" <EOL> return { '<STR_LIT>' : hostOSType , <EOL> '<STR_LIT>' : manageSanStorage , <EOL> '<STR_LIT>' : [ volumeAttachments ] , <EOL> } <EOL> def make_VolumeAttachmentV2 ( lun = None , <EOL> lunType = '<STR_LIT>' , <EOL> permanent = False , <EOL> storagePaths = [ ] , <EOL> volumeName = None , <EOL> volumeProvisionType = '<STR_LIT>' , <EOL> volumeProvisionedCapacityBytes = None , <EOL> volumeShareable = False , <EOL> volumeStoragePoolUri = None , <EOL> volumeStorageSystemUri = None , <EOL> volumeUri = None ) : <EOL> """<STR_LIT>""" <EOL> if volumeProvisionedCapacityBytes : <EOL> volAttach = { '<STR_LIT:id>' : None , <EOL> '<STR_LIT>' : lunType , <EOL> '<STR_LIT>' : permanent , <EOL> '<STR_LIT>' : volumeName , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : volumeProvisionType , <EOL> '<STR_LIT>' : volumeProvisionedCapacityBytes , <EOL> '<STR_LIT>' : volumeShareable , <EOL> '<STR_LIT>' : volumeStoragePoolUri , <EOL> '<STR_LIT>' : None , <EOL> '<STR_LIT>' : storagePaths , <EOL> } <EOL> else : <EOL> volAttach = { '<STR_LIT:id>' : None , <EOL> '<STR_LIT>' : lunType , <EOL> '<STR_LIT>' : volumeUri , <EOL> '<STR_LIT>' : volumeStoragePoolUri , <EOL> '<STR_LIT>' : volumeStorageSystemUri , <EOL> '<STR_LIT>' : storagePaths , <EOL> } <EOL> if lunType == '<STR_LIT>' : <EOL> volAttach [ '<STR_LIT>' ] = lun <EOL> return volAttach <EOL> def make_ephemeral_volume_dict ( lun , lunType , volumeUri , volumeStoragePoolUri , <EOL> volumeStorageSystemUri , storagePaths , <EOL> permanent = True , volumeId = None ) : <EOL> return { '<STR_LIT:id>' : volumeId , <EOL> '<STR_LIT>' : lun , <EOL> '<STR_LIT>' : lunType , <EOL> '<STR_LIT>' : volumeUri , <EOL> '<STR_LIT>' : volumeStoragePoolUri , <EOL> '<STR_LIT>' : volumeStorageSystemUri , <EOL> '<STR_LIT>' : storagePaths , <EOL> } <EOL> def make_StoragePathV2 ( connectionId = None , isEnabled = True , <EOL> storageTargetType = '<STR_LIT>' , storageTargets = [ ] ) : <EOL> """<STR_LIT>""" <EOL> return { '<STR_LIT>' : connectionId , <EOL> '<STR_LIT>' : isEnabled , <EOL> '<STR_LIT>' : storageTargetType , <EOL> '<STR_LIT>' : storageTargets <EOL> } <EOL> def make_powerstate_dict ( state , control ) : <EOL> return { '<STR_LIT>' : state , <EOL> '<STR_LIT>' : control } <EOL> def make_server_type_dict ( name , description ) : <EOL> return { '<STR_LIT:name>' : name , <EOL> '<STR_LIT:description>' : description } <EOL> def make_ls_firmware_dict ( action , sppUri , force = '<STR_LIT:true>' ) : <EOL> return { '<STR_LIT>' : action , '<STR_LIT>' : sppUri , '<STR_LIT>' : force } <EOL> def make_eula_dict ( supportAccess ) : <EOL> return { '<STR_LIT>' : supportAccess } <EOL> def make_initial_password_change_dict ( userName , oldPassword , newPassword ) : <EOL> return { <EOL> '<STR_LIT>' : userName , <EOL> '<STR_LIT>' : oldPassword , <EOL> '<STR_LIT>' : newPassword } <EOL> def make_appliance_network_config_dict ( hostName , <EOL> macAddress , <EOL> newApp1Ipv4Addr = None , <EOL> newIpv4Subnet = None , <EOL> newIpv4Gateway = None , <EOL> newSearchDomain1 = None , <EOL> newSearchDomain2 = None , <EOL> ipv4Type = '<STR_LIT>' , <EOL> ipv6Type = '<STR_LIT>' ) : <EOL> if ipv4Type == '<STR_LIT>' : <EOL> return { '<STR_LIT>' : [ { <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : hostName , <EOL> '<STR_LIT>' : macAddress , <EOL> '<STR_LIT>' : ipv4Type , <EOL> '<STR_LIT>' : ipv6Type } ] <EOL> } <EOL> if ipv4Type == '<STR_LIT>' : <EOL> return { <EOL> '<STR_LIT>' : [ { <EOL> '<STR_LIT>' : True , <EOL> '<STR_LIT>' : hostName , <EOL> '<STR_LIT>' : macAddress , <EOL> '<STR_LIT>' : ipv4Type , <EOL> '<STR_LIT>' : ipv6Type , <EOL> '<STR_LIT>' : newApp1Ipv4Addr , <EOL> '<STR_LIT>' : newIpv4Subnet , <EOL> '<STR_LIT>' : newIpv4Gateway , <EOL> '<STR_LIT>' : [ ] <EOL> } ] <EOL> } <EOL> raise Exception ( '<STR_LIT>' ) <EOL> def make_audit_log_dict ( dateTimeStamp = '<STR_LIT>' , <EOL> componentId = '<STR_LIT>' , <EOL> organizationId = '<STR_LIT>' , <EOL> userId = '<STR_LIT>' , <EOL> domain = '<STR_LIT>' , <EOL> sourceIp = '<STR_LIT>' , <EOL> result = '<STR_LIT>' , <EOL> action = '<STR_LIT>' , <EOL> objectType = '<STR_LIT>' , <EOL> objectTypeDescriptor = '<STR_LIT>' , <EOL> severity = '<STR_LIT>' , <EOL> taskId = '<STR_LIT>' , <EOL> msg = '<STR_LIT>' ) : <EOL> return { <EOL> '<STR_LIT>' : componentId , <EOL> '<STR_LIT>' : organizationId , <EOL> '<STR_LIT>' : userId , <EOL> '<STR_LIT>' : domain , <EOL> '<STR_LIT>' : sourceIp , <EOL> '<STR_LIT:result>' : result , <EOL> '<STR_LIT:action>' : action , <EOL> '<STR_LIT>' : objectType , <EOL> '<STR_LIT>' : objectTypeDescriptor , <EOL> '<STR_LIT>' : severity , <EOL> '<STR_LIT>' : taskId , <EOL> '<STR_LIT>' : msg } <EOL> def make_event_dict ( severity = '<STR_LIT>' , <EOL> description = '<STR_LIT>' , <EOL> eventTypeID = '<STR_LIT>' , <EOL> eventDetails = None , <EOL> healthCategory = '<STR_LIT:None>' , <EOL> urgency = '<STR_LIT:None>' ) : <EOL> return { <EOL> '<STR_LIT>' : severity , <EOL> '<STR_LIT:description>' : description , <EOL> '<STR_LIT>' : eventTypeID , <EOL> '<STR_LIT>' : eventDetails , <EOL> '<STR_LIT>' : healthCategory , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : urgency } <EOL> def make_event_detail_dict ( eventItemName = '<STR_LIT>' , <EOL> eventItemValue = '<STR_LIT>' ) : <EOL> return { <EOL> '<STR_LIT>' : eventItemName , <EOL> '<STR_LIT>' : eventItemValue } <EOL> def make_user_modify_dict ( userName , <EOL> password = None , <EOL> currentPassword = None , <EOL> replaceRoles = None , <EOL> roles = None , <EOL> emailAddress = None , <EOL> officePhone = None , <EOL> mobilePhone = None , <EOL> enabled = None , <EOL> fullName = None ) : <EOL> userDict = { '<STR_LIT>' : userName } <EOL> if password is not None and currentPassword is not None : <EOL> userDict [ '<STR_LIT:password>' ] = password <EOL> userDict [ '<STR_LIT>' ] = currentPassword <EOL> if replaceRoles is not None : <EOL> userDict [ '<STR_LIT>' ] = replaceRoles <EOL> if roles is not None : <EOL> userDict [ '<STR_LIT>' ] = roles <EOL> if emailAddress is not None : <EOL> userDict [ '<STR_LIT>' ] = emailAddress <EOL> if officePhone is not None : <EOL> userDict [ '<STR_LIT>' ] = officePhone <EOL> if mobilePhone is not None : <EOL> userDict [ '<STR_LIT>' ] = mobilePhone <EOL> if enabled is not None : <EOL> userDict [ '<STR_LIT>' ] = enabled <EOL> if fullName is not None : <EOL> userDict [ '<STR_LIT>' ] = fullName <EOL> return userDict <EOL> def make_update_alert_dict ( alertState = None , <EOL> assignedToUser = None , <EOL> eTag = None ) : <EOL> alertDict = { } <EOL> if alertState is not None : <EOL> alertDict [ '<STR_LIT>' ] = alertState <EOL> if assignedToUser is not None : <EOL> alertDict [ '<STR_LIT>' ] = assignedToUser <EOL> if eTag is not None : <EOL> alertDict [ '<STR_LIT>' ] = eTag <EOL> return alertDict <EOL> def make_server_dict ( hostname , <EOL> username , <EOL> password , <EOL> force = False , <EOL> licensingIntent = '<STR_LIT>' , <EOL> configurationState = '<STR_LIT>' ) : <EOL> return { <EOL> '<STR_LIT>' : hostname , <EOL> '<STR_LIT:username>' : username , <EOL> '<STR_LIT:password>' : password , <EOL> '<STR_LIT>' : force , <EOL> '<STR_LIT>' : licensingIntent , <EOL> '<STR_LIT>' : configurationState } <EOL> def make_rack_dict ( name , sn , thermal , height , depth , width , uheight ) : <EOL> return { <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT>' : sn , <EOL> '<STR_LIT>' : thermal , <EOL> '<STR_LIT>' : height , <EOL> '<STR_LIT>' : depth , <EOL> '<STR_LIT:width>' : width , <EOL> '<STR_LIT>' : uheight } <EOL> def make_datacenter_dict ( name , coolingCapacity , coolingMultiplier , currency , <EOL> costPerKilowattHour , defaultPowerLineVoltage , <EOL> width , depth , deratingType , deratingPercentage ) : <EOL> return { <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT>' : coolingCapacity , <EOL> '<STR_LIT>' : coolingMultiplier , <EOL> '<STR_LIT>' : currency , <EOL> '<STR_LIT>' : costPerKilowattHour , <EOL> '<STR_LIT>' : defaultPowerLineVoltage , <EOL> '<STR_LIT>' : depth , <EOL> '<STR_LIT:width>' : width , <EOL> '<STR_LIT>' : deratingType , <EOL> '<STR_LIT>' : deratingPercentage , <EOL> '<STR_LIT>' : [ ] } <EOL> def make_powerdevice_dict ( name , deviceType , feedIdentifier , lineVoltage , <EOL> model , partNumber , phaseType , ratedCapacity , <EOL> serialNumber ) : <EOL> return { <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT>' : deviceType , <EOL> '<STR_LIT>' : feedIdentifier , <EOL> '<STR_LIT>' : lineVoltage , <EOL> '<STR_LIT>' : model , <EOL> '<STR_LIT>' : partNumber , <EOL> '<STR_LIT>' : phaseType , <EOL> '<STR_LIT>' : ratedCapacity , <EOL> '<STR_LIT>' : serialNumber } <EOL> def make_alertMap_dict ( notes , etag , state = '<STR_LIT>' , user = '<STR_LIT:None>' , <EOL> urgency = '<STR_LIT:None>' ) : <EOL> return { <EOL> '<STR_LIT>' : state , <EOL> '<STR_LIT>' : user , <EOL> '<STR_LIT>' : urgency , <EOL> '<STR_LIT>' : notes , <EOL> '<STR_LIT>' : etag <EOL> } <EOL> class pages ( object ) : <EOL> def __init__ ( self , page , connection ) : <EOL> self . _con = connection <EOL> self . currentPage = page <EOL> def __iter__ ( self ) : <EOL> return self <EOL> def __next__ ( self ) : <EOL> if self . _con . _nextPage is not None : <EOL> self . currentPage = self . _con . getNextPage ( ) <EOL> return self . currentPage <EOL> else : <EOL> raise StopIteration </s>
