TestCases/SVT/LogicApps/LogicAppsResource.ps1
Set-StrictMode -Version Latest class LogicAppsResource:TestResource{ LogicAppsResource([TestCase] $testcase, [TestSettings] $testsettings):Base($testcase, $testsettings){ } #Setting the properties as required by this resource type. [void]SetDerivedResourceProps(){ #Pick the resource name from Params file if its not null $this.ResourceName = $this.GetResourceNameFromARMJson($this.Params, "resourceName", "value") $this.ResourceType = "Microsoft.Logic/workflows" } #Set Diagnostics on [void]SetLogicAppDiagnosticsOn(){ try{ if($this.ProvisioningState -eq "Succeeded"){ $storageAccount=$this.IfCommonStorageExists() ��������������if(!$storageAccount){ ����������������������������$this.CreateCommonStorage() } $diagnosticStorageAccountId = (Get-AzureRmResource -ResourceName $this.settings.CommonStorageAcctName -ResourceGroupName $this.ResourceGroupName).ResourceId $LogicAppResource = Get-AzureRmResource -ResourceName $this.ResourceName -ResourceGroupName $this.ResourceGroupName Set-AzureRmDiagnosticSetting -ResourceId $LogicAppResource.resourceid -Enabled $true -StorageAccountId $this.Settings.CommonStorageAcctId $this.ProvisioningState = "Succeeded" } } catch{ [CommonHelper]::Log("Error while setting the diagnostics on for: " + $this.ResourceName, [MessageType]::Error) } } #Set Invalid access control for content and trigger [void]SetLogicAppInvalidAccessControl(){ try{ if($this.ProvisioningState -eq "Succeeded") { $propJson = @{"contents"= @{"allowedCallerIpAddresses"=@(@{ "addressRange"="0.0.0.0-255.255.255.255" })};} $resource=Get-AzureRMResource -ResourceGroupName $this.ResourceGroupName -Name $this.ResourceName -ResourceType $this.ResourceType $resource.properties | Add-Member -type NoteProperty -name accessControl -value $propJson Set-AzureRmResource -PropertyObject $resource.properties -ResourceGroupName $this.ResourceGroupName -ResourceName $this.ResourceName -ResourceType $this.ResourceType -Force $this.ProvisioningState = "Succeeded" } } catch{ $this.ProvisioningState = "Failed" [CommonHelper]::Log("Error while setting Access Control Triggers for: " + $this.ResourceName, [MessageType]::Error) } } #Set Valid access control for content and trigger [void]SetLogicAppValidAccessControl(){ try{ if($this.ProvisioningState -eq "Succeeded") { $propJson = @{"contents"= @{"allowedCallerIpAddresses"=@(@{ "addressRange"="0.0.0.0-0.0.0.0" })}; "triggers"= @{"allowedCallerIpAddresses"=@(@{ "addressRange"="0.0.0.0-0.0.0.0" })}; } $resource=Get-AzureRMResource -ResourceGroupName $this.ResourceGroupName -Name $this.ResourceName -ResourceType $this.ResourceType $resource.properties | Add-Member -type NoteProperty -name accessControl -value $propJson Set-AzureRmResource -PropertyObject $resource.properties -ResourceGroupName $this.ResourceGroupName -ResourceName $this.ResourceName -ResourceType $this.ResourceType -Force $this.ProvisioningState = "Succeeded" } } catch{ $this.ProvisioningState = "Failed" [CommonHelper]::Log("Error while setting Access Control Triggers for: " + $this.ResourceName, [MessageType]::Error) } } #Set Diagnostics off [void]SetLogicAppDiagnosticsOff(){ try{ if($this.ProvisioningState -eq "Succeeded"){ $LogicAppResource = Get-AzureRmResource -ResourceName $this.ResourceName -ResourceGroupName $this.ResourceGroupName Set-AzureRmDiagnosticSetting -ResourceId $LogicAppResource.resourceid -Enabled $false $this.ProvisioningState = "Succeeded" } } catch{ [CommonHelper]::Log("Error while setting the diagnostics off for: " + $this.ResourceName, [MessageType]::Error) } } #clear access control [void]RemoveLogicAppAccessControl(){ try{ if($this.ProvisioningState -eq "Succeeded") { $resource=Get-AzureRMResource -ResourceGroupName $this.ResourceGroupName -Name $this.ResourceName -ResourceType $this.ResourceType $resource.Properties=$resource.Properties | Select-Object -Property * -ExcludeProperty AccessControl Set-AzureRmResource -PropertyObject $resource.properties -ResourceGroupName $this.ResourceGroupName -ResourceName $this.ResourceName -ResourceType $this.ResourceType -Force $this.ProvisioningState = "Succeeded" } } catch{ $this.ProvisioningState = "Failed" [CommonHelper]::Log("Error while resetting Access Control for: " + $this.ResourceName, [MessageType]::Error) } } } |