Skip to content

sulochanatutorials/php-vmware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP API Client for VMWare

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

Installation

​ You can install the package via composer: ​

composer require VmWare-ag/vmware-php-client

​ You can publish the config file with: ​

php artisan vendor:publish --tag="vmware-php-client-config"

return [
    'session_ttl' => env('VMWARE_SESSION_TTL', 10),
    'enable_logs' => env('VMWARE_ENABLE_LOGS', true),
];

​ ​

Getting started

​ Create a connection to your hypervisor so that you can call the methods:

$vcenterClient = new VmWare\VmWareClient\VcenterClient(
    'https://10.20.30.40',
    'mylogin',
    'mypassword'
);
$vmInfo = $vcenterClient->getVmInfo('vm-123');

This lib can run in three modes: rest, soap and both. By default, it runs in rest mode, but you can set another mode in constructor:

$vcenterClient = new VmWare\VmWareClient\VcenterClient(
    'https://10.20.30.40',
    'mylogin',
    'mypassword',
    'soap'
);

Yet we recommend to use constants:

$vcenterClient = new VmWare\VmWareClient\VcenterClient(
    'https://10.20.30.40',
    'mylogin',
    'mypassword',
    VmWare\VmWareClient\VcenterClient::MODE_SOAP
);

rest mode

​ With rest mode you can use REST methods which you can find in the VMWare API developer center. For now, the lib has only some methods available. You can find full list of files in the vendor/VmWare-ag/vmware-php-client/src/Traits/Rest folder. ​

We plan to add the full list of methods later. ​

soap mode

​ Using soap mode allow you to use SOAP methods which you can find in VMWare SOAP developer center. For now, the lib has only some methods available. You can find full list of files in the vendor/VmWare-ag/vmware-php-client/src/Traits/SOAP folder. ​

We plan to add the full list of methods later. ​

Here's how to make your first SOAP call:

$folder = $vcenterClient->soap->createFolder('group-v3', 'foldername');

​ If you want to use both modes at one time you can set both mode (VmWare\VmWareClient\VcenterClient::MODE_BOTH). ​ If you want to run custom soap method, which you do not find in lib, you can run this method directly:

$vcenterClient = new VmWare\VmWareClient\VcenterClient(
    'https://10.20.30.40',
    'mylogin',
    'mypassword',
    VmWare\VmWareClient\VcenterClient::MODE_SOAP
);
​
$taskInfo = $vcenterClient->soap->request('ReconfigureComputeResource_Task', [
    '_this' => [
        '_' => 'domain-c33',
        'type' => 'ComputeResource',
    ],
    'spec' => [
        '@type' => 'ClusterConfigSpecEx',
        'drsConfig' => [
            '@type' => 'ClusterDrsConfigInfo',
        ],
        'rulesSpec' => [
            '@type' => 'ClusterRuleSpec',
            'operation' => 'add',
            'info' => [
                '@type' => 'ClusterAntiAffinityRuleSpec',
                'enabled' => true,
                'name' => 'VM-VM Affinity rule',
                'userCreated' => true,
                'vm' => [
                    ['_' => 'vm-133', 'type' => 'VirtualMachine'],
                    ['_' => 'vm-134', 'type' => 'VirtualMachine']
                ]
            ],
        ],
        'dpmConfig' => [
            '@type' => 'ClusterDpmConfigInfo',
        ],

    ],
    'modify' => false,
])

Order of parameters is very important. You can find the correct order in the documentation, the WSDL type definition section for each object type. ​

Credits

Questions and feedback

​ If you've got questions about setup or just want to chat with the developer, please feel free to reach out to a.hazhur@bitcat.agency. ​

License

​ The MIT License (MIT). Please see License File for more information.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages