1
0
mirror of https://github.com/vmware/vsphere-automation-sdk-python.git synced 2024-11-30 04:10:00 -05:00
vsphere-automation-sdk-python/samples/vsphere/vcenter/vm/hardware/main.py

132 lines
5.5 KiB
Python
Raw Normal View History

2016-10-26 19:08:23 -04:00
"""
* *******************************************************
* Copyright (c) VMware, Inc. 2016-2018. All Rights Reserved.
* SPDX-License-Identifier: MIT
2016-10-26 19:08:23 -04:00
* *******************************************************
*
* DISCLAIMER. THIS PROGRAM IS PROVIDED TO YOU "AS IS" WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, WHETHER ORAL OR WRITTEN,
* EXPRESS OR IMPLIED. THE AUTHOR SPECIFICALLY DISCLAIMS ANY IMPLIED
* WARRANTIES OR CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY,
* NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
"""
__author__ = 'VMware, Inc.'
__vcenter_version__ = '6.5+'
import samples.vsphere.vcenter.vm.hardware.adapter.sata
import samples.vsphere.vcenter.vm.hardware.adapter.scsi
import samples.vsphere.vcenter.vm.hardware.boot
import samples.vsphere.vcenter.vm.hardware.boot_device
import samples.vsphere.vcenter.vm.hardware.cdrom
import samples.vsphere.vcenter.vm.hardware.cpu
import samples.vsphere.vcenter.vm.hardware.disk
import samples.vsphere.vcenter.vm.hardware.ethernet
import samples.vsphere.vcenter.vm.hardware.floppy
import samples.vsphere.vcenter.vm.hardware.memory
import samples.vsphere.vcenter.vm.hardware.parallel
import samples.vsphere.vcenter.vm.hardware.serial
from samples.vsphere.vcenter.setup import testbed
from samples.vsphere.vcenter.helper.vm_helper import get_vm
def setup(context):
print('Setup vcenter.vm.hardware Samples Started')
samples.vsphere.vcenter.vm.hardware.cpu.setup(context)
samples.vsphere.vcenter.vm.hardware.memory.setup(context)
samples.vsphere.vcenter.vm.hardware.disk.setup(context)
samples.vsphere.vcenter.vm.hardware.adapter.sata.setup(context)
samples.vsphere.vcenter.vm.hardware.adapter.scsi.setup(context)
samples.vsphere.vcenter.vm.hardware.boot.setup(context)
samples.vsphere.vcenter.vm.hardware.boot_device.setup(context)
samples.vsphere.vcenter.vm.hardware.cdrom.setup(context)
samples.vsphere.vcenter.vm.hardware.ethernet.setup(context)
samples.vsphere.vcenter.vm.hardware.floppy.setup(context)
samples.vsphere.vcenter.vm.hardware.serial.setup(context)
samples.vsphere.vcenter.vm.hardware.parallel.setup(context)
print('Setup vcenter.vm.hardware Samples Complete\n')
def cleanup():
print('Cleanup vcenter.vm.hardware Samples Started')
samples.vsphere.vcenter.vm.hardware.cpu.cleanup()
samples.vsphere.vcenter.vm.hardware.memory.cleanup()
samples.vsphere.vcenter.vm.hardware.disk.cleanup()
samples.vsphere.vcenter.vm.hardware.adapter.sata.cleanup()
samples.vsphere.vcenter.vm.hardware.adapter.scsi.cleanup()
samples.vsphere.vcenter.vm.hardware.boot.cleanup()
samples.vsphere.vcenter.vm.hardware.boot_device.cleanup()
samples.vsphere.vcenter.vm.hardware.cdrom.cleanup()
samples.vsphere.vcenter.vm.hardware.ethernet.cleanup()
samples.vsphere.vcenter.vm.hardware.floppy.cleanup()
samples.vsphere.vcenter.vm.hardware.serial.cleanup()
samples.vsphere.vcenter.vm.hardware.parallel.cleanup()
print('Cleanup vcenter.vm.hardware Samples Complete\n')
def validate(context):
print('Validating and Detecting Resources in vcenter.vm.hardware Samples')
names = set([testbed.config['VM_NAME_DEFAULT'],
testbed.config['VM_NAME_BASIC'],
testbed.config['VM_NAME_EXHAUSTIVE']])
valid = True
for name in names:
if not get_vm(context.client, name):
2016-10-26 19:08:23 -04:00
valid = False
if not valid:
raise Exception('==> Samples Setup validation failed: '
'Missing VMs required to run hardware samples')
print('==> Samples Setup validated')
def run():
###########################################################################
# Incremental device CRUDE + connect/disconnect samples
#
# Choose any combination of the following incremental hardware examples.
# Each one will return the VM to its original configuration.
#
# * CPU update sample
# * Memory update sample
# * Disk CRUD sample
# * Ethernet CRUD sample
# * CDROM CRUD sample
# * SCSI adapter sample
# * SATA adapter sample
# * Serial Port CRUD sample
# * Parallel Port CRUD sample
# * Floppy CRUD sample
# * Boot configuration sample
# * Boot Device configuration sample
###########################################################################
print('#' * 79)
print('# vcenter.vm.hardware Samples')
print('#' * 79)
samples.vsphere.vcenter.vm.hardware.cpu.run()
samples.vsphere.vcenter.vm.hardware.memory.run()
samples.vsphere.vcenter.vm.hardware.disk.run()
samples.vsphere.vcenter.vm.hardware.adapter.sata.run()
samples.vsphere.vcenter.vm.hardware.adapter.scsi.run()
samples.vsphere.vcenter.vm.hardware.boot.run()
samples.vsphere.vcenter.vm.hardware.boot_device.run()
samples.vsphere.vcenter.vm.hardware.cdrom.run()
samples.vsphere.vcenter.vm.hardware.ethernet.run()
samples.vsphere.vcenter.vm.hardware.floppy.run()
samples.vsphere.vcenter.vm.hardware.serial.run()
samples.vsphere.vcenter.vm.hardware.parallel.run()
###########################################################################
# Virtual Hardware Upgrade Sample
#
# TODO Not implemented
###########################################################################
###########################################################################
# Hot Add Samples
# * Hot add disk
# * Hot add cdrom
# * ...
# TODO Not implemented
###########################################################################