class ESXVirtualMachineDiskSchemaItem(ComplexSchemaItem): """ Configuration Schema Item for ESX Virtual Machine Disk """ title = "ESX Virtual Machine Disk Configuration" description = "ESX virtual machine disk properties" required = True size = NumberItem(title="Disk size", description="Size of the disk in GB", required=True) unit = StringItem( title="Disk size unit", description=( "Unit of the disk size, to VMware a GB is the same as GiB = 1024MiB" ), required=False, default="GB", enum=("KB", "MB", "GB"), ) adapter = StringItem( title="Virtual Machine Adapter Name", description=("Unique adapter name for virtual machine " "for creation an arbitrary value should be specified"), required=True, ) filename = StringItem( title="Virtual Machine Disk File", description="File name of the virtual machine vmdk", ) datastore = StringItem( title="Virtual Machine Disk Datastore", description= "Disk datastore where the virtual machine files will be placed", required=True, ) address = StringItem( title="Virtual Machine SCSI Address", description="Address of the SCSI adapter for the virtual machine", pattern=r"\d:\d", ) thin_provision = BooleanItem( title="Virtual Machine Disk Provision Type", description="Provision type of the disk", default=True, required=False, ) eagerly_scrub = AnyOfItem(required=False, items=[BooleanItem(), NullItem()]) controller = StringItem( title="Virtual Machine SCSI Adapter", description="Name of the SCSI adapter where the disk will be connected", required=True, )
class ESXVirtualMachineRemoveSchema(DefinitionsSchema): ''' Remove Schema for ESX Virtual Machines to delete or unregister virtual machines ''' name = StringItem(title='Virtual Machine name', description='Name of the virtual machine', required=True) datacenter = StringItem(title='Virtual Machine Datacenter', description='Datacenter of the virtual machine', required=True) placement = AnyOfItem( required=False, items=[ESXVirtualMachinePlacementSchemaItem(), NullItem()]) power_off = BooleanItem(title='Power off vm', description='Power off vm before delete operation', required=False)
class ESXVirtualMachineDiskSchemaItem(ComplexSchemaItem): ''' Configuration Schema Item for ESX Virtual Machine Disk ''' title = 'ESX Virtual Machine Disk Configuration' description = 'ESX virtual machine disk properties' required = True size = NumberItem(title='Disk size', description='Size of the disk in GB', required=True) unit = StringItem(title='Disk size unit', description='Unit of the disk size, to VMware a ' 'GB is the same as GiB = 1024MiB', required=False, default='GB', enum=('KB', 'MB', 'GB')) adapter = StringItem(title='Virtual Machine Adapter Name', description='Unique adapter name for virtual machine' 'for creation an arbitrary value should be specified', required=True) filename = StringItem(title='Virtual Machine Disk File', description='File name of the virtual machine vmdk') datastore = StringItem( title='Virtual Machine Disk Datastore', description= 'Disk datastore where the virtual machine files will be placed', required=True) address = StringItem( title='Virtual Machine SCSI Address', description='Address of the SCSI adapter for the virtual machine', pattern=r'\d:\d') thin_provision = BooleanItem(title='Virtual Machine Disk Provision Type', description='Provision type of the disk', default=True, required=False) eagerly_scrub = AnyOfItem(required=False, items=[BooleanItem(), NullItem()]) controller = StringItem( title='Virtual Machine SCSI Adapter', description='Name of the SCSI adapter where the disk will be connected', required=True)
class ESXVirtualMachineRemoveSchema(DefinitionsSchema): """ Remove Schema for ESX Virtual Machines to delete or unregister virtual machines """ name = StringItem( title="Virtual Machine name", description="Name of the virtual machine", required=True, ) datacenter = StringItem( title="Virtual Machine Datacenter", description="Datacenter of the virtual machine", required=True, ) placement = AnyOfItem( required=False, items=[ESXVirtualMachinePlacementSchemaItem(), NullItem()] ) power_off = BooleanItem( title="Power off vm", description="Power off vm before delete operation", required=False, )