modules/Azure/Discovery/Public/Update-CIEMAzureArmResource.ps1
|
function Update-CIEMAzureArmResource { [CmdletBinding(DefaultParameterSetName = 'ByProperties')] [OutputType('CIEMAzureArmResource[]')] param( [Parameter(Mandatory, ParameterSetName = 'ByProperties')] [string]$Id, [Parameter(ParameterSetName = 'ByProperties')] [string]$Type, [Parameter(ParameterSetName = 'ByProperties')] [string]$Name, [Parameter(ParameterSetName = 'ByProperties')] [string]$Location, [Parameter(ParameterSetName = 'ByProperties')] [string]$ResourceGroup, [Parameter(ParameterSetName = 'ByProperties')] [string]$SubscriptionId, [Parameter(ParameterSetName = 'ByProperties')] [string]$TenantId, [Parameter(ParameterSetName = 'ByProperties')] [string]$Kind, [Parameter(ParameterSetName = 'ByProperties')] [string]$Sku, [Parameter(ParameterSetName = 'ByProperties')] [string]$Identity, [Parameter(ParameterSetName = 'ByProperties')] [string]$ManagedBy, [Parameter(ParameterSetName = 'ByProperties')] [string]$Plan, [Parameter(ParameterSetName = 'ByProperties')] [string]$Zones, [Parameter(ParameterSetName = 'ByProperties')] [string]$Tags, [Parameter(ParameterSetName = 'ByProperties')] [string]$Properties, [Parameter(ParameterSetName = 'ByProperties')] [string]$CollectedAt, [Parameter(ParameterSetName = 'ByProperties')] [switch]$PassThru, [Parameter(Mandatory, ParameterSetName = 'InputObject', ValueFromPipeline)] [PSObject[]]$InputObject ) process { $ErrorActionPreference = 'Stop' if ($PSCmdlet.ParameterSetName -eq 'InputObject') { foreach ($obj in $InputObject) { UpdateCIEMAzureEntity -Entity 'ArmResource' -Filters @{ Id = $obj.Id } -Values @{ Type = $obj.Type Name = $obj.Name Location = $obj.Location ResourceGroup = $obj.ResourceGroup SubscriptionId = $obj.SubscriptionId TenantId = $obj.TenantId Kind = $obj.Kind Sku = $obj.Sku Identity = $obj.Identity ManagedBy = $obj.ManagedBy Plan = $obj.Plan Zones = $obj.Zones Tags = $obj.Tags Properties = $obj.Properties CollectedAt = $obj.CollectedAt LastSeenAt = $obj.LastSeenAt } } return } $values = @{} foreach ($paramName in @( 'Type', 'Name', 'Location', 'ResourceGroup', 'SubscriptionId', 'TenantId', 'Kind', 'Sku', 'Identity', 'ManagedBy', 'Plan', 'Zones', 'Tags', 'Properties', 'CollectedAt' )) { if ($PSBoundParameters.ContainsKey($paramName)) { $values[$paramName] = $PSBoundParameters[$paramName] } } if ($values.Count -eq 0) { return } UpdateCIEMAzureEntity -Entity 'ArmResource' -Filters @{ Id = $Id } -Values $values if ($PassThru) { Get-CIEMAzureArmResource -Id $Id } } } |