Saturday, October 25, 2014

Tips: Opsware API : Creating a Policy

import sys
import getopt
import string
 
sys.path.append('/opt/opsware/smopylibs2')
sys.path.append('/opt/opsware/agent_tools/')
import agenttools_common
from pytwist import *
from pytwist.com.opsware.search import Filter
from pytwist.com.opsware.server import ServerRef
import pytwist.com.opsware.script 
from pytwist.com.opsware.script import ScriptVersion

try:
    opts, args = getopt.getopt(sys.argv[1:],
                               'u:p:s:d:' ,
                               ['username=',
                                'password=',
                                'srcpolicy=',
                                'destination='])
except getopt.GetoptError:
    print("command line error")
    sys.exit(2)

dest = []
dstPath= []
for o, a in opts:
    if o in ('-u', '--username'):
        username = a
    if o in ('-p', '--password'):
        password = a
    if o in ('-s', '--srcpolicy'):       
        srcPolicy = string.split(a, '/')
        if srcPolicy ==['', '']:
            srcPolicy = []
        else:
            srcPath = srcPolicy[1:-1]
    if o in ('-d', '--destination'):
        dest = string.split(a,'/')[1:]
        if dest ==['', '']:
            dstPath = []
        else:
            dstPath = dest              
print dstPath
ts = twistserver.TwistServer()
ts.authenticate(username, password)
folderservice = ts.folder.FolderService

src_folder_ref = folderservice.getFNode(srcPath)
dst_folder_ref =  folderservice.getFNode(dstPath)


No comments: