![](/img/trans.png)
[英]How to get list of Empty Resource Groups by using of Azure Mgmt SDK fluent
[英]How to get the list of Port Groups in a Standard switch in an ESXi without Distributed Port Groups using VMware vSphere SDK
我設法在Sandard交換機中獲取了所有端口組,但是該列表包括來自分布式vSwitch的分布式端口組,該端口包含在標准交換機結構中。 我不希望這樣。
我正在使用VMware vSphere SDK(5.5),並嘗試了以下方法:
public List<Network> GetPortGroups(VimClient vimClient, Datacenter selectedDC = null, string pgName = null)
{
List<Network> lstPortGroups = new List<Network>();
NameValueCollection pgFilter = new NameValueCollection();
ManagedObjectReference DcMoRef = new ManagedObjectReference();
if (pgName != null)
{
pgFilter.Add("name", pgName);
}
else
{
pgFilter = null;
}
if (selectedDC != null)
{
DcMoRef = selectedDC.MoRef;
}
else
{
DcMoRef = null;
}
List<EntityViewBase> appPortGroups = vimClient.FindEntityViews(typeof(Network), DcMoRef, pgFilter, null);
if (appPortGroups != null)
{
foreach (EntityViewBase appPortGroup in appPortGroups)
{
Network thisPortGroup = (Network)appPortGroup;
lstPortGroups.Add(thisPortGroup);
}
return lstPortGroups;
}
else
{
return null;
}
}
public List<Network> GetStandardPgs(Datacenter selectedDC = null)
{
List<Network> lstPortGroups = new List<Network>();
ManagedObjectReference DcMoRef = new ManagedObjectReference();
if (selectedDC != null)
{
DcMoRef = selectedDC.MoRef;
}
else
{
DcMoRef = null;
}
List<EntityViewBase> appPortGroups = _vmwarecontext.FindEntityViews(typeof(Network), DcMoRef, null, null);
if (appPortGroups != null)
{
foreach (EntityViewBase appPortGroup in appPortGroups.Where(x => x.GetType() == typeof(Network)))
{
lstPortGroups.Add((Network)appPortGroup);
}
return lstPortGroups;
}
else
{
return null;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.