Iot Security Solution
IoT Security solution configuration and resource information. API Version: 2019-08-01.
Example Usage
Create or update a IoT security solution
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var iotSecuritySolution = new AzureNative.Security.IotSecuritySolution("iotSecuritySolution", new()
{
DisabledDataSources = new[] {},
DisplayName = "Solution Default",
Export = new[] {},
IotHubs = new[]
{
"/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub",
},
Location = "East Us",
RecommendationsConfiguration = new[]
{
new AzureNative.Security.Inputs.RecommendationConfigurationPropertiesArgs
{
RecommendationType = "IoT_OpenPorts",
Status = "Disabled",
},
new AzureNative.Security.Inputs.RecommendationConfigurationPropertiesArgs
{
RecommendationType = "IoT_SharedCredentials",
Status = "Disabled",
},
},
ResourceGroupName = "MyGroup",
SolutionName = "default",
Status = "Enabled",
Tags = null,
UnmaskedIpLoggingStatus = "Enabled",
UserDefinedResources = new AzureNative.Security.Inputs.UserDefinedResourcesPropertiesArgs
{
Query = "where type != \"microsoft.devices/iothubs\" | where name contains \"iot\"",
QuerySubscriptions = new[]
{
"075423e9-7d33-4166-8bdf-3920b04e3735",
},
},
Workspace = "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1",
});
});
Content copied to clipboard
package main
import (
security "github.com/pulumi/pulumi-azure-native-sdk/security"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := security.NewIotSecuritySolution(ctx, "iotSecuritySolution", &security.IotSecuritySolutionArgs{
DisabledDataSources: pulumi.StringArray{},
DisplayName: pulumi.String("Solution Default"),
Export: pulumi.StringArray{},
IotHubs: pulumi.StringArray{
pulumi.String("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub"),
},
Location: pulumi.String("East Us"),
RecommendationsConfiguration: []security.RecommendationConfigurationPropertiesArgs{
{
RecommendationType: pulumi.String("IoT_OpenPorts"),
Status: pulumi.String("Disabled"),
},
{
RecommendationType: pulumi.String("IoT_SharedCredentials"),
Status: pulumi.String("Disabled"),
},
},
ResourceGroupName: pulumi.String("MyGroup"),
SolutionName: pulumi.String("default"),
Status: pulumi.String("Enabled"),
Tags: nil,
UnmaskedIpLoggingStatus: pulumi.String("Enabled"),
UserDefinedResources: &security.UserDefinedResourcesPropertiesArgs{
Query: pulumi.String("where type != \"microsoft.devices/iothubs\" | where name contains \"iot\""),
QuerySubscriptions: pulumi.StringArray{
pulumi.String("075423e9-7d33-4166-8bdf-3920b04e3735"),
},
},
Workspace: pulumi.String("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.security.IotSecuritySolution;
import com.pulumi.azurenative.security.IotSecuritySolutionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var iotSecuritySolution = new IotSecuritySolution("iotSecuritySolution", IotSecuritySolutionArgs.builder()
.disabledDataSources()
.displayName("Solution Default")
.export()
.iotHubs("/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub")
.location("East Us")
.recommendationsConfiguration(
Map.ofEntries(
Map.entry("recommendationType", "IoT_OpenPorts"),
Map.entry("status", "Disabled")
),
Map.ofEntries(
Map.entry("recommendationType", "IoT_SharedCredentials"),
Map.entry("status", "Disabled")
))
.resourceGroupName("MyGroup")
.solutionName("default")
.status("Enabled")
.tags()
.unmaskedIpLoggingStatus("Enabled")
.userDefinedResources(Map.ofEntries(
Map.entry("query", "where type != \"microsoft.devices/iothubs\" | where name contains \"iot\""),
Map.entry("querySubscriptions", "075423e9-7d33-4166-8bdf-3920b04e3735")
))
.workspace("/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1")
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:security:IotSecuritySolution default /subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default
Content copied to clipboard