Created
June 7, 2012 18:58
-
-
Save grzn/2890811 to your computer and use it in GitHub Desktop.
infi.pyvisdk Task facade API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from infi.pyvisdk import Vim | |
client = Vim() | |
managed_object = client.getHostSystems()[0] | |
def some_vmware_op() | |
# This does something with the host | |
raise NotImplementedError() | |
def simple_operation(): | |
task_manager = client.get_task_manager() | |
with task_manager.task(managed_object, 'this is what I am going to do', 'com.infinidat.myapp'): | |
some_vmware_op() | |
def another_operation() | |
task_manager = client.get_task_manager() | |
task = task_manager.task(managed_object, 'doing this', 'com.infinidat.app') | |
op = task.wraps(some_vmware_op) | |
op() | |
def complex_operationg(): | |
task_manager = client.get_task_manager() | |
with task_manager.task(managed_object, 'doing something complex', 'com.infinidat.myapp') as task: | |
some_vmware_op() | |
task.update_progress(50) | |
some_vmware_op() | |
task.update_progress(100) | |
def another_complex_operation(): | |
task_manager = client.get_task_manager() | |
with task_manager.task(managed_object, 'complex op', 'com.infinidat.myapp') as task: | |
task.step(some_vmware_op, some_vmware_op, some_vmware_op) | |
def nested_operations(): | |
client = self.get_client() | |
task_manager = client.get_task_manager() | |
with task_manager.task(managed_object, 'doing this', 'com.infinidat.myapp') as parent: | |
with task_manager.task(managed_object, "and this", 'com.infinifdat.myapp', parent=parent): | |
some_vmware_op() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment