|
| 1 | +{ |
| 2 | + Import-Module VMware.VimAutomation.Core |
| 3 | + Connect-VIServer marvel.vcloud-lab.com |
| 4 | +} |
| 5 | + |
| 6 | +$dataCenterName = 'DatacenterName' |
| 7 | +$clusterName = 'ClusterName' |
| 8 | + |
| 9 | +###################################### |
| 10 | +Custom Attributes example |
| 11 | +###################################### |
| 12 | +Get-Datacenter $dataCenterName | Get-Cluster | Select-Object Name, @{N='CMDBID'; E={($_.CustomFields | Where-Object {$_.Key -eq 'CMDBID'}).value}} |
| 13 | +Get-Datacenter $dataCenterName | Get-Cluster $clusterName | Set-Annotation -CustomAttribute 'CMDBID' -Value 'CLU0000001111' |
| 14 | + |
| 15 | +{ |
| 16 | + $csv = Import-Csv CMDBData.csv |
| 17 | + |
| 18 | + foreach ($data in $csv) |
| 19 | + { |
| 20 | + Get-Cluster $data.Cluster | Set-Annotation -CustomAttribute 'CMDBID' -Value $data.CMDBID |
| 21 | + } |
| 22 | +} |
| 23 | + |
| 24 | +############################## |
| 25 | +#View current TagAssignment |
| 26 | +Get-Datacenter $dataCenterName | Get-Cluster | Get-TagAssignment | Select-Object Entity, Tag |
| 27 | +Get-TagAssignment -Entity (Get-Cluster $clusterName) | Select-Object Entity, Tag |
| 28 | + |
| 29 | +#set an existing tag to a entity |
| 30 | +New-TagAssignment -Entity (Get-Cluster $clusterName) -Tag 'CMDBID' |
| 31 | + |
| 32 | +############################## |
| 33 | +#Create a new Tag Category |
| 34 | +New-TagCategory -Name CMDBID -Cardinality Single -EntityType Cluster |
| 35 | + |
| 36 | +#Create a new tag with value and assigne to entity |
| 37 | +$tag = New-Tag -Name CLU0000002222 -Category CMDID -Description 'Test Comment' |
| 38 | +Get-Cluster -Name $clusterName | New-TagAssignment -Tag $tag |
| 39 | + |
| 40 | +############################## |
| 41 | +#Assign Tags from CSV file - Incomplete |
| 42 | + |
| 43 | +$allTags = Get-Tag |
| 44 | +$csv = Import-Csv C:\temp\data.csv |
| 45 | + |
| 46 | +foreach ($data in $csv) |
| 47 | +{ |
| 48 | + $currentConf = Get-TagAssignment -Entity (Get-CLuster $data.Cluster) #| Select-Object Entity, Tag |
| 49 | + foreach ($conf in $currentConf) |
| 50 | + { |
| 51 | + if (($conf.Tag.Category.Name -eq 'CMDBID') -and ($conf.Tag.Name -eq $data.CMDBID)) |
| 52 | + { |
| 53 | + 'Test' |
| 54 | + break |
| 55 | + } |
| 56 | + #Add elseif - if $conf.tag.name not equals to $data.CMDBID, Remove or set-tag |
| 57 | + else |
| 58 | + { |
| 59 | + $tag = New-Tag -Name $data.CMDBID -Category CMDBID |
| 60 | + Get-Cluster -Name $data.Cluster | New-TagAssignment -Tag $tag |
| 61 | + } |
| 62 | + } |
| 63 | +} |
0 commit comments