Skip to content

uldyssian-sh/vmware-vm-vmxnet3-link-speed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

vmware-vm-vmxnet3-link-speed

πŸ“‹ Overview

Enterprise-grade PowerShell module for configuring VMXNET3 network adapter link speeds in VMware vSphere environments. Features comprehensive automation, bulk operations, and production-ready CI/CD pipeline.

Repository Type: VMware PowerShell Module
Technology Stack: PowerCLI, vSphere API, PowerShell, Docker, GitHub Actions

✨ Features

  • πŸš€ PowerShell Module - VMwareVMXNET3 with 3 core functions
  • πŸ”§ Bulk Operations - CSV-based mass configuration
  • πŸ“Š Monitoring - Real-time dashboard and reporting
  • πŸ§ͺ Testing - 26+ Pester tests with full validation
  • πŸ”’ Security - Automated scanning and verified commits
  • πŸ”„ CI/CD - GitHub Actions with multi-stage validation
  • πŸ“š Documentation - Complete guides and examples
  • 🐳 Docker - PowerShell Core container support

πŸš€ Quick Start

Prerequisites

  • PowerShell 5.1+ (Windows) or PowerShell 7.0+ (Linux/macOS)
  • VMware PowerCLI module
  • vSphere environment access
  • Git

Installation

# Clone the repository
git clone https://github.com/uldyssian-sh/vmware-vm-vmxnet3-link-speed.git
cd vmware-vm-vmxnet3-link-speed

# Install VMware PowerCLI
Install-Module -Name VMware.PowerCLI -Scope CurrentUser

# Import the module
Import-Module .\VMwareVMXNET3

Basic Usage

# Connect to vCenter
Connect-VIServer -Server "vcenter.company.com"

# Configure single VM (25 Gbps)
Set-VMXNet3LinkSpeed -VMName "WebServer01" -LinkSpeed 25000

# Query current configuration
Get-VMXNet3LinkSpeed -VMName "WebServer01"

# Bulk configuration from CSV
Set-VMXNet3LinkSpeedBulk -CsvPath "vm-config.csv"

πŸ“– Documentation

πŸ”§ Configuration

Configuration options:

  1. PowerCLI Settings - Certificate validation, CEIP participation
  2. vCenter Connection - Server, credentials, session management
  3. Link Speed Values - 1000, 10000, 25000, 40000, 100000 Mbps

Example PowerCLI configuration:

# Configure PowerCLI
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
Set-PowerCLIConfiguration -ParticipateInCEIP $false -Confirm:$false

πŸ“Š Usage Examples

Script Usage

# Basic script execution
.\vmware-vm-vmxnet3-link-speed.ps1 -vCenter "vcenter.company.com" -VMName "WebServer01" -LinkSpeed 25000

Advanced Usage

# Configure specific network adapter
Set-VMXNet3LinkSpeed -VMName "DBServer" -LinkSpeed 40000 -AdapterIndex 1

# Query multiple VMs with pipeline
Get-VM -Name "Web*" | Get-VMXNet3LinkSpeed

# Bulk operations with logging
Set-VMXNet3LinkSpeedBulk -CsvPath "config.csv" -LogPath "deployment.log" -MaxConcurrent 5

# Force overwrite existing settings
Set-VMXNet3LinkSpeed -VMName "TestVM" -LinkSpeed 10000 -Force

πŸ§ͺ Testing

Test Coverage: 26 tests across 3 test files

# Install testing framework
Install-Module -Name Pester -Force

# Run all tests (26 tests)
Invoke-Pester -Path .\tests\

# Run specific test suite
Invoke-Pester -Path .\tests\VMwareVMXNET3.Tests.ps1

# Code quality analysis
Invoke-ScriptAnalyzer -Path . -Recurse

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines.

Development Setup

# Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/vmware-vm-vmxnet3-link-speed.git
cd vmware-vm-vmxnet3-link-speed

# Install required modules
Install-Module -Name VMware.PowerCLI -Scope CurrentUser
Install-Module -Name Pester -Scope CurrentUser
Install-Module -Name PSScriptAnalyzer -Scope CurrentUser

# Import the module for development
Import-Module .\VMwareVMXNET3 -Force

Pull Request Process

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests for your changes
  5. Ensure all tests pass
  6. Commit your changes (git commit -m 'Add amazing feature')
  7. Push to your branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

πŸ™ Acknowledgments

  • VMware Community
  • Open Source Contributors
  • Enterprise Automation Teams
  • Security Research Community

πŸ“ˆ Project Stats

  • Module Functions: 3 (Set, Get, Bulk)
  • Test Coverage: 26 tests
  • CI/CD Stages: 3 (Validation, Security, Documentation)
  • Supported Speeds: 100 Mbps - 100 Gbps
  • Docker Support: βœ… PowerShell Core
  • GitHub Free Tier: βœ… Optimized

Support


⭐ Star this repository if you find it helpful!

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •