Skip to content

Commit 5e3842e

Browse files
authored
Merge pull request #11717 from Azure/aws-support-for-ccp
Aws support for CCP
2 parents dbafb22 + 6a959f3 commit 5e3842e

File tree

2 files changed

+35
-3
lines changed

2 files changed

+35
-3
lines changed

Tools/Create-Azure-Sentinel-Solution/common/commonFunctions.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2195,7 +2195,7 @@ function PrepareSolutionMetadata($solutionMetadataRawContent, $contentResourceDe
21952195
}
21962196
}
21972197
$connectDataSourcesLink = [PSCustomObject] @{
2198-
name = "dataconnectors-link2";
2198+
name = "dataconnectors-link$($global:connectorCounter)";
21992199
type = "Microsoft.Common.TextBlock";
22002200
options = [PSCustomObject] @{
22012201
link = [PSCustomObject] @{

Tools/Create-Azure-Sentinel-Solution/common/createCCPConnector.ps1

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ function New-ParametersForConnectorInstuctions($instructions) {
8989
}
9090
else {
9191
$instructionType = $instruction.type;
92-
Write-Host "Specified Instruction type '$instructionType' is not from the instruction type list like Textbox, OAuthForm and ContextPane!"
92+
Write-Host "Info: Specified Instruction type '$instructionType' is not from the instruction type list like Textbox, OAuthForm and ContextPane!"
9393
}
9494
}
9595
}
@@ -523,6 +523,10 @@ function createCCPConnectorResources($contentResourceDetails, $dataFileMetadata,
523523
$armResource.properties.auth | Add-Member -MemberType NoteProperty -Name "servicePrincipalId" -Value "[[parameters('auth').servicePrincipalId]"
524524
}
525525
}
526+
elseif ($armResource.kind.ToLower() -eq 'amazonwebservicess3')
527+
{
528+
CreateAwsResourceProperties -armResource $armResource -templateContentConnections $templateContentConnections -fileType $fileType
529+
}
526530
else
527531
{
528532
Write-Host "Error: Data Connector Poller file should have 'kind' attribute with value either 'RestApiPoller', 'GCP', 'AmazonWebServicesS3' or 'Push'." -BackgroundColor Red
@@ -739,7 +743,7 @@ function createCCPConnectorResources($contentResourceDetails, $dataFileMetadata,
739743
$currentStepNum = $global:baseCreateUiDefinition.parameters.steps.Count - 1
740744
$global:baseCreateUiDefinition.parameters.steps[$currentStepNum].elements += $baseDataConnectorTextElement
741745
$connectDataSourcesLink = [PSCustomObject] @{
742-
name = "dataconnectors-link2";
746+
name = "dataconnectors-link$($global:connectorCounter)";
743747
type = "Microsoft.Common.TextBlock";
744748
options = [PSCustomObject] @{
745749
link = [PSCustomObject] @{
@@ -961,4 +965,32 @@ function CreateGCPResourceProperties($armResource, $templateContentConnections,
961965

962966
# Request section subscriptionNames property
963967
ProcessPropertyPlaceholders -armResource $armResource -templateContentConnections $templateContentConnections -isOnlyObjectCheck $false -propertyObject $armResource.properties.request -propertyName 'subscriptionNames' -isInnerObject $true -innerObjectName 'request' -kindType $kindType -isSecret $false -isRequired $true -fileType $fileType -minLength 3 -isCreateArray $true
968+
}
969+
970+
$awsSolutions = @('VMware Carbon Black Cloud')
971+
972+
function CreateAwsResourceProperties($armResource, $templateContentConnections, $fileType) {
973+
$kindType = 'AmazonWebServicesS3'
974+
ProcessPropertyPlaceholders -armResource $armResource -templateContentConnections $templateContentConnections -isOnlyObjectCheck $true -propertyObject $armResource.properties -propertyName 'dataTypes' -isInnerObject $false -innerObjectName $null -kindType $kindType -isSecret $false -isRequired $true -fileType $fileType -minLength 3 -isCreateArray $false
975+
976+
ProcessPropertyPlaceholders -armResource $armResource -templateContentConnections $templateContentConnections -isOnlyObjectCheck $true -propertyObject $armResource.properties.dataTypes -propertyName 'logs' -isInnerObject $true -innerObjectName 'dataTypes' -kindType $kindType -isSecret $false -isRequired $true -fileType $fileType -minLength 3 -isCreateArray $false
977+
978+
ProcessPropertyPlaceholders -armResource $armResource -templateContentConnections $templateContentConnections -isOnlyObjectCheck $false -propertyObject $armResource.properties.dataTypes.logs -propertyName 'state' -isInnerObject $true -innerObjectName 'logs' -kindType $kindType -isSecret $false -isRequired $true -fileType $fileType -minLength 3 -isCreateArray $false
979+
980+
ProcessPropertyPlaceholders -armResource $armResource -templateContentConnections $templateContentConnections -isOnlyObjectCheck $true -propertyObject $armResource.properties -propertyName 'dcrConfig' -isInnerObject $false -innerObjectName $null -kindType $kindType -isSecret $false -isRequired $true -fileType $fileType -minLength 3 -isCreateArray $false
981+
982+
if ($awsSolutions.Contains($solutionName)) {
983+
# Handle properties destinationTable and streamName in dc poller file for this solutions as a special case
984+
$armResource.properties.dcrConfig.streamName = "[[parameters('streamName')[0]]"
985+
$armResource.properties.destinationTable = "[[concat(parameters('streamName')[0],'_CL')]"
986+
$templateContentConnections.properties.mainTemplate.parameters | Add-Member -NotePropertyName "streamName" -NotePropertyValue ([PSCustomObject] @{ type = "array" })
987+
} else {
988+
ProcessPropertyPlaceholders -armResource $armResource -templateContentConnections $templateContentConnections -isOnlyObjectCheck $false -propertyObject $armResource.properties.dcrConfig -propertyName 'streamName' -isInnerObject $true -innerObjectName 'dcrConfig' -kindType $kindType -isSecret $false -isRequired $true -fileType $fileType -minLength 3 -isCreateArray $false
989+
990+
ProcessPropertyPlaceholders -armResource $armResource -templateContentConnections $templateContentConnections -isOnlyObjectCheck $false -propertyObject $armResource.properties -propertyName 'destinationTable' -isInnerObject $false -innerObjectName $null -kindType $kindType -isSecret $false -isRequired $true -fileType $fileType -minLength 3 -isCreateArray $false
991+
}
992+
993+
ProcessPropertyPlaceholders -armResource $armResource -templateContentConnections $templateContentConnections -isOnlyObjectCheck $false -propertyObject $armResource.properties -propertyName 'roleArn' -isInnerObject $false -innerObjectName $null -kindType $kindType -isSecret $false -isRequired $true -fileType $fileType -minLength 3 -isCreateArray $false
994+
995+
ProcessPropertyPlaceholders -armResource $armResource -templateContentConnections $templateContentConnections -isOnlyObjectCheck $false -propertyObject $armResource.properties -propertyName 'sqsUrls' -isInnerObject $false -innerObjectName $null -kindType $kindType -isSecret $false -isRequired $true -fileType $fileType -minLength 3 -isCreateArray $true
964996
}

0 commit comments

Comments
 (0)