update
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/python
|
||||
import sys,argparse,json,time
|
||||
import time
|
||||
sys.path.insert(0, './classes/')
|
||||
|
||||
import cohesityAPI as cohesity
|
||||
|
||||
def GetArgs():
|
||||
parser = argparse.ArgumentParser(add_help=False)
|
||||
parser.add_argument('--cluster', '-c', type=str, action='store')
|
||||
parser.add_argument('--help', '-h', action='store_true')
|
||||
return (parser.parse_args())
|
||||
|
||||
def PrintHelp():
|
||||
print("\nBasic Usage:")
|
||||
print("\n python3 cancelJobs.py -c cluster1.domain.tld" )
|
||||
print("\t -c FQDN of Cohesity cluster address")
|
||||
print("\t -h Prints this help message")
|
||||
|
||||
|
||||
args = GetArgs()
|
||||
|
||||
if arg.help:
|
||||
PrintHelp()
|
||||
exit(1)
|
||||
|
||||
# Validate arguments & assign variables if necessary
|
||||
if not args.cluster:
|
||||
sys.exit("Error: Specify a Cohesity cluster fqdn with -c parameter.")
|
||||
|
||||
# Connect to the Cohesity cluster
|
||||
cluster = cohesity.API(args.cluster)
|
||||
authToken = cluster.GetAuthToken()
|
||||
cluster.UpdateHeaders(authToken['accessToken'])
|
||||
|
||||
vmJobs = cluster.GetFilteredRequest("/public/protectionJobs", "?environments=kVMware")
|
||||
uniqueJobs = {job['id'] : job for job in vmJobs}.values()
|
||||
|
||||
# Non Running states
|
||||
finStates = ['kCanceled', 'kSuccess', 'kFailure', 'kWarning']
|
||||
|
||||
for job in uniqueJobs:
|
||||
if 'isDeleted' in job:
|
||||
continue
|
||||
if 'isPaused' in job:
|
||||
continue
|
||||
|
||||
# Get running protections per vmware protection job id, most recent is returned
|
||||
run = cluster.GetFilteredRequest("/public/protectionRuns","?numRuns=10&jobId=" + str(job['id']))
|
||||
|
||||
if run[0]['backupRun']['status'] not in finStates:
|
||||
# Cancel the running protection job
|
||||
resp = cluster.CancelJob(job['id'],run[0]['backupRun']['jobRunId'])
|
||||
|
||||
# Print the response
|
||||
print(resp.content)
|
||||
|
||||
Reference in New Issue
Block a user