- Added methods to ResourceService for fetching resource pools and updated existing methods to include datacenter filtering. - Modified CreateVirtualMachine to accept folder and resource pool parameters from product data. - Updated various jobs to synchronize resource pools and include them in the provisioning process. - Introduced new ModuleResourcePool model and migration for resource pool management. - Enhanced existing models (ModuleDatastore, ModuleNetwork, Os) to include relationships with vCenter and resource pools. - Added netmask field to IpPool and updated related logic for IP reservation. - Improved error handling and logging in VM creation and IP reservation processes. - Updated API routes to include sync functionality for vCenter.
31 lines
825 B
PHP
31 lines
825 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Services\VirtualMachine\Dto;
|
|
|
|
use App\Models\ModuleDatastore;
|
|
use App\Models\ModuleHost;
|
|
use App\Models\ModuleNetwork;
|
|
use App\Models\Os;
|
|
use App\Models\vCenter;
|
|
|
|
class VmInfrastructureContext
|
|
{
|
|
public function __construct(
|
|
public readonly Os $os,
|
|
public readonly ModuleHost $host,
|
|
public readonly mixed $datacenter,
|
|
public readonly vCenter $vcenter,
|
|
public readonly mixed $template,
|
|
public readonly bool $isWindows,
|
|
public readonly string $vmUser,
|
|
public readonly int $vmPort,
|
|
public readonly ?ModuleDatastore $datastore = null,
|
|
public readonly ?ModuleNetwork $network = null,
|
|
public readonly string $folderId = '',
|
|
public readonly string $resourcePoolId = '',
|
|
) {
|
|
}
|
|
}
|