C++ Console Application that works with VMware Virtual Disk Development Kit
Budget: $750 – $1,500 USD
Project Description:
Use Microsoft Visual Studio and VMware Virtual Disk API (part of VMware Virtual Disk Development Kit) to create C++ application that provides ability to copy virtual machine virtual disk (.vmdk) files to/from storage connected to a VMware ESXi host server given specific parameters (see requirements).
Requirements:
- Programming Language: C++
- Development Environment: Microsoft Visual Studio 2022
- Runtime Platform: Application must be able to run on Windows and Linux
- Application Type: Console (non-GUI)
- Application Parameters:
• host server (required IF topology = 1 or 3: FQDN or IP)
• host server port (required IF topology = 1 or 3: port used for connecting to host server)
• username (required IF topology = 1 or 3: username for connecting to host server)
• password (required IF topology = 1 or 3: password for connecting to host server)
• topology (required: 1 = source VMDK is remote, target VDMK is local | 2 = source VMDK is remote, target VDMK is remote | 3 = source VMDK is local, target VDMK is remote | 4 = source VMDK is local, target VMDK is local)
• transport mode (required IF topology = 1 or 3: nbd | nbdssl)
• source VMDK path (required: path to source virtual disk file)
• target VMDK path (required: path to destination virtual disk file)
• target VMDK format (required: 1 = managed, thick | 2 = managed, thin | 3 = hosted, thick | 4 = hosted, split, thick | 5 = hosted, thin | 6 = hosted, split, thin) *note: target VMDK formats 3-6 are only valid when topology = 1 or 4
• log file path (optional, logging disabled if omitted)
- Include appropriate error handing and reporting:
• Invalid parameters
• Host server not found
• Authentication failure
• Permissions issue
• Source VMDK file locked
• Target folder does not exist
• Target VMDK file already exists
• Not enough free space to create target VMDK file
- Application must report (write to console) % complete (while running) and successful completion or detailed error message on failure
- Application MUST be able to copy VMDK to/from ESXi host server at >= 1GB/minute (given basic hardware and 1Gb network connection)
- Application must support VMware ESXi 6.5 - 8.0
To successfully complete this project you must provide:
- Signed confidentiality and non-disclosure agreement before starting project
- Complete, royalty-free source code that is free of any third-party licensing constraints
- Source code must be well documented and formatted according to C++ development standards
- Detailed documentation on how application works
- Detailed instructions on how to setup duplicate development environment for further development and testing
- Detailed instructions on how to compile source code and create distributed application (.exe)
- Detailed instructions on how to setup application for use on Windows and Linux
Use Microsoft Visual Studio and VMware Virtual Disk API (part of VMware Virtual Disk Development Kit) to create C++ application that provides ability to copy virtual machine virtual disk (.vmdk) files to/from storage connected to a VMware ESXi host server given specific parameters (see requirements).
Requirements:
- Programming Language: C++
- Development Environment: Microsoft Visual Studio 2022
- Runtime Platform: Application must be able to run on Windows and Linux
- Application Type: Console (non-GUI)
- Application Parameters:
• host server (required IF topology = 1 or 3: FQDN or IP)
• host server port (required IF topology = 1 or 3: port used for connecting to host server)
• username (required IF topology = 1 or 3: username for connecting to host server)
• password (required IF topology = 1 or 3: password for connecting to host server)
• topology (required: 1 = source VMDK is remote, target VDMK is local | 2 = source VMDK is remote, target VDMK is remote | 3 = source VMDK is local, target VDMK is remote | 4 = source VMDK is local, target VMDK is local)
• transport mode (required IF topology = 1 or 3: nbd | nbdssl)
• source VMDK path (required: path to source virtual disk file)
• target VMDK path (required: path to destination virtual disk file)
• target VMDK format (required: 1 = managed, thick | 2 = managed, thin | 3 = hosted, thick | 4 = hosted, split, thick | 5 = hosted, thin | 6 = hosted, split, thin) *note: target VMDK formats 3-6 are only valid when topology = 1 or 4
• log file path (optional, logging disabled if omitted)
- Include appropriate error handing and reporting:
• Invalid parameters
• Host server not found
• Authentication failure
• Permissions issue
• Source VMDK file locked
• Target folder does not exist
• Target VMDK file already exists
• Not enough free space to create target VMDK file
- Application must report (write to console) % complete (while running) and successful completion or detailed error message on failure
- Application MUST be able to copy VMDK to/from ESXi host server at >= 1GB/minute (given basic hardware and 1Gb network connection)
- Application must support VMware ESXi 6.5 - 8.0
To successfully complete this project you must provide:
- Signed confidentiality and non-disclosure agreement before starting project
- Complete, royalty-free source code that is free of any third-party licensing constraints
- Source code must be well documented and formatted according to C++ development standards
- Detailed documentation on how application works
- Detailed instructions on how to setup duplicate development environment for further development and testing
- Detailed instructions on how to compile source code and create distributed application (.exe)
- Detailed instructions on how to setup application for use on Windows and Linux