Monitor
SAP monitor info on Azure (ARM properties and SAP monitor properties) Uses Azure REST API version 2024-02-01-preview. In version 2.x of the Azure Native provider, it used API version 2023-12-01-preview. Other available API versions: 2023-04-01, 2023-10-01-preview, 2023-12-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native workloads [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
Create a SAP monitor
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var monitor = new AzureNative.Workloads.Monitor("monitor", new()
{
AppLocation = "westus",
AppServicePlanConfiguration = new AzureNative.Workloads.Inputs.AppServicePlanConfigurationArgs
{
Capacity = 1,
Tier = AzureNative.Workloads.AppServicePlanTier.ElasticPremium,
},
Location = "westus",
LogAnalyticsWorkspaceArmId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/myWorkspace",
ManagedResourceGroupConfiguration = new AzureNative.Workloads.Inputs.ManagedResourceGroupConfigurationArgs
{
Name = "myManagedRg",
},
MonitorName = "mySapMonitor",
MonitorSubnet = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet",
ResourceGroupName = "myResourceGroup",
RoutingPreference = AzureNative.Workloads.RoutingPreference.RouteAll,
Tags =
{
{ "key", "value" },
},
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewMonitor(ctx, "monitor", &workloads.MonitorArgs{
AppLocation: pulumi.String("westus"),
AppServicePlanConfiguration: &workloads.AppServicePlanConfigurationArgs{
Capacity: pulumi.Int(1),
Tier: pulumi.String(workloads.AppServicePlanTierElasticPremium),
},
Location: pulumi.String("westus"),
LogAnalyticsWorkspaceArmId: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/myWorkspace"),
ManagedResourceGroupConfiguration: &workloads.ManagedResourceGroupConfigurationArgs{
Name: pulumi.String("myManagedRg"),
},
MonitorName: pulumi.String("mySapMonitor"),
MonitorSubnet: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"),
ResourceGroupName: pulumi.String("myResourceGroup"),
RoutingPreference: pulumi.String(workloads.RoutingPreferenceRouteAll),
Tags: pulumi.StringMap{
"key": pulumi.String("value"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.workloads.Monitor;
import com.pulumi.azurenative.workloads.MonitorArgs;
import com.pulumi.azurenative.workloads.inputs.AppServicePlanConfigurationArgs;
import com.pulumi.azurenative.workloads.inputs.ManagedResourceGroupConfigurationArgs;
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 monitor = new Monitor("monitor", MonitorArgs.builder()
.appLocation("westus")
.appServicePlanConfiguration(AppServicePlanConfigurationArgs.builder()
.capacity(1)
.tier("ElasticPremium")
.build())
.location("westus")
.logAnalyticsWorkspaceArmId("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/myWorkspace")
.managedResourceGroupConfiguration(ManagedResourceGroupConfigurationArgs.builder()
.name("myManagedRg")
.build())
.monitorName("mySapMonitor")
.monitorSubnet("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet")
.resourceGroupName("myResourceGroup")
.routingPreference("RouteAll")
.tags(Map.of("key", "value"))
.build());
}
}
Create a SAP monitor with system assigned identity
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var monitor = new AzureNative.Workloads.Monitor("monitor", new()
{
AppLocation = "westus",
AppServicePlanConfiguration = new AzureNative.Workloads.Inputs.AppServicePlanConfigurationArgs
{
Capacity = 1,
Tier = AzureNative.Workloads.AppServicePlanTier.ElasticPremium,
},
Identity = new AzureNative.Workloads.Inputs.ManagedServiceIdentityArgs
{
Type = AzureNative.Workloads.ManagedServiceIdentityType.SystemAssigned,
},
Location = "westus",
LogAnalyticsWorkspaceArmId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/myWorkspace",
ManagedResourceGroupConfiguration = new AzureNative.Workloads.Inputs.ManagedResourceGroupConfigurationArgs
{
Name = "myManagedRg",
},
MonitorName = "mySapMonitor",
MonitorSubnet = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet",
ResourceGroupName = "myResourceGroup",
RoutingPreference = AzureNative.Workloads.RoutingPreference.RouteAll,
Tags =
{
{ "key", "value" },
},
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewMonitor(ctx, "monitor", &workloads.MonitorArgs{
AppLocation: pulumi.String("westus"),
AppServicePlanConfiguration: &workloads.AppServicePlanConfigurationArgs{
Capacity: pulumi.Int(1),
Tier: pulumi.String(workloads.AppServicePlanTierElasticPremium),
},
Identity: &workloads.ManagedServiceIdentityArgs{
Type: pulumi.String(workloads.ManagedServiceIdentityTypeSystemAssigned),
},
Location: pulumi.String("westus"),
LogAnalyticsWorkspaceArmId: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/myWorkspace"),
ManagedResourceGroupConfiguration: &workloads.ManagedResourceGroupConfigurationArgs{
Name: pulumi.String("myManagedRg"),
},
MonitorName: pulumi.String("mySapMonitor"),
MonitorSubnet: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"),
ResourceGroupName: pulumi.String("myResourceGroup"),
RoutingPreference: pulumi.String(workloads.RoutingPreferenceRouteAll),
Tags: pulumi.StringMap{
"key": pulumi.String("value"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.workloads.Monitor;
import com.pulumi.azurenative.workloads.MonitorArgs;
import com.pulumi.azurenative.workloads.inputs.AppServicePlanConfigurationArgs;
import com.pulumi.azurenative.workloads.inputs.ManagedServiceIdentityArgs;
import com.pulumi.azurenative.workloads.inputs.ManagedResourceGroupConfigurationArgs;
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 monitor = new Monitor("monitor", MonitorArgs.builder()
.appLocation("westus")
.appServicePlanConfiguration(AppServicePlanConfigurationArgs.builder()
.capacity(1)
.tier("ElasticPremium")
.build())
.identity(ManagedServiceIdentityArgs.builder()
.type("SystemAssigned")
.build())
.location("westus")
.logAnalyticsWorkspaceArmId("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.operationalinsights/workspaces/myWorkspace")
.managedResourceGroupConfiguration(ManagedResourceGroupConfigurationArgs.builder()
.name("myManagedRg")
.build())
.monitorName("mySapMonitor")
.monitorSubnet("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet")
.resourceGroupName("myResourceGroup")
.routingPreference("RouteAll")
.tags(Map.of("key", "value"))
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:workloads:Monitor mySapMonitor /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Workloads/monitors/{monitorName}
Properties
The SAP monitor resources will be deployed in the SAP monitoring region. The subnet region should be same as the SAP monitoring region.
App service plan configuration
The Azure API version of the resource.
Defines the SAP monitor errors.
The managed service identities assigned to this resource.
The ARM ID of the Log Analytics Workspace that is used for SAP monitoring.
Managed resource group configuration
The subnet which the SAP monitor will be deployed in
State of provisioning of the SAP monitor.
Sets the routing preference of the SAP monitor. By default only RFC1918 traffic is routed to the customer VNET.
The ARM ID of the Storage account used for SAP monitoring.
Azure Resource Manager metadata containing createdBy and modifiedBy information.
Sets the preference for zone redundancy on resources created for the SAP monitor. By default resources will be created which do not support zone redundancy.