pspulumiyaml.azurenative.security.psm1
using module pspulumiyaml function Invoke-AzureNativeFunctionSecurityGetIngestionSetting { param ( [parameter(mandatory=$False,HelpMessage='Name of the ingestion setting)')] [string] $ingestionSettingName ) process { $arguments = @{} $arguments["ingestionSettingName"] = $ingestionSettingName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getIngestionSetting -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetConnector { param ( [parameter(mandatory=$False,HelpMessage='Name of the cloud account connector)')] [string] $connectorName ) process { $arguments = @{} $arguments["connectorName"] = $connectorName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getConnector -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetAlertsSuppressionRule { param ( [parameter(mandatory=$False,HelpMessage='The unique name of the suppression alert rule)')] [string] $alertsSuppressionRuleName ) process { $arguments = @{} $arguments["alertsSuppressionRuleName"] = $alertsSuppressionRuleName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getAlertsSuppressionRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetCustomAssessmentAutomation { param ( [parameter(mandatory=$False,HelpMessage='Name of the Custom Assessment Automation.)')] [string] $customAssessmentAutomationName, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["customAssessmentAutomationName"] = $customAssessmentAutomationName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getCustomAssessmentAutomation -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetAssessment { param ( [parameter(mandatory=$False,HelpMessage='The Assessment Key - Unique key for the assessment type)')] [string] $assessmentName, [parameter(mandatory=$False,HelpMessage='OData expand. Optional.)')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The identifier of the resource.)')] [string] $resourceId ) process { $arguments = @{} $arguments["assessmentName"] = $assessmentName $arguments["resourceId"] = $resourceId if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:security:getAssessment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetIotSecuritySolution { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the IoT Security solution.)')] [string] $solutionName ) process { $arguments = @{} $arguments["resourceGroupName"] = $resourceGroupName $arguments["solutionName"] = $solutionName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getIotSecuritySolution -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetAdvancedThreatProtection { param ( [parameter(mandatory=$False,HelpMessage='Advanced Threat Protection setting name.)')] [string] $settingName, [parameter(mandatory=$False,HelpMessage='The identifier of the resource.)')] [string] $resourceId ) process { $arguments = @{} $arguments["resourceId"] = $resourceId $arguments["settingName"] = $settingName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getAdvancedThreatProtection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetSqlVulnerabilityAssessmentBaselineRule { param ( [parameter(mandatory=$False,HelpMessage='The workspace Id.)')] [string] $workspaceId, [parameter(mandatory=$False,HelpMessage='The rule Id.)')] [string] $ruleId, [parameter(mandatory=$False,HelpMessage='The identifier of the resource.)')] [string] $resourceId ) process { $arguments = @{} $arguments["resourceId"] = $resourceId $arguments["ruleId"] = $ruleId $arguments["workspaceId"] = $workspaceId $functionObject = Invoke-PulumiFunction -Name azure-native:security:getSqlVulnerabilityAssessmentBaselineRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetAutomation { param ( [parameter(mandatory=$False,HelpMessage='The security automation name.)')] [string] $automationName, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["automationName"] = $automationName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getAutomation -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityListIngestionSettingConnectionStrings { param ( [parameter(mandatory=$False,HelpMessage='Name of the ingestion setting)')] [string] $ingestionSettingName ) process { $arguments = @{} $arguments["ingestionSettingName"] = $ingestionSettingName $functionObject = Invoke-PulumiFunction -Name azure-native:security:listIngestionSettingConnectionStrings -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetAssignment { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The security assignment key - unique key for the standard assignment)')] [string] $assignmentId ) process { $arguments = @{} $arguments["assignmentId"] = $assignmentId $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getAssignment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetSecurityConnector { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The security connector name.)')] [string] $securityConnectorName ) process { $arguments = @{} $arguments["resourceGroupName"] = $resourceGroupName $arguments["securityConnectorName"] = $securityConnectorName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getSecurityConnector -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetCustomEntityStoreAssignment { param ( [parameter(mandatory=$False,HelpMessage='Name of the custom entity store assignment. Generated name is GUID.)')] [string] $customEntityStoreAssignmentName, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["customEntityStoreAssignmentName"] = $customEntityStoreAssignmentName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getCustomEntityStoreAssignment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetDeviceSecurityGroup { param ( [parameter(mandatory=$False,HelpMessage='The name of the device security group. Note that the name of the device security group is case insensitive.)')] [string] $deviceSecurityGroupName, [parameter(mandatory=$False,HelpMessage='The identifier of the resource.)')] [string] $resourceId ) process { $arguments = @{} $arguments["deviceSecurityGroupName"] = $deviceSecurityGroupName $arguments["resourceId"] = $resourceId $functionObject = Invoke-PulumiFunction -Name azure-native:security:getDeviceSecurityGroup -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetWorkspaceSetting { param ( [parameter(mandatory=$False,HelpMessage='Name of the security setting)')] [string] $workspaceSettingName ) process { $arguments = @{} $arguments["workspaceSettingName"] = $workspaceSettingName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getWorkspaceSetting -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityListIngestionSettingTokens { param ( [parameter(mandatory=$False,HelpMessage='Name of the ingestion setting)')] [string] $ingestionSettingName ) process { $arguments = @{} $arguments["ingestionSettingName"] = $ingestionSettingName $functionObject = Invoke-PulumiFunction -Name azure-native:security:listIngestionSettingTokens -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetSecurityContact { param ( [parameter(mandatory=$False,HelpMessage='Name of the security contact object)')] [string] $securityContactName ) process { $arguments = @{} $arguments["securityContactName"] = $securityContactName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getSecurityContact -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetJitNetworkAccessPolicy { param ( [parameter(mandatory=$False,HelpMessage='The location where ASC stores the data of the subscription. can be retrieved from Get locations)')] [string] $ascLocation, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of a Just-in-Time access configuration policy.)')] [string] $jitNetworkAccessPolicyName ) process { $arguments = @{} $arguments["ascLocation"] = $ascLocation $arguments["jitNetworkAccessPolicyName"] = $jitNetworkAccessPolicyName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getJitNetworkAccessPolicy -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetServerVulnerabilityAssessment { param ( [parameter(mandatory=$False,HelpMessage='Name of the resource.)')] [string] $resourceName, [parameter(mandatory=$False,HelpMessage='The type of the resource.)')] [string] $resourceType, [parameter(mandatory=$False,HelpMessage='ServerVulnerabilityAssessment status. only a ''default'' value is supported.)')] [string] $serverVulnerabilityAssessment, [parameter(mandatory=$False,HelpMessage='The Namespace of the resource.)')] [string] $resourceNamespace, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["resourceGroupName"] = $resourceGroupName $arguments["resourceName"] = $resourceName $arguments["resourceNamespace"] = $resourceNamespace $arguments["resourceType"] = $resourceType $arguments["serverVulnerabilityAssessment"] = $serverVulnerabilityAssessment $functionObject = Invoke-PulumiFunction -Name azure-native:security:getServerVulnerabilityAssessment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetAssessmentMetadataInSubscription { param ( [parameter(mandatory=$False,HelpMessage='The Assessment Key - Unique key for the assessment type)')] [string] $assessmentMetadataName ) process { $arguments = @{} $arguments["assessmentMetadataName"] = $assessmentMetadataName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getAssessmentMetadataInSubscription -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetStandard { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The Security Standard key - unique key for the standard type)')] [string] $standardId ) process { $arguments = @{} $arguments["resourceGroupName"] = $resourceGroupName $arguments["standardId"] = $standardId $functionObject = Invoke-PulumiFunction -Name azure-native:security:getStandard -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionSecurityGetAdaptiveApplicationControl { param ( [parameter(mandatory=$False,HelpMessage='The location where ASC stores the data of the subscription. can be retrieved from Get locations)')] [string] $ascLocation, [parameter(mandatory=$False,HelpMessage='Name of an application control machine group)')] [string] $groupName ) process { $arguments = @{} $arguments["ascLocation"] = $ascLocation $arguments["groupName"] = $groupName $functionObject = Invoke-PulumiFunction -Name azure-native:security:getAdaptiveApplicationControl -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } class AssessmentStatus { [ArgumentCompletions('Healthy', 'Unhealthy', 'NotApplicable')] [string] $code [string] $description [string] $cause } function New-AzureNativeTypeSecurityAssessmentStatus { param ( [parameter(mandatory=$False,HelpMessage='Programmatic code for the status of the assessment)')] [string] [ValidateSet('Healthy', 'Unhealthy', 'NotApplicable')] $code, [parameter(mandatory=$False,HelpMessage='Human readable description of the assessment status)')] [string] $description, [parameter(mandatory=$False,HelpMessage='Programmatic code for the cause of the assessment status)')] [string] $cause ) process { return $([AssessmentStatus]$PSBoundParameters) } } class SecurityAssessmentPartnerData { [string] $secret [string] $partnerName } function New-AzureNativeTypeSecuritySecurityAssessmentPartnerData { param ( [parameter(mandatory=$False,HelpMessage='secret to authenticate the partner - write only)')] [string] $secret, [parameter(mandatory=$False,HelpMessage='Name of the company of the partner)')] [string] $partnerName ) process { return $([SecurityAssessmentPartnerData]$PSBoundParameters) } } class SecurityAssessmentMetadataPartnerData { [string] $productName [string] $secret [string] $partnerName } function New-AzureNativeTypeSecuritySecurityAssessmentMetadataPartnerData { param ( [parameter(mandatory=$False,HelpMessage='Name of the product of the partner that created the assessment)')] [string] $productName, [parameter(mandatory=$False,HelpMessage='Secret to authenticate the partner and verify it created the assessment - write only)')] [string] $secret, [parameter(mandatory=$False,HelpMessage='Name of the company of the partner)')] [string] $partnerName ) process { return $([SecurityAssessmentMetadataPartnerData]$PSBoundParameters) } } class SecurityAssessmentMetadataProperties { [string[]] $threats [SecurityAssessmentMetadataPartnerData] $partnerData [ArgumentCompletions('Low', 'Moderate', 'High')] [string] $userImpact [ArgumentCompletions('BuiltIn', 'CustomPolicy', 'CustomerManaged', 'VerifiedPartner')] [string] $assessmentType [string] $remediationDescription [string] $displayName [bool] $preview [ArgumentCompletions('Low', 'Moderate', 'High')] [string] $implementationEffort [string] $description [string[]] $categories [ArgumentCompletions('Low', 'Medium', 'High')] [string] $severity } function New-AzureNativeTypeSecuritySecurityAssessmentMetadataProperties { param ( [parameter(mandatory=$False,HelpMessage=')')] $threats, [parameter(mandatory=$False,HelpMessage='Describes the partner that created the assessment)')] [SecurityAssessmentMetadataPartnerData] $partnerData, [parameter(mandatory=$False,HelpMessage='The user impact of the assessment)')] [string] [ValidateSet('Low', 'Moderate', 'High')] $userImpact, [parameter(mandatory=$False,HelpMessage='BuiltIn if the assessment based on built-in Azure Policy definition, Custom if the assessment based on custom Azure Policy definition)')] [string] [ValidateSet('BuiltIn', 'CustomPolicy', 'CustomerManaged', 'VerifiedPartner')] $assessmentType, [parameter(mandatory=$False,HelpMessage='Human readable description of what you should do to mitigate this security issue)')] [string] $remediationDescription, [parameter(mandatory=$False,HelpMessage='User friendly display name of the assessment)')] [string] $displayName, [parameter(mandatory=$False,HelpMessage='True if this assessment is in preview release status)')] [bool] $preview, [parameter(mandatory=$False,HelpMessage='The implementation effort required to remediate this assessment)')] [string] [ValidateSet('Low', 'Moderate', 'High')] $implementationEffort, [parameter(mandatory=$False,HelpMessage='Human readable description of the assessment)')] [string] $description, [parameter(mandatory=$False,HelpMessage=')')] $categories, [parameter(mandatory=$False,HelpMessage='The severity level of the assessment)')] [string] [ValidateSet('Low', 'Medium', 'High')] $severity ) process { return $([SecurityAssessmentMetadataProperties]$PSBoundParameters) } } class OnPremiseSqlResourceDetails { [string] $databaseName [string] $serverName [string] $machineName [string] $source [string] $sourceComputerId [string] $vmuuid [string] $workspaceId } function New-AzureNativeTypeSecurityOnPremiseSqlResourceDetails { param ( [parameter(mandatory=$False,HelpMessage='The Sql database name installed on the machine)')] [string] $databaseName, [parameter(mandatory=$False,HelpMessage='The Sql server name installed on the machine)')] [string] $serverName, [parameter(mandatory=$False,HelpMessage='The name of the machine)')] [string] $machineName, [parameter(mandatory=$False,HelpMessage='The platform where the assessed resource resides Expected value is ''OnPremiseSql''.)')] [string] $source, [parameter(mandatory=$False,HelpMessage='The oms agent Id installed on the machine)')] [string] $sourceComputerId, [parameter(mandatory=$False,HelpMessage='The unique Id of the machine)')] [string] $vmuuid, [parameter(mandatory=$False,HelpMessage='Azure resource Id of the workspace the machine is attached to)')] [string] $workspaceId ) process { return $([OnPremiseSqlResourceDetails]$PSBoundParameters) } } function New-AzureNativeSecurityAssessment { [Alias('azure_native_security_assessment')] param ( [parameter(mandatory=$False,HelpMessage='The Assessment Key - Unique key for the assessment type)')] [string] $assessmentName, [parameter(mandatory=$False,HelpMessage='The result of the assessment)')] [AssessmentStatus] $status, [parameter(mandatory=$False,HelpMessage='Data regarding 3rd party partner integration)')] [SecurityAssessmentPartnerData] $partnersData, [parameter(mandatory=$False,HelpMessage='Describes properties of an assessment metadata.)')] [SecurityAssessmentMetadataProperties] $metadata, [parameter(mandatory=$False,HelpMessage='The identifier of the resource.)')] [string] $resourceId, [parameter(mandatory=$False,HelpMessage='Details of the resource that was assessed)')] [OnPremiseSqlResourceDetails] $resourceDetails, [parameter(mandatory=$False,HelpMessage='Additional data regarding the assessment)')] [hashtable] $additionalData, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:Assessment") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceDetails"] = $resourceDetails $resource.properties["resourceId"] = $resourceId $resource.properties["status"] = $status if($PSBoundParameters.Keys -icontains 'assessmentName') { $resource.properties["assessmentName"] = $assessmentName } if($PSBoundParameters.Keys -icontains 'partnersData') { $resource.properties["partnersData"] = $partnersData } if($PSBoundParameters.Keys -icontains 'metadata') { $resource.properties["metadata"] = $metadata } if($PSBoundParameters.Keys -icontains 'additionalData') { $resource.properties["additionalData"] = $additionalData } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityJitNetworkAccessPolicy { [Alias('azure_native_security_jitnetworkaccesspolicy')] param ( [parameter(mandatory=$False,HelpMessage='Kind of the resource)')] [string] $kind, [parameter(mandatory=$False,HelpMessage='Name of a Just-in-Time access configuration policy.)')] [string] $jitNetworkAccessPolicyName, [parameter(mandatory=$False,HelpMessage='The location where ASC stores the data of the subscription. can be retrieved from Get locations)')] [string] $ascLocation, [parameter(mandatory=$False,HelpMessage='Configurations for Microsoft.Compute/virtualMachines resource type.)')] $virtualMachines, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage=')')] $requests, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:JitNetworkAccessPolicy") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["ascLocation"] = $ascLocation $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["virtualMachines"] = $virtualMachines if($PSBoundParameters.Keys -icontains 'kind') { $resource.properties["kind"] = $kind } if($PSBoundParameters.Keys -icontains 'jitNetworkAccessPolicyName') { $resource.properties["jitNetworkAccessPolicyName"] = $jitNetworkAccessPolicyName } if($PSBoundParameters.Keys -icontains 'requests') { $resource.properties["requests"] = $requests } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityAssessmentMetadataInSubscription { [Alias('azure_native_security_assessmentmetadatainsubscription')] param ( [parameter(mandatory=$False,HelpMessage='The severity level of the assessment)')] [string] [ValidateSet('Low', 'Medium', 'High')] $severity, [parameter(mandatory=$False,HelpMessage='Describes the partner that created the assessment)')] [SecurityAssessmentMetadataPartnerData] $partnerData, [parameter(mandatory=$False,HelpMessage='The user impact of the assessment)')] [string] [ValidateSet('Low', 'Moderate', 'High')] $userImpact, [parameter(mandatory=$False,HelpMessage='BuiltIn if the assessment based on built-in Azure Policy definition, Custom if the assessment based on custom Azure Policy definition)')] [string] [ValidateSet('BuiltIn', 'CustomPolicy', 'CustomerManaged', 'VerifiedPartner')] $assessmentType, [parameter(mandatory=$False,HelpMessage=')')] $threats, [parameter(mandatory=$False,HelpMessage='Human readable description of what you should do to mitigate this security issue)')] [string] $remediationDescription, [parameter(mandatory=$False,HelpMessage='User friendly display name of the assessment)')] [string] $displayName, [parameter(mandatory=$False,HelpMessage='True if this assessment is in preview release status)')] [bool] $preview, [parameter(mandatory=$False,HelpMessage='The implementation effort required to remediate this assessment)')] [string] [ValidateSet('Low', 'Moderate', 'High')] $implementationEffort, [parameter(mandatory=$False,HelpMessage='Human readable description of the assessment)')] [string] $description, [parameter(mandatory=$False,HelpMessage=')')] $categories, [parameter(mandatory=$False,HelpMessage='The Assessment Key - Unique key for the assessment type)')] [string] $assessmentMetadataName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:AssessmentMetadataInSubscription") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["assessmentType"] = $assessmentType $resource.properties["displayName"] = $displayName $resource.properties["severity"] = $severity if($PSBoundParameters.Keys -icontains 'partnerData') { $resource.properties["partnerData"] = $partnerData } if($PSBoundParameters.Keys -icontains 'userImpact') { $resource.properties["userImpact"] = $userImpact } if($PSBoundParameters.Keys -icontains 'threats') { $resource.properties["threats"] = $threats } if($PSBoundParameters.Keys -icontains 'remediationDescription') { $resource.properties["remediationDescription"] = $remediationDescription } if($PSBoundParameters.Keys -icontains 'preview') { $resource.properties["preview"] = $preview } if($PSBoundParameters.Keys -icontains 'implementationEffort') { $resource.properties["implementationEffort"] = $implementationEffort } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } if($PSBoundParameters.Keys -icontains 'categories') { $resource.properties["categories"] = $categories } if($PSBoundParameters.Keys -icontains 'assessmentMetadataName') { $resource.properties["assessmentMetadataName"] = $assessmentMetadataName } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityIngestionSetting { [Alias('azure_native_security_ingestionsetting')] param ( [parameter(mandatory=$False,HelpMessage='Name of the ingestion setting)')] [string] $ingestionSettingName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:IngestionSetting") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } if($PSBoundParameters.Keys -icontains 'ingestionSettingName') { $resource.properties["ingestionSettingName"] = $ingestionSettingName } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityWorkspaceSetting { [Alias('azure_native_security_workspacesetting')] param ( [parameter(mandatory=$False,HelpMessage='The full Azure ID of the workspace to save the data in)')] [string] $workspaceId, [parameter(mandatory=$False,HelpMessage='All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope)')] [string] $scope, [parameter(mandatory=$False,HelpMessage='Name of the security setting)')] [string] $workspaceSettingName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:WorkspaceSetting") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["scope"] = $scope $resource.properties["workspaceId"] = $workspaceId if($PSBoundParameters.Keys -icontains 'workspaceSettingName') { $resource.properties["workspaceSettingName"] = $workspaceSettingName } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityDeviceSecurityGroup { [Alias('azure_native_security_devicesecuritygroup')] param ( [parameter(mandatory=$False,HelpMessage='The list of custom alert threshold rules.)')] $thresholdRules, [parameter(mandatory=$False,HelpMessage='The name of the device security group. Note that the name of the device security group is case insensitive.)')] [string] $deviceSecurityGroupName, [parameter(mandatory=$False,HelpMessage='The identifier of the resource.)')] [string] $resourceId, [parameter(mandatory=$False,HelpMessage='The deny-list custom alert rules.)')] $denylistRules, [parameter(mandatory=$False,HelpMessage='The allow-list custom alert rules.)')] $allowlistRules, [parameter(mandatory=$False,HelpMessage='The list of custom alert time-window rules.)')] $timeWindowRules, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:DeviceSecurityGroup") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceId"] = $resourceId if($PSBoundParameters.Keys -icontains 'thresholdRules') { $resource.properties["thresholdRules"] = $thresholdRules } if($PSBoundParameters.Keys -icontains 'deviceSecurityGroupName') { $resource.properties["deviceSecurityGroupName"] = $deviceSecurityGroupName } if($PSBoundParameters.Keys -icontains 'denylistRules') { $resource.properties["denylistRules"] = $denylistRules } if($PSBoundParameters.Keys -icontains 'allowlistRules') { $resource.properties["allowlistRules"] = $allowlistRules } if($PSBoundParameters.Keys -icontains 'timeWindowRules') { $resource.properties["timeWindowRules"] = $timeWindowRules } $global:pulumiresources += $resource return $resource } } class UserDefinedResourcesProperties { [string] $query [string[]] $querySubscriptions } function New-AzureNativeTypeSecurityUserDefinedResourcesProperties { param ( [parameter(mandatory=$False,HelpMessage='Azure Resource Graph query which represents the security solution''s user defined resources. Required to start with "where type != "Microsoft.Devices/IotHubs"")')] [string] $query, [parameter(mandatory=$False,HelpMessage='List of Azure subscription ids on which the user defined resources query should be executed.)')] [string[]] $querySubscriptions ) process { return $([UserDefinedResourcesProperties]$PSBoundParameters) } } function New-AzureNativeSecurityIotSecuritySolution { [Alias('azure_native_security_iotsecuritysolution')] param ( [parameter(mandatory=$False,HelpMessage='Resource display name.)')] [string] $displayName, [parameter(mandatory=$False,HelpMessage='List of the configuration status for each recommendation type.)')] $recommendationsConfiguration, [parameter(mandatory=$False,HelpMessage='List of additional workspaces)')] $additionalWorkspaces, [parameter(mandatory=$False,HelpMessage='Resource tags)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the IoT Security solution.)')] [string] $solutionName, [parameter(mandatory=$False,HelpMessage='List of additional options for exporting to workspace data.)')] $export, [parameter(mandatory=$False,HelpMessage='Properties of the IoT Security solution''s user defined resources.)')] [UserDefinedResourcesProperties] $userDefinedResources, [parameter(mandatory=$False,HelpMessage='Unmasked IP address logging status)')] [string] [ValidateSet('Disabled', 'Enabled')] $unmaskedIpLoggingStatus, [parameter(mandatory=$False,HelpMessage='The resource location.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Status of the IoT Security solution.)')] [string] [ValidateSet('Enabled', 'Disabled')] $status, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Workspace resource ID)')] [string] $workspace, [parameter(mandatory=$False,HelpMessage='IoT Hub resource IDs)')] [string[]] $iotHubs, [parameter(mandatory=$False,HelpMessage='Disabled data sources. Disabling these data sources compromises the system.)')] $disabledDataSources, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:IotSecuritySolution") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["displayName"] = $displayName $resource.properties["iotHubs"] = $iotHubs $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'recommendationsConfiguration') { $resource.properties["recommendationsConfiguration"] = $recommendationsConfiguration } if($PSBoundParameters.Keys -icontains 'additionalWorkspaces') { $resource.properties["additionalWorkspaces"] = $additionalWorkspaces } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'solutionName') { $resource.properties["solutionName"] = $solutionName } if($PSBoundParameters.Keys -icontains 'export') { $resource.properties["export"] = $export } if($PSBoundParameters.Keys -icontains 'userDefinedResources') { $resource.properties["userDefinedResources"] = $userDefinedResources } if($PSBoundParameters.Keys -icontains 'unmaskedIpLoggingStatus') { $resource.properties["unmaskedIpLoggingStatus"] = $unmaskedIpLoggingStatus } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'status') { $resource.properties["status"] = $status } if($PSBoundParameters.Keys -icontains 'workspace') { $resource.properties["workspace"] = $workspace } if($PSBoundParameters.Keys -icontains 'disabledDataSources') { $resource.properties["disabledDataSources"] = $disabledDataSources } $global:pulumiresources += $resource return $resource } } class SecurityConnectorPropertiesOrganizationalData { [string] $parentHierarchyId [string[]] $excludedAccountIds [string] $stacksetName [ArgumentCompletions('Member', 'Organization')] [string] $organizationMembershipType } function New-AzureNativeTypeSecuritySecurityConnectorPropertiesOrganizationalData { param ( [parameter(mandatory=$False,HelpMessage='If the multi cloud account is not of membership type organization, this will be the ID of the account''s parent)')] [string] $parentHierarchyId, [parameter(mandatory=$False,HelpMessage='If the multi cloud account is of membership type organization, list of accounts excluded from offering)')] [string[]] $excludedAccountIds, [parameter(mandatory=$False,HelpMessage='If the multi cloud account is of membership type organization, this will be the name of the onboarding stackset)')] [string] $stacksetName, [parameter(mandatory=$False,HelpMessage='The multi cloud account''s membership type in the organization)')] [string] [ValidateSet('Member', 'Organization')] $organizationMembershipType ) process { return $([SecurityConnectorPropertiesOrganizationalData]$PSBoundParameters) } } function New-AzureNativeSecuritySecurityConnector { [Alias('azure_native_security_securityconnector')] param ( [parameter(mandatory=$False,HelpMessage='A collection of offerings for the security connector.)')] $offerings, [parameter(mandatory=$False,HelpMessage='The multi cloud resource identifier (account id in case of AWS connector).)')] [string] $hierarchyIdentifier, [parameter(mandatory=$False,HelpMessage='The multi cloud account''s organizational data)')] [SecurityConnectorPropertiesOrganizationalData] $organizationalData, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The security connector name.)')] [string] $securityConnectorName, [parameter(mandatory=$False,HelpMessage='A list of key value pairs that describe the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The multi cloud resource''s cloud name.)')] [string] [ValidateSet('Azure', 'AWS', 'GCP')] $cloudName, [parameter(mandatory=$False,HelpMessage='Location where the resource is stored)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Kind of the resource)')] [string] $kind, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:SecurityConnector") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'offerings') { $resource.properties["offerings"] = $offerings } if($PSBoundParameters.Keys -icontains 'hierarchyIdentifier') { $resource.properties["hierarchyIdentifier"] = $hierarchyIdentifier } if($PSBoundParameters.Keys -icontains 'organizationalData') { $resource.properties["organizationalData"] = $organizationalData } if($PSBoundParameters.Keys -icontains 'securityConnectorName') { $resource.properties["securityConnectorName"] = $securityConnectorName } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'cloudName') { $resource.properties["cloudName"] = $cloudName } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'kind') { $resource.properties["kind"] = $kind } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityAutomation { [Alias('azure_native_security_automation')] param ( [parameter(mandatory=$False,HelpMessage='A collection of the source event types which evaluate the security automation set of rules.)')] $sources, [parameter(mandatory=$False,HelpMessage='A collection of the actions which are triggered if all the configured rules evaluations, within at least one rule set, are true.)')] $actions, [parameter(mandatory=$False,HelpMessage='Indicates whether the security automation is enabled.)')] [bool] $isEnabled, [parameter(mandatory=$False,HelpMessage='A list of key value pairs that describe the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='A collection of scopes on which the security automations logic is applied. Supported scopes are the subscription itself or a resource group under that subscription. The automation will only apply on defined scopes.)')] $scopes, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The security automation name.)')] [string] $automationName, [parameter(mandatory=$False,HelpMessage='Location where the resource is stored)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The security automation description.)')] [string] $description, [parameter(mandatory=$False,HelpMessage='Kind of the resource)')] [string] $kind, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:Automation") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'sources') { $resource.properties["sources"] = $sources } if($PSBoundParameters.Keys -icontains 'actions') { $resource.properties["actions"] = $actions } if($PSBoundParameters.Keys -icontains 'isEnabled') { $resource.properties["isEnabled"] = $isEnabled } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'scopes') { $resource.properties["scopes"] = $scopes } if($PSBoundParameters.Keys -icontains 'automationName') { $resource.properties["automationName"] = $automationName } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } if($PSBoundParameters.Keys -icontains 'kind') { $resource.properties["kind"] = $kind } $global:pulumiresources += $resource return $resource } } class ProtectionMode { [string] $exe [string] $msi [string] $script [string] $executable } function New-AzureNativeTypeSecurityProtectionMode { param ( [parameter(mandatory=$False,HelpMessage='The application control policy enforcement/protection mode of the machine group)')] [string] $exe, [parameter(mandatory=$False,HelpMessage='The application control policy enforcement/protection mode of the machine group)')] [string] $msi, [parameter(mandatory=$False,HelpMessage='The application control policy enforcement/protection mode of the machine group)')] [string] $script, [parameter(mandatory=$False,HelpMessage='The application control policy enforcement/protection mode of the machine group)')] [string] $executable ) process { return $([ProtectionMode]$PSBoundParameters) } } function New-AzureNativeSecurityAdaptiveApplicationControl { [Alias('azure_native_security_adaptiveapplicationcontrol')] param ( [parameter(mandatory=$False,HelpMessage='The protection mode of the collection/file types. Exe/Msi/Script are used for Windows, Executable is used for Linux.)')] [ProtectionMode] $protectionMode, [parameter(mandatory=$False,HelpMessage=')')] $vmRecommendations, [parameter(mandatory=$False,HelpMessage='The location where ASC stores the data of the subscription. can be retrieved from Get locations)')] [string] $ascLocation, [parameter(mandatory=$False,HelpMessage=')')] $pathRecommendations, [parameter(mandatory=$False,HelpMessage='The application control policy enforcement/protection mode of the machine group)')] [string] $enforcementMode, [parameter(mandatory=$False,HelpMessage='Name of an application control machine group)')] [string] $groupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:AdaptiveApplicationControl") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["ascLocation"] = $ascLocation if($PSBoundParameters.Keys -icontains 'protectionMode') { $resource.properties["protectionMode"] = $protectionMode } if($PSBoundParameters.Keys -icontains 'vmRecommendations') { $resource.properties["vmRecommendations"] = $vmRecommendations } if($PSBoundParameters.Keys -icontains 'pathRecommendations') { $resource.properties["pathRecommendations"] = $pathRecommendations } if($PSBoundParameters.Keys -icontains 'enforcementMode') { $resource.properties["enforcementMode"] = $enforcementMode } if($PSBoundParameters.Keys -icontains 'groupName') { $resource.properties["groupName"] = $groupName } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityStandard { [Alias('azure_native_security_standard')] param ( [parameter(mandatory=$False,HelpMessage='category of the standard provided)')] [string] $category, [parameter(mandatory=$False,HelpMessage='The Security Standard key - unique key for the standard type)')] [string] $standardId, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='List of all standard supported clouds.)')] $supportedClouds, [parameter(mandatory=$False,HelpMessage='A list of key value pairs that describe the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='List of component objects containing component unique keys (such as assessment keys) to apply to standard scope. Currently only supports assessment keys.)')] $components, [parameter(mandatory=$False,HelpMessage='display name of the standard, equivalent to the standardId)')] [string] $displayName, [parameter(mandatory=$False,HelpMessage='Location where the resource is stored)')] [string] $location, [parameter(mandatory=$False,HelpMessage='description of the standard)')] [string] $description, [parameter(mandatory=$False,HelpMessage='Kind of the resource)')] [string] $kind, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:Standard") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'category') { $resource.properties["category"] = $category } if($PSBoundParameters.Keys -icontains 'standardId') { $resource.properties["standardId"] = $standardId } if($PSBoundParameters.Keys -icontains 'supportedClouds') { $resource.properties["supportedClouds"] = $supportedClouds } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'components') { $resource.properties["components"] = $components } if($PSBoundParameters.Keys -icontains 'displayName') { $resource.properties["displayName"] = $displayName } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } if($PSBoundParameters.Keys -icontains 'kind') { $resource.properties["kind"] = $kind } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityCustomAssessmentAutomation { [Alias('azure_native_security_customassessmentautomation')] param ( [parameter(mandatory=$False,HelpMessage='The display name of the assessments generated by this assessment automation.)')] [string] $displayName, [parameter(mandatory=$False,HelpMessage='The description to relate to the assessments generated by this assessment automation.)')] [string] $description, [parameter(mandatory=$False,HelpMessage='Relevant cloud for the custom assessment automation.)')] [string] [ValidateSet('AWS', 'GCP')] $supportedCloud, [parameter(mandatory=$False,HelpMessage='Base 64 encoded KQL query representing the assessment automation results required.)')] [string] $compressedQuery, [parameter(mandatory=$False,HelpMessage='The remediation description to relate to the assessments generated by this assessment automation.)')] [string] $remediationDescription, [parameter(mandatory=$False,HelpMessage='Name of the Custom Assessment Automation.)')] [string] $customAssessmentAutomationName, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The severity to relate to the assessments generated by this assessment automation.)')] [string] [ValidateSet('High', 'Medium', 'Low')] $severity, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:CustomAssessmentAutomation") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'displayName') { $resource.properties["displayName"] = $displayName } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } if($PSBoundParameters.Keys -icontains 'supportedCloud') { $resource.properties["supportedCloud"] = $supportedCloud } if($PSBoundParameters.Keys -icontains 'compressedQuery') { $resource.properties["compressedQuery"] = $compressedQuery } if($PSBoundParameters.Keys -icontains 'remediationDescription') { $resource.properties["remediationDescription"] = $remediationDescription } if($PSBoundParameters.Keys -icontains 'customAssessmentAutomationName') { $resource.properties["customAssessmentAutomationName"] = $customAssessmentAutomationName } if($PSBoundParameters.Keys -icontains 'severity') { $resource.properties["severity"] = $severity } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecuritySqlVulnerabilityAssessmentBaselineRule { [Alias('azure_native_security_sqlvulnerabilityassessmentbaselinerule')] param ( [parameter(mandatory=$False,HelpMessage='The workspace Id.)')] [string] $workspaceId, [parameter(mandatory=$False,HelpMessage='Take results from latest scan.)')] [bool] $latestScan, [parameter(mandatory=$False,HelpMessage='Expected results to be inserted into the baseline. Leave this field empty it LatestScan == true.)')] [array[]] $results, [parameter(mandatory=$False,HelpMessage='The rule Id.)')] [string] $ruleId, [parameter(mandatory=$False,HelpMessage='The identifier of the resource.)')] [string] $resourceId, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:SqlVulnerabilityAssessmentBaselineRule") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceId"] = $resourceId $resource.properties["workspaceId"] = $workspaceId if($PSBoundParameters.Keys -icontains 'latestScan') { $resource.properties["latestScan"] = $latestScan } if($PSBoundParameters.Keys -icontains 'results') { $resource.properties["results"] = $results } if($PSBoundParameters.Keys -icontains 'ruleId') { $resource.properties["ruleId"] = $ruleId } $global:pulumiresources += $resource return $resource } } class SecurityContactPropertiesAlertNotifications { [ArgumentCompletions('On', 'Off')] [string] $state [ArgumentCompletions('High', 'Medium', 'Low')] [string] $minimalSeverity } function New-AzureNativeTypeSecuritySecurityContactPropertiesAlertNotifications { param ( [parameter(mandatory=$False,HelpMessage='Defines if email notifications will be sent about new security alerts)')] [string] [ValidateSet('On', 'Off')] $state, [parameter(mandatory=$False,HelpMessage='Defines the minimal alert severity which will be sent as email notifications)')] [string] [ValidateSet('High', 'Medium', 'Low')] $minimalSeverity ) process { return $([SecurityContactPropertiesAlertNotifications]$PSBoundParameters) } } class SecurityContactPropertiesNotificationsByRole { [string[]] $roles [ArgumentCompletions('On', 'Off')] [string] $state } function New-AzureNativeTypeSecuritySecurityContactPropertiesNotificationsByRole { param ( [parameter(mandatory=$False,HelpMessage='Defines which RBAC roles will get email notifications from Microsoft Defender for Cloud. List of allowed RBAC roles: )')] $roles, [parameter(mandatory=$False,HelpMessage='Defines whether to send email notifications from AMicrosoft Defender for Cloud to persons with specific RBAC roles on the subscription.)')] [string] [ValidateSet('On', 'Off')] $state ) process { return $([SecurityContactPropertiesNotificationsByRole]$PSBoundParameters) } } function New-AzureNativeSecuritySecurityContact { [Alias('azure_native_security_securitycontact')] param ( [parameter(mandatory=$False,HelpMessage='Name of the security contact object)')] [string] $securityContactName, [parameter(mandatory=$False,HelpMessage='List of email addresses which will get notifications from Microsoft Defender for Cloud by the configurations defined in this security contact.)')] [string] $emails, [parameter(mandatory=$False,HelpMessage='Defines whether to send email notifications about new security alerts)')] [SecurityContactPropertiesAlertNotifications] $alertNotifications, [parameter(mandatory=$False,HelpMessage='The security contact''s phone number)')] [string] $phone, [parameter(mandatory=$False,HelpMessage='Defines whether to send email notifications from Microsoft Defender for Cloud to persons with specific RBAC roles on the subscription.)')] [SecurityContactPropertiesNotificationsByRole] $notificationsByRole, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:SecurityContact") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } if($PSBoundParameters.Keys -icontains 'securityContactName') { $resource.properties["securityContactName"] = $securityContactName } if($PSBoundParameters.Keys -icontains 'emails') { $resource.properties["emails"] = $emails } if($PSBoundParameters.Keys -icontains 'alertNotifications') { $resource.properties["alertNotifications"] = $alertNotifications } if($PSBoundParameters.Keys -icontains 'phone') { $resource.properties["phone"] = $phone } if($PSBoundParameters.Keys -icontains 'notificationsByRole') { $resource.properties["notificationsByRole"] = $notificationsByRole } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityServerVulnerabilityAssessment { [Alias('azure_native_security_servervulnerabilityassessment')] param ( [parameter(mandatory=$False,HelpMessage='Name of the resource.)')] [string] $resourceName, [parameter(mandatory=$False,HelpMessage='The type of the resource.)')] [string] $resourceType, [parameter(mandatory=$False,HelpMessage='ServerVulnerabilityAssessment status. only a ''default'' value is supported.)')] [string] $serverVulnerabilityAssessment, [parameter(mandatory=$False,HelpMessage='The Namespace of the resource.)')] [string] $resourceNamespace, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:ServerVulnerabilityAssessment") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["resourceName"] = $resourceName $resource.properties["resourceNamespace"] = $resourceNamespace $resource.properties["resourceType"] = $resourceType if($PSBoundParameters.Keys -icontains 'serverVulnerabilityAssessment') { $resource.properties["serverVulnerabilityAssessment"] = $serverVulnerabilityAssessment } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityCustomEntityStoreAssignment { [Alias('azure_native_security_customentitystoreassignment')] param ( [parameter(mandatory=$False,HelpMessage='The principal assigned with entity store. If not provided, will use caller principal. Format of principal is: [AAD type]=[PrincipalObjectId];[TenantId])')] [string] $principal, [parameter(mandatory=$False,HelpMessage='Name of the custom entity store assignment. Generated name is GUID.)')] [string] $customEntityStoreAssignmentName, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:CustomEntityStoreAssignment") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'principal') { $resource.properties["principal"] = $principal } if($PSBoundParameters.Keys -icontains 'customEntityStoreAssignmentName') { $resource.properties["customEntityStoreAssignmentName"] = $customEntityStoreAssignmentName } $global:pulumiresources += $resource return $resource } } class ScopeElement { [string] $field } function New-AzureNativeTypeSecurityScopeElement { param ( [parameter(mandatory=$False,HelpMessage='The alert entity type to suppress by.)')] [string] $field ) process { return $([ScopeElement]$PSBoundParameters) } } class SuppressionAlertsScope { [ScopeElement[]] $allOf } function New-AzureNativeTypeSecuritySuppressionAlertsScope { param ( [parameter(mandatory=$False,HelpMessage='All the conditions inside need to be true in order to suppress the alert)')] $allOf ) process { return $([SuppressionAlertsScope]$PSBoundParameters) } } function New-AzureNativeSecurityAlertsSuppressionRule { [Alias('azure_native_security_alertssuppressionrule')] param ( [parameter(mandatory=$False,HelpMessage='The suppression conditions)')] [SuppressionAlertsScope] $suppressionAlertsScope, [parameter(mandatory=$False,HelpMessage='Any comment regarding the rule)')] [string] $comment, [parameter(mandatory=$False,HelpMessage='Expiration date of the rule, if value is not provided or provided as null this field will default to the maximum allowed expiration date.)')] [string] $expirationDateUtc, [parameter(mandatory=$False,HelpMessage='The reason for dismissing the alert)')] [string] $reason, [parameter(mandatory=$False,HelpMessage='The unique name of the suppression alert rule)')] [string] $alertsSuppressionRuleName, [parameter(mandatory=$False,HelpMessage='Possible states of the rule)')] [string] [ValidateSet('Enabled', 'Disabled', 'Expired')] $state, [parameter(mandatory=$False,HelpMessage='Type of the alert to automatically suppress. For all alert types, use ''*'')')] [string] $alertType, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:AlertsSuppressionRule") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["alertType"] = $alertType $resource.properties["reason"] = $reason $resource.properties["state"] = $state if($PSBoundParameters.Keys -icontains 'suppressionAlertsScope') { $resource.properties["suppressionAlertsScope"] = $suppressionAlertsScope } if($PSBoundParameters.Keys -icontains 'comment') { $resource.properties["comment"] = $comment } if($PSBoundParameters.Keys -icontains 'expirationDateUtc') { $resource.properties["expirationDateUtc"] = $expirationDateUtc } if($PSBoundParameters.Keys -icontains 'alertsSuppressionRuleName') { $resource.properties["alertsSuppressionRuleName"] = $alertsSuppressionRuleName } $global:pulumiresources += $resource return $resource } } class GcpCredentialsDetailsProperties { [string] $clientId [string] $authUri [string] $organizationId [string] $privateKey [string] $privateKeyId [string] $type [string] $authenticationType [string] $clientX509CertUrl [string] $clientEmail [string] $tokenUri [string] $projectId [string] $authProviderX509CertUrl } function New-AzureNativeTypeSecurityGcpCredentialsDetailsProperties { param ( [parameter(mandatory=$False,HelpMessage='Client ID field of the API key (write only))')] [string] $clientId, [parameter(mandatory=$False,HelpMessage='Auth URI field of the API key (write only))')] [string] $authUri, [parameter(mandatory=$False,HelpMessage='The organization ID of the GCP cloud account)')] [string] $organizationId, [parameter(mandatory=$False,HelpMessage='Private key field of the API key (write only))')] [string] $privateKey, [parameter(mandatory=$False,HelpMessage='Private key ID field of the API key (write only))')] [string] $privateKeyId, [parameter(mandatory=$False,HelpMessage='Type field of the API key (write only))')] [string] $type, [parameter(mandatory=$False,HelpMessage='Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use account organization credentials. Expected value is ''gcpCredentials''.)')] [string] $authenticationType, [parameter(mandatory=$False,HelpMessage='Client x509 certificate URL field of the API key (write only))')] [string] $clientX509CertUrl, [parameter(mandatory=$False,HelpMessage='Client email field of the API key (write only))')] [string] $clientEmail, [parameter(mandatory=$False,HelpMessage='Token URI field of the API key (write only))')] [string] $tokenUri, [parameter(mandatory=$False,HelpMessage='Project ID field of the API key (write only))')] [string] $projectId, [parameter(mandatory=$False,HelpMessage='Auth provider x509 certificate URL field of the API key (write only))')] [string] $authProviderX509CertUrl ) process { return $([GcpCredentialsDetailsProperties]$PSBoundParameters) } } class ProxyServerProperties { [string] $port [string] $ip } function New-AzureNativeTypeSecurityProxyServerProperties { param ( [parameter(mandatory=$False,HelpMessage='Proxy server port)')] [string] $port, [parameter(mandatory=$False,HelpMessage='Proxy server IP)')] [string] $ip ) process { return $([ProxyServerProperties]$PSBoundParameters) } } class ServicePrincipalProperties { [string] $applicationId [string] $secret } function New-AzureNativeTypeSecurityServicePrincipalProperties { param ( [parameter(mandatory=$False,HelpMessage='Application ID of service principal.)')] [string] $applicationId, [parameter(mandatory=$False,HelpMessage='A secret string that the application uses to prove its identity, also can be referred to as application password (write only).)')] [string] $secret ) process { return $([ServicePrincipalProperties]$PSBoundParameters) } } class HybridComputeSettingsProperties { [ProxyServerProperties] $proxyServer [ArgumentCompletions('On', 'Off')] [string] $autoProvision [ServicePrincipalProperties] $servicePrincipal [string] $resourceGroupName [string] $region } function New-AzureNativeTypeSecurityHybridComputeSettingsProperties { param ( [parameter(mandatory=$False,HelpMessage='For a non-Azure machine that is not connected directly to the internet, specify a proxy server that the non-Azure machine can use.)')] [ProxyServerProperties] $proxyServer, [parameter(mandatory=$False,HelpMessage='Whether or not to automatically install Azure Arc (hybrid compute) agents on machines)')] [string] [ValidateSet('On', 'Off')] $autoProvision, [parameter(mandatory=$False,HelpMessage='An object to access resources that are secured by an Azure AD tenant.)')] [ServicePrincipalProperties] $servicePrincipal, [parameter(mandatory=$False,HelpMessage='The name of the resource group where Arc (Hybrid Compute) connectors are connected.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The location where the metadata of machines will be stored)')] [string] $region ) process { return $([HybridComputeSettingsProperties]$PSBoundParameters) } } function New-AzureNativeSecurityConnector { [Alias('azure_native_security_connector')] param ( [parameter(mandatory=$False,HelpMessage='Settings for authentication management, these settings are relevant only for the cloud connector.)')] [GcpCredentialsDetailsProperties] $authenticationDetails, [parameter(mandatory=$False,HelpMessage='Name of the cloud account connector)')] [string] $connectorName, [parameter(mandatory=$False,HelpMessage='Settings for hybrid compute management. These settings are relevant only for Arc autoProvision (Hybrid Compute).)')] [HybridComputeSettingsProperties] $hybridComputeSettings, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:Connector") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } if($PSBoundParameters.Keys -icontains 'authenticationDetails') { $resource.properties["authenticationDetails"] = $authenticationDetails } if($PSBoundParameters.Keys -icontains 'connectorName') { $resource.properties["connectorName"] = $connectorName } if($PSBoundParameters.Keys -icontains 'hybridComputeSettings') { $resource.properties["hybridComputeSettings"] = $hybridComputeSettings } $global:pulumiresources += $resource return $resource } } function New-AzureNativeSecurityAdvancedThreatProtection { [Alias('azure_native_security_advancedthreatprotection')] param ( [parameter(mandatory=$False,HelpMessage='Advanced Threat Protection setting name.)')] [string] $settingName, [parameter(mandatory=$False,HelpMessage='Indicates whether Advanced Threat Protection is enabled.)')] [bool] $isEnabled, [parameter(mandatory=$False,HelpMessage='The identifier of the resource.)')] [string] $resourceId, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:AdvancedThreatProtection") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceId"] = $resourceId if($PSBoundParameters.Keys -icontains 'settingName') { $resource.properties["settingName"] = $settingName } if($PSBoundParameters.Keys -icontains 'isEnabled') { $resource.properties["isEnabled"] = $isEnabled } $global:pulumiresources += $resource return $resource } } class AssignedStandardItem { [string] $id } function New-AzureNativeTypeSecurityAssignedStandardItem { param ( [parameter(mandatory=$False,HelpMessage='full resourceId of the Microsoft.Security/standard object)')] [string] $id ) process { return $([AssignedStandardItem]$PSBoundParameters) } } class AssignmentPropertiesAdditionalData { [string] $exemptionCategory } function New-AzureNativeTypeSecurityAssignmentPropertiesAdditionalData { param ( [parameter(mandatory=$False,HelpMessage='Exemption category of this assignment)')] [string] $exemptionCategory ) process { return $([AssignmentPropertiesAdditionalData]$PSBoundParameters) } } class AssignedComponentItem { [string] $key } function New-AzureNativeTypeSecurityAssignedComponentItem { param ( [parameter(mandatory=$False,HelpMessage='unique key to a security assessment object)')] [string] $key ) process { return $([AssignedComponentItem]$PSBoundParameters) } } function New-AzureNativeSecurityAssignment { [Alias('azure_native_security_assignment')] param ( [parameter(mandatory=$False,HelpMessage='display name of the standardAssignment)')] [string] $displayName, [parameter(mandatory=$False,HelpMessage='Standard item with key as applied to this standard assignment over the given scope)')] [AssignedStandardItem] $assignedStandard, [parameter(mandatory=$False,HelpMessage='description of the standardAssignment)')] [string] $description, [parameter(mandatory=$False,HelpMessage='A list of key value pairs that describe the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='expected effect of this assignment (Disable/Exempt/etc))')] [string] $effect, [parameter(mandatory=$False,HelpMessage='Additional data about the assignment)')] [AssignmentPropertiesAdditionalData] $additionalData, [parameter(mandatory=$False,HelpMessage='The security assignment key - unique key for the standard assignment)')] [string] $assignmentId, [parameter(mandatory=$False,HelpMessage='Scope to which the standardAssignment applies - can be a subscription path or a resource group under that subscription)')] [string] $scope, [parameter(mandatory=$False,HelpMessage='Location where the resource is stored)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The assignment metadata. Metadata is an open ended object and is typically a collection of key value pairs.)')] $metadata, [parameter(mandatory=$False,HelpMessage='The name of the resource group within the user''s subscription. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Component item with key as applied to this standard assignment over the given scope)')] [AssignedComponentItem] $assignedComponent, [parameter(mandatory=$False,HelpMessage='Kind of the resource)')] [string] $kind, [parameter(mandatory=$False,HelpMessage='Expiration date of this assignment as a full ISO date)')] [string] $expiresOn, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:security:Assignment") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'displayName') { $resource.properties["displayName"] = $displayName } if($PSBoundParameters.Keys -icontains 'assignedStandard') { $resource.properties["assignedStandard"] = $assignedStandard } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'effect') { $resource.properties["effect"] = $effect } if($PSBoundParameters.Keys -icontains 'additionalData') { $resource.properties["additionalData"] = $additionalData } if($PSBoundParameters.Keys -icontains 'assignmentId') { $resource.properties["assignmentId"] = $assignmentId } if($PSBoundParameters.Keys -icontains 'scope') { $resource.properties["scope"] = $scope } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'metadata') { $resource.properties["metadata"] = $metadata } if($PSBoundParameters.Keys -icontains 'assignedComponent') { $resource.properties["assignedComponent"] = $assignedComponent } if($PSBoundParameters.Keys -icontains 'kind') { $resource.properties["kind"] = $kind } if($PSBoundParameters.Keys -icontains 'expiresOn') { $resource.properties["expiresOn"] = $expiresOn } $global:pulumiresources += $resource return $resource } } |