Private/Tagging/Set-DeployedResourceTags.ps1
function Set-DeployedResourceTags() { param( [AllowEmptyString()] [String]$TagSettingsFile, [Parameter(ParameterSetName = "Resources")] [AllowEmptyCollection()] [Array]$ResourceIds, [Parameter(ParameterSetName = "ResourceGroups")] [AllowEmptyCollection()] [Array]$ResourceGroupIds ) if (!$ResourceIds -and !$ResourceGroupIds) { Write-Warning "No resources provided for tagging." return } if ($TagSettingsFile) { $SettingsObject = Get-CmAzSettingsFile -Path $TagSettingsFile } else { $SettingsObject = Get-CmAzSettingsFile -Path "$((Get-CmAzContext).projectRoot)/_tags/globalTags.yml" } if ($ResourceIds) { $SettingsObject.resourceIds = @() $SettingsObject.resourceIds += $ResourceIds | Where-Object { $_ } } elseif ($ResourceGroupIds) { $SettingsObject.resourceGroupIds = @() $SettingsObject.resourceGroupIds += $ResourceGroupIds | Where-Object { $_ } } Write-Verbose "Setting tagging details for deployed resources..." Set-CmAzTag -SettingsObject $SettingsObject > $null } |