How To Create a Sync VM Job Programmatically

Overview

This article will provide an example for how to kick off a Sync VM Job programmatically.

Considerations

The example below creates a Sync Job for every VMware vCenter Resource Handler, but this can be adjusted to one specific Resource Handler as needed.

Example

from common.methods import set_progress
from utilities.management.commands.sync_vms_from_rh import create_pending_sync_job
from resourcehandlers.models import ResourceHandler

def run(job, *args, **kwargs):
    resource_handlers = ResourceHandler.objects.filter(resource_technology__name='VMware vCenter')
    for rh in resource_handlers:
        sync_job = create_pending_sync_job(rh.name)
        sync_job.parent_job = job
        sync_job.save()
    job.wait_for_sub_jobs()
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.