Examples/SwitchEmbeddedTeamingWithHostNetworkAdapter/SETTeamWithHostNetworkAdapters.Example.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Configuration SETTeam
{
    param (
        [String] $SwitchName,
        [String[]] $NetAdapterName,
        [Int] $ManagementVlan,
        [Int] $ManagementBandwidthWeight,
        [String] $ClusterAdapterName,
        [Int] $ClusterVlan,
        [Int] $ClusterBandwidthWeight,
        [String] $LiveMigrationAdapterName,
        [Int] $LiveMigrationVlan,
        [Int] $LiveMigrationBandwidthWeight
    )
    Import-DscResource -ModuleName cHyper-V

    cVMSwitch $SwitchName
    {
        Name = $SwitchName
        NetAdapterName = $NetAdapterName
        Type = 'External'
        MinimumBandwidthMode = 'Weight'
        TeamingMode = 'SwitchIndependent'
        LoadBalancingAlgorithm = 'Dynamic'
        Ensure = 'Present'
    }

    cVMNetworkAdapterVlan $SwitchName
    {
        Id = 'Mgmt-NIC'
        Name = $SwitchName
        AdapterMode = 'Access'
        VlanId = $ManagementVlan
        VMName = 'ManagementOS'
        DependsOn = "[cVMSwitch]$SwitchName"
    }

    cVMNetworkAdapterSettings $SwitchName
    {
        Id = 'Mgmt-NIC'
        Name = $SwitchName
        VMName = 'ManagementOS'
        SwitchName = $SwitchName
        MinimumBandwidthWeight = $ManagementBandwidthWeight
        DependsOn = "[cVMSwitch]$SwitchName"
    }

    cVMNetworkAdapter $ClusterAdapterName
    {
        Id = 'Cluster-NIC'
        Name = $ClusterAdapterName
        VMName = 'ManagementOS'
        SwitchName = $SwitchName
        DependsOn = "[cVMSwitch]$SwitchName"
    }

    cVMNetworkAdapterVlan $ClusterAdapterName
    {
        Id = 'Cluster-NIC'
        Name = $ClusterAdapterName
        AdapterMode = 'Access'
        VlanId = $ClusterVlan
        VMName = 'ManagementOS'
        DependsOn = "[cVMNetworkAdapter]$ClusterAdapterName"
    }

    cVMNetworkAdapterSettings $ClusterAdapterName
    {
        Id = 'Cluster-NIC'
        Name = $ClusterAdapterName
        VMName = 'ManagementOS'
        SwitchName = $SwitchName
        MinimumBandwidthWeight = $ClusterBandwidthWeight
        DependsOn = "[cVMNetworkAdapter]$ClusterAdapterName"
    }

    cVMNetworkAdapter $LiveMigrationAdapterName
    {
        Id = 'LM-NIC'
        Name = $LiveMigrationAdapterName
        VMName = 'ManagementOS'
        SwitchName = $SwitchName
        DependsOn = "[cVMSwitch]$SwitchName"
    }

    cVMNetworkAdapterVlan $LiveMigrationAdapterName
    {
        Id = 'LM-NIC'
        Name = $LiveMigrationAdapterName
        AdapterMode = 'Access'
        VlanId = $LiveMigrationVlan
        VMName = 'ManagementOS'
        DependsOn = "[cVMNetworkAdapter]$LiveMigrationAdapterName"
    }

    cVMNetworkAdapterSettings $LiveMigrationAdapterName
    {
        Id = 'LM-NIC'
        Name = $LiveMigrationAdapterName
        VMName = 'ManagementOS'
        SwitchName = $SwitchName
        MinimumBandwidthWeight = $LiveMigrationBandwidthWeight
        DependsOn = "[cVMNetworkAdapter]$LiveMigrationAdapterName"
    }
}