Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ function createCCPConnectorResources($contentResourceDetails, $dataFileMetadata,
exit 1;
}

function GetDataConnectorPollerResourceName ($dataConnectorName) {
function GetDataConnectorPollerResourceName ($dataConnectorName, $useRandomGuid = $true) {
$splitNamesBySlash = $dataConnectorName -split '/'
$concatenateParts = @()
$outputString = ''
Expand All @@ -515,6 +515,10 @@ function createCCPConnectorResources($contentResourceDetails, $dataFileMetadata,
$templateContentConnections.properties.mainTemplate = addWorkspaceParameter -templateResourceObj $templateContentConnections.properties.mainTemplate -parameterName $($placeHolderFieldName) -isSecret $true
}
else {
# Add '/' separator if there are already parts (handles pure placeholder after static segments)
if ($concatenateParts.Count -gt 0) {
$concatenateParts += "'/'"
}
$concatenateParts += "parameters('$($placeHolderFieldName)')"
$templateContentConnections.properties.mainTemplate = addNewParameter -templateResourceObj $templateContentConnections.properties.mainTemplate -parameterName $($placeHolderFieldName) -isSecret $true
}
Expand Down Expand Up @@ -546,15 +550,27 @@ function createCCPConnectorResources($contentResourceDetails, $dataFileMetadata,
}

if ($concatenateParts.Count -gt 1 -and $concatenateParts -notmatch 'concat') {
$outputString = "[[concat($($concatenateParts -join ', '), $guidValue"
if ($useRandomGuid) {
$outputString = "[[concat($($concatenateParts -join ', '), $guidValue"
} else {
$outputString = "[[concat($($concatenateParts -join ', ')"
}
}
elseif ($concatenateParts.Count -eq 1 -and $concatenateParts[0] -match 'parameters') {
# if we just have parameters('abcwork')
$outputString = "[[concat(parameters('innerWorkspace'),'/Microsoft.SecurityInsights/', $($concatenateParts[0]), $guidValue"
if ($useRandomGuid) {
$outputString = "[[concat(parameters('innerWorkspace'),'/Microsoft.SecurityInsights/', $($concatenateParts[0]), $guidValue"
} else {
$outputString = "[[concat(parameters('innerWorkspace'),'/Microsoft.SecurityInsights/', $($concatenateParts[0])"
}
}
else {
# if we just have 'abcwork'
$outputString = "[[concat(parameters('innerWorkspace'),'/Microsoft.SecurityInsights/', '$($concatenateParts[0])', $guidValue"
if ($useRandomGuid) {
$outputString = "[[concat(parameters('innerWorkspace'),'/Microsoft.SecurityInsights/', '$($concatenateParts[0])', $guidValue"
} else {
$outputString = "[[concat(parameters('innerWorkspace'),'/Microsoft.SecurityInsights/', '$($concatenateParts[0])'"
}
}

if ($global:commaSeparatedTextFieldName -eq "") {
Expand All @@ -569,6 +585,10 @@ function createCCPConnectorResources($contentResourceDetails, $dataFileMetadata,

function CCPDataConnectorsResource($fileContent) {
if ($fileContent.type -eq "Microsoft.SecurityInsights/dataConnectors") {
# Check for UseRandomGuid property, default to true for backward compatibility
$useRandomGuid = if ($null -ne $fileContent.UseRandomGuid) { $fileContent.UseRandomGuid } else { $true }
Write-Host "UseRandomGuid setting: $useRandomGuid"

if ($global:commaSeparatedTextFieldName -ne "") {
# add variable for comma separated text field
$commaSeparatedVariable = @{
Expand All @@ -578,14 +598,16 @@ function createCCPConnectorResources($contentResourceDetails, $dataFileMetadata,
$templateContentConnections.properties.mainTemplate.variables = $commaSeparatedVariable
}

# add parameter of guidValue if not present
$templateContentConnections.properties.mainTemplate = addGuidValueParameter -templateResourceObj $templateContentConnections.properties.mainTemplate
# add parameter of guidValue if not present (only when UseRandomGuid is true)
if ($useRandomGuid) {
$templateContentConnections.properties.mainTemplate = addGuidValueParameter -templateResourceObj $templateContentConnections.properties.mainTemplate
}

# add parameter of innerWorkspace if not present
$templateContentConnections.properties.mainTemplate = addWorkspaceParameter -templateResourceObj $templateContentConnections.properties.mainTemplate -parameterName 'innerWorkspace' -isSecret $true

Write-Host "Processing for CCP Poller file path: $ccpPollerFilePath"
$resourceName = GetDataConnectorPollerResourceName -dataConnectorName $fileContent.name
$resourceName = GetDataConnectorPollerResourceName -dataConnectorName $fileContent.name -useRandomGuid $useRandomGuid

$armResource = Get-ArmResource $resourceName $fileContent.type $fileContent.kind $fileContent.properties
$armResource.type = "Microsoft.OperationalInsights/workspaces/providers/dataConnectors"
Expand Down
Loading