@@ -75,40 +75,55 @@ def configure_server(vm_client, ctx, **_):
7575@decorators .with_vcd_client ()
7676@decorators .with_vm_resource ()
7777def power_off_vapp (vm_client , ctx , ** _ ):
78- return vapp_tasks ._power_off_vapp (
79- vapp_ext = False ,
80- vapp_id = vm_client .name ,
81- vapp_client = vm_client .vapp_object .connection ,
82- vm_vdc = vm_client .vdc_name ,
83- vapp_config = vm_client .kwargs ,
84- vapp_class = VCloudvApp ,
85- __ = ctx )
78+ if not skip (type (vm_client .vapp_object ),
79+ vm_client .vapp_object .name ,
80+ ctx ,
81+ exists = vm_client .vapp_object .exists ,
82+ delete_operation = True ):
83+ return vapp_tasks ._power_off_vapp (
84+ vapp_ext = False ,
85+ vapp_id = vm_client .name ,
86+ vapp_client = vm_client .vapp_object .connection ,
87+ vapp_vdc = vm_client .vdc_name ,
88+ vapp_config = vm_client .kwargs ,
89+ vapp_class = VCloudvApp ,
90+ __ = ctx )
8691
8792
8893@decorators .with_vcd_client ()
8994@decorators .with_vm_resource ()
9095def stop_vapp (vm_client , ctx , ** _ ):
91- return vapp_tasks ._stop_vapp (
92- vapp_ext = False ,
93- vapp_id = vm_client .name ,
94- vapp_client = vm_client .vapp_object .connection ,
95- vm_vdc = vm_client .vdc_name ,
96- vapp_config = vm_client .kwargs ,
97- vapp_class = VCloudvApp ,
98- __ = ctx )
96+ if not skip (type (vm_client .vapp_object ),
97+ vm_client .vapp_object .name ,
98+ ctx ,
99+ exists = vm_client .vapp_object .exists ,
100+ delete_operation = True ):
101+ return vapp_tasks ._stop_vapp (
102+ vapp_ext = False ,
103+ vapp_id = vm_client .name ,
104+ vapp_client = vm_client .vapp_object .connection ,
105+ vapp_vdc = vm_client .vdc_name ,
106+ vapp_config = vm_client .kwargs ,
107+ vapp_class = VCloudvApp ,
108+ __ = ctx )
99109
100110
101111@decorators .with_vcd_client ()
102112@decorators .with_vm_resource ()
103113def delete_vapp (vm_client , ctx , ** _ ):
104- return vapp_tasks ._delete_vapp (
105- vapp_ext = False ,
106- vapp_id = vm_client .name ,
107- vapp_client = vm_client .vapp_object .connection ,
108- vm_vdc = vm_client .vdc_name ,
109- vapp_config = vm_client .kwargs ,
110- vapp_class = VCloudvApp ,
111- __ = ctx )
114+ if not skip (type (vm_client .vapp_object ),
115+ vm_client .vapp_object .name ,
116+ ctx ,
117+ exists = vm_client .vapp_object .exists ,
118+ delete_operation = True ):
119+ return vapp_tasks ._delete_vapp (
120+ vapp_ext = False ,
121+ vapp_id = vm_client .name ,
122+ vapp_client = vm_client .vapp_object .connection ,
123+ vapp_vdc = vm_client .vdc_name ,
124+ vapp_config = vm_client .kwargs ,
125+ vapp_class = VCloudvApp ,
126+ __ = ctx )
112127
113128
114129@decorators .with_vcd_client ()
0 commit comments