SAPVirtualInstanceArgs

data class SAPVirtualInstanceArgs(val configuration: Output<Any>? = null, val environment: Output<Either<String, SAPEnvironmentType>>? = null, val identity: Output<UserAssignedServiceIdentityArgs>? = null, val location: Output<String>? = null, val managedResourceGroupConfiguration: Output<ManagedRGConfigurationArgs>? = null, val resourceGroupName: Output<String>? = null, val sapProduct: Output<Either<String, SAPProductType>>? = null, val sapVirtualInstanceName: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<SAPVirtualInstanceArgs>

Define the Virtual Instance for SAP solutions resource. API Version: 2021-12-01-preview.

Example Usage

Create Infrastructure for Distributed System

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "X00-RG",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 6,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 1,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E16ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
DatabaseType: "HANA",
InstanceCount: 1,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "xyz.test.com",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier")
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Create Infrastructure for HA System with Availability Set

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
HighAvailabilityConfig = new AzureNative.Workloads.Inputs.HighAvailabilityConfigurationArgs
{
HighAvailabilityType = "AvailabilitySet",
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "X00-RG",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 6,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E16ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
DatabaseType: "HANA",
InstanceCount: 2,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
HighAvailabilityConfig: workloads.HighAvailabilityConfiguration{
HighAvailabilityType: "AvailabilitySet",
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "xyz.test.com",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("highAvailabilityConfig", Map.of("highAvailabilityType", "AvailabilitySet"))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Create Infrastructure for HA System with Availability Zone

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
HighAvailabilityConfig = new AzureNative.Workloads.Inputs.HighAvailabilityConfigurationArgs
{
HighAvailabilityType = "AvailabilityZone",
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "X00-RG",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 6,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E16ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
DatabaseType: "HANA",
InstanceCount: 2,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
HighAvailabilityConfig: workloads.HighAvailabilityConfiguration{
HighAvailabilityType: "AvailabilityZone",
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "xyz.test.com",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("highAvailabilityConfig", Map.of("highAvailabilityType", "AvailabilityZone"))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Create Infrastructure for Single Server System

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.SingleServerConfigurationArgs
{
AppResourceGroup = "X00-RG",
DatabaseType = "HANA",
DeploymentType = "SingleServer",
NetworkConfiguration = new AzureNative.Workloads.Inputs.NetworkConfigurationArgs
{
IsSecondaryIpEnabled = true,
},
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "NonProd",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.SingleServerConfiguration{
AppResourceGroup: "X00-RG",
DatabaseType: "HANA",
DeploymentType: "SingleServer",
NetworkConfiguration: workloads.NetworkConfiguration{
IsSecondaryIpEnabled: true,
},
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "xyz.test.com",
},
},
Environment: pulumi.String("NonProd"),
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("databaseType", "HANA"),
Map.entry("deploymentType", "SingleServer"),
Map.entry("networkConfiguration", Map.of("isSecondaryIpEnabled", true)),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("NonProd")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Create Infrastructure with Disk and OS configuration for HA System with Availability Set

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
DiskConfiguration = new AzureNative.Workloads.Inputs.DiskConfigurationArgs
{
DiskVolumeConfigurations =
{
{ "backup", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 2,
SizeGB = 256,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "hana/data", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 4,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
{ "hana/log", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 3,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
{ "hana/shared", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 256,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "os", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 64,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "usr/sap", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
},
},
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
HighAvailabilityConfig = new AzureNative.Workloads.Inputs.HighAvailabilityConfigurationArgs
{
HighAvailabilityType = "AvailabilitySet",
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.workloads.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("diskConfiguration", Map.of("diskVolumeConfigurations", Map.ofEntries(
Map.entry("backup", Map.ofEntries(
Map.entry("count", 2),
Map.entry("sizeGB", 256),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("hana/data", Map.ofEntries(
Map.entry("count", 4),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
)),
Map.entry("hana/log", Map.ofEntries(
Map.entry("count", 3),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
)),
Map.entry("hana/shared", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 256),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("os", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 64),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("usr/sap", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
))
))),
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("highAvailabilityConfig", Map.of("highAvailabilityType", "AvailabilitySet"))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Create Infrastructure with Disk and OS configuration for HA System with Availability Zone without backup disk

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
DiskConfiguration = new AzureNative.Workloads.Inputs.DiskConfigurationArgs
{
DiskVolumeConfigurations =
{
{ "hana/data", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 4,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
{ "hana/log", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 3,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
{ "hana/shared", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 256,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "os", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 64,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "usr/sap", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
},
},
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
HighAvailabilityConfig = new AzureNative.Workloads.Inputs.HighAvailabilityConfigurationArgs
{
HighAvailabilityType = "AvailabilityZone",
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.workloads.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("diskConfiguration", Map.of("diskVolumeConfigurations", Map.ofEntries(
Map.entry("hana/data", Map.ofEntries(
Map.entry("count", 4),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
)),
Map.entry("hana/log", Map.ofEntries(
Map.entry("count", 3),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
)),
Map.entry("hana/shared", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 256),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("os", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 64),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("usr/sap", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
))
))),
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("highAvailabilityConfig", Map.of("highAvailabilityType", "AvailabilityZone"))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Create Infrastructure with Disk and OS configurations for Single Server System

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.SingleServerConfigurationArgs
{
AppResourceGroup = "X00-RG",
DatabaseType = "HANA",
DbDiskConfiguration = new AzureNative.Workloads.Inputs.DiskConfigurationArgs
{
DiskVolumeConfigurations =
{
{ "backup", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 2,
SizeGB = 256,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "hana/data", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 4,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
{ "hana/log", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 3,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
{ "hana/shared", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 256,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "os", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 64,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "usr/sap", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
},
},
DeploymentType = "SingleServer",
NetworkConfiguration = new AzureNative.Workloads.Inputs.NetworkConfigurationArgs
{
IsSecondaryIpEnabled = true,
},
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "NonProd",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.workloads.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("databaseType", "HANA"),
Map.entry("dbDiskConfiguration", Map.of("diskVolumeConfigurations", Map.ofEntries(
Map.entry("backup", Map.ofEntries(
Map.entry("count", 2),
Map.entry("sizeGB", 256),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("hana/data", Map.ofEntries(
Map.entry("count", 4),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
)),
Map.entry("hana/log", Map.ofEntries(
Map.entry("count", 3),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
)),
Map.entry("hana/shared", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 256),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("os", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 64),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("usr/sap", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
))
))),
Map.entry("deploymentType", "SingleServer"),
Map.entry("networkConfiguration", Map.of("isSecondaryIpEnabled", true)),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("NonProd")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Create Infrastructure with Disk, OS and Storage configuration for Distributed System

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
DiskConfiguration = new AzureNative.Workloads.Inputs.DiskConfigurationArgs
{
DiskVolumeConfigurations =
{
{ "backup", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 2,
SizeGB = 256,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "hana/data", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 4,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
{ "hana/log", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 3,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
{ "hana/shared", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 256,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "os", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 64,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "StandardSSD_LRS",
},
} },
{ "usr/sap", new AzureNative.Workloads.Inputs.DiskVolumeConfigurationArgs
{
Count = 1,
SizeGB = 128,
Sku = new AzureNative.Workloads.Inputs.DiskSkuArgs
{
Name = "Premium_LRS",
},
} },
},
},
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
StorageConfiguration = new AzureNative.Workloads.Inputs.StorageConfigurationArgs
{
TransportFileShareConfiguration = new AzureNative.Workloads.Inputs.MountFileShareConfigurationArgs
{
ConfigurationType = "Mount",
Id = "fileshareID",
PrivateEndpointId = "pe-arm-id",
},
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.workloads.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("diskConfiguration", Map.of("diskVolumeConfigurations", Map.ofEntries(
Map.entry("backup", Map.ofEntries(
Map.entry("count", 2),
Map.entry("sizeGB", 256),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("hana/data", Map.ofEntries(
Map.entry("count", 4),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
)),
Map.entry("hana/log", Map.ofEntries(
Map.entry("count", 3),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
)),
Map.entry("hana/shared", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 256),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("os", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 64),
Map.entry("sku", Map.of("name", "StandardSSD_LRS"))
)),
Map.entry("usr/sap", Map.ofEntries(
Map.entry("count", 1),
Map.entry("sizeGB", 128),
Map.entry("sku", Map.of("name", "Premium_LRS"))
))
))),
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("storageConfiguration", Map.of("transportFileShareConfiguration", Map.ofEntries(
Map.entry("configurationType", "Mount"),
Map.entry("id", "fileshareID"),
Map.entry("privateEndpointId", "pe-arm-id")
)))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Create Infrastructure with a new SAP Transport Directory Fileshare

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
StorageConfiguration = new AzureNative.Workloads.Inputs.StorageConfigurationArgs
{
TransportFileShareConfiguration = new AzureNative.Workloads.Inputs.CreateAndMountFileShareConfigurationArgs
{
ConfigurationType = "CreateAndMount",
ResourceGroup = "rgName",
StorageAccountName = "storageName",
},
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "X00-RG",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 6,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 1,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E16ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
DatabaseType: "HANA",
InstanceCount: 1,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
StorageConfiguration: workloads.StorageConfiguration{
TransportFileShareConfiguration: workloads.CreateAndMountFileShareConfiguration{
ConfigurationType: "CreateAndMount",
ResourceGroup: "rgName",
StorageAccountName: "storageName",
},
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "xyz.test.com",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("storageConfiguration", Map.of("transportFileShareConfiguration", Map.ofEntries(
Map.entry("configurationType", "CreateAndMount"),
Map.entry("resourceGroup", "rgName"),
Map.entry("storageAccountName", "storageName")
)))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Create Infrastructure with an existing SAP Transport Directory Fileshare

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
StorageConfiguration = new AzureNative.Workloads.Inputs.StorageConfigurationArgs
{
TransportFileShareConfiguration = new AzureNative.Workloads.Inputs.MountFileShareConfigurationArgs
{
ConfigurationType = "Mount",
Id = "/subscriptions/49d64d54-e888-4c46-a868-1936802b762c/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/storageaccountname/fileServices/default/shares/transfileshare",
PrivateEndpointId = "/subscriptions/49d64d54-e888-4c46-a868-1936802b762c/resourceGroups/testrg/providers/Microsoft.Network/privateEndpoints/endpoint",
},
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "X00-RG",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 6,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 1,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E16ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
DatabaseType: "HANA",
InstanceCount: 1,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
StorageConfiguration: workloads.StorageConfiguration{
TransportFileShareConfiguration: workloads.MountFileShareConfiguration{
ConfigurationType: "Mount",
Id: "/subscriptions/49d64d54-e888-4c46-a868-1936802b762c/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/storageaccountname/fileServices/default/shares/transfileshare",
PrivateEndpointId: "/subscriptions/49d64d54-e888-4c46-a868-1936802b762c/resourceGroups/testrg/providers/Microsoft.Network/privateEndpoints/endpoint",
},
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "xyz.test.com",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("storageConfiguration", Map.of("transportFileShareConfiguration", Map.ofEntries(
Map.entry("configurationType", "Mount"),
Map.entry("id", "/subscriptions/49d64d54-e888-4c46-a868-1936802b762c/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/storageaccountname/fileServices/default/shares/transfileshare"),
Map.entry("privateEndpointId", "/subscriptions/49d64d54-e888-4c46-a868-1936802b762c/resourceGroups/testrg/providers/Microsoft.Network/privateEndpoints/endpoint")
)))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Create Infrastructure without SAP Trans Fileshare

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
StorageConfiguration = new AzureNative.Workloads.Inputs.StorageConfigurationArgs
{
TransportFileShareConfiguration = new AzureNative.Workloads.Inputs.SkipFileShareConfigurationArgs
{
ConfigurationType = "Skip",
},
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "X00-RG",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 6,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 1,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E16ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
DatabaseType: "HANA",
InstanceCount: 1,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
StorageConfiguration: workloads.StorageConfiguration{
TransportFileShareConfiguration: workloads.SkipFileShareConfiguration{
ConfigurationType: "Skip",
},
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "xyz.test.com",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("storageConfiguration", Map.of("transportFileShareConfiguration", Map.of("configurationType", "Skip")))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com"))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Detect SAP Software Installation on a Distributed System

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "{{resourcegrp}}",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_E4ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_E4ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
InstanceCount = 1,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
NetworkConfiguration = new AzureNative.Workloads.Inputs.NetworkConfigurationArgs
{
IsSecondaryIpEnabled = true,
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "sap.bpaas.com",
},
SoftwareConfiguration = new AzureNative.Workloads.Inputs.ExternalInstallationSoftwareConfigurationArgs
{
CentralServerVmId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0",
SoftwareInstallationType = "External",
},
},
Environment = "Prod",
Location = "eastus2",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags =
{
{ "created by", "azureuser" },
},
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "{{resourcegrp}}",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_E4ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 1,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_E4ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
InstanceCount: 1,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
NetworkConfiguration: workloads.NetworkConfiguration{
IsSecondaryIpEnabled: true,
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "sap.bpaas.com",
},
SoftwareConfiguration: workloads.ExternalInstallationSoftwareConfiguration{
CentralServerVmId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0",
SoftwareInstallationType: "External",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("eastus2"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: pulumi.StringMap{
"created by": pulumi.String("azureuser"),
},
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "{{resourcegrp}}"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_E4ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_E4ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("networkConfiguration", Map.of("isSecondaryIpEnabled", true))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "sap.bpaas.com")),
Map.entry("softwareConfiguration", Map.ofEntries(
Map.entry("centralServerVmId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
Map.entry("softwareInstallationType", "External")
))
))
.environment("Prod")
.location("eastus2")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags(Map.of("created by", "azureuser"))
.build());
}
}

Detect SAP Software Installation on a Single Server System

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.SingleServerConfigurationArgs
{
AppResourceGroup = "X00-RG",
DatabaseType = "HANA",
DeploymentType = "SingleServer",
NetworkConfiguration = new AzureNative.Workloads.Inputs.NetworkConfigurationArgs
{
IsSecondaryIpEnabled = true,
},
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
SoftwareConfiguration = new AzureNative.Workloads.Inputs.ExternalInstallationSoftwareConfigurationArgs
{
CentralServerVmId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0",
SoftwareInstallationType = "External",
},
},
Environment = "NonProd",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.SingleServerConfiguration{
AppResourceGroup: "X00-RG",
DatabaseType: "HANA",
DeploymentType: "SingleServer",
NetworkConfiguration: workloads.NetworkConfiguration{
IsSecondaryIpEnabled: true,
},
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "xyz.test.com",
},
SoftwareConfiguration: workloads.ExternalInstallationSoftwareConfiguration{
CentralServerVmId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0",
SoftwareInstallationType: "External",
},
},
Environment: pulumi.String("NonProd"),
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("databaseType", "HANA"),
Map.entry("deploymentType", "SingleServer"),
Map.entry("networkConfiguration", Map.of("isSecondaryIpEnabled", true)),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com")),
Map.entry("softwareConfiguration", Map.ofEntries(
Map.entry("centralServerVmId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
Map.entry("softwareInstallationType", "External")
))
))
.environment("NonProd")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Detect SAP Software Installation on an HA System with Availability Set

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
HighAvailabilityConfig = new AzureNative.Workloads.Inputs.HighAvailabilityConfigurationArgs
{
HighAvailabilityType = "AvailabilitySet",
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
SoftwareConfiguration = new AzureNative.Workloads.Inputs.ExternalInstallationSoftwareConfigurationArgs
{
CentralServerVmId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0",
SoftwareInstallationType = "External",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "X00-RG",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 6,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E16ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
DatabaseType: "HANA",
InstanceCount: 2,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
HighAvailabilityConfig: workloads.HighAvailabilityConfiguration{
HighAvailabilityType: "AvailabilitySet",
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "xyz.test.com",
},
SoftwareConfiguration: workloads.ExternalInstallationSoftwareConfiguration{
CentralServerVmId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0",
SoftwareInstallationType: "External",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("highAvailabilityConfig", Map.of("highAvailabilityType", "AvailabilitySet"))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com")),
Map.entry("softwareConfiguration", Map.ofEntries(
Map.entry("centralServerVmId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
Map.entry("softwareInstallationType", "External")
))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Detect SAP Software Installation on an HA System with Availability Zone

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "X00-RG",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 6,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_E16ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
DatabaseType = "HANA",
InstanceCount = 2,
SubnetId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "84sapha-gen2",
Version = "8.4.2021091202",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "{your-username}",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "xyz",
PublicKey = "abc",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
HighAvailabilityConfig = new AzureNative.Workloads.Inputs.HighAvailabilityConfigurationArgs
{
HighAvailabilityType = "AvailabilityZone",
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "xyz.test.com",
},
SoftwareConfiguration = new AzureNative.Workloads.Inputs.ExternalInstallationSoftwareConfigurationArgs
{
CentralServerVmId = "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0",
SoftwareInstallationType = "External",
},
},
Environment = "Prod",
Location = "westcentralus",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "X00-RG",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 6,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_E16ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
DatabaseType: "HANA",
InstanceCount: 2,
SubnetId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "84sapha-gen2",
Version: "8.4.2021091202",
},
OsProfile: workloads.OSProfile{
AdminUsername: "{your-username}",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "xyz",
PublicKey: "abc",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
HighAvailabilityConfig: workloads.HighAvailabilityConfiguration{
HighAvailabilityType: "AvailabilityZone",
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "xyz.test.com",
},
SoftwareConfiguration: workloads.ExternalInstallationSoftwareConfiguration{
CentralServerVmId: "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0",
SoftwareInstallationType: "External",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("westcentralus"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "X00-RG"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 6),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_E16ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("databaseType", "HANA"),
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "84sapha-gen2"),
Map.entry("version", "8.4.2021091202")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "{your-username}"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "xyz"),
Map.entry("publicKey", "abc")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("highAvailabilityConfig", Map.of("highAvailabilityType", "AvailabilityZone"))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "xyz.test.com")),
Map.entry("softwareConfiguration", Map.ofEntries(
Map.entry("centralServerVmId", "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
Map.entry("softwareInstallationType", "External")
))
))
.environment("Prod")
.location("westcentralus")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Install SAP Software on Distributed System

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "{{resourcegrp}}",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "8.2",
Version = "8.2.2021091201",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_E4ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 1,
SubnetId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "8.2",
Version = "8.2.2021091201",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_E4ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
InstanceCount = 1,
SubnetId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "8.2",
Version = "8.2.2021091201",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
NetworkConfiguration = new AzureNative.Workloads.Inputs.NetworkConfigurationArgs
{
IsSecondaryIpEnabled = true,
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "sap.bpaas.com",
},
SoftwareConfiguration = new AzureNative.Workloads.Inputs.SAPInstallWithoutOSConfigSoftwareConfigurationArgs
{
BomUrl = "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml",
SapBitsStorageAccountId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount",
SoftwareInstallationType = "SAPInstallWithoutOSConfig",
SoftwareVersion = "SAP S/4HANA 1909 SPS 03",
},
},
Environment = "Prod",
Location = "eastus2",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags =
{
{ "created by", "azureuser" },
},
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "{{resourcegrp}}",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "8.2",
Version: "8.2.2021091201",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_E4ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 1,
SubnetId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "8.2",
Version: "8.2.2021091201",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_E4ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
InstanceCount: 1,
SubnetId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "8.2",
Version: "8.2.2021091201",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
NetworkConfiguration: workloads.NetworkConfiguration{
IsSecondaryIpEnabled: true,
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "sap.bpaas.com",
},
SoftwareConfiguration: workloads.SAPInstallWithoutOSConfigSoftwareConfiguration{
BomUrl: "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml",
SapBitsStorageAccountId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount",
SoftwareInstallationType: "SAPInstallWithoutOSConfig",
SoftwareVersion: "SAP S/4HANA 1909 SPS 03",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("eastus2"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: pulumi.StringMap{
"created by": pulumi.String("azureuser"),
},
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "{{resourcegrp}}"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "8.2"),
Map.entry("version", "8.2.2021091201")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_E4ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "8.2"),
Map.entry("version", "8.2.2021091201")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_E4ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("instanceCount", 1),
Map.entry("subnetId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "8.2"),
Map.entry("version", "8.2.2021091201")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("networkConfiguration", Map.of("isSecondaryIpEnabled", true))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "sap.bpaas.com")),
Map.entry("softwareConfiguration", Map.ofEntries(
Map.entry("bomUrl", "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml"),
Map.entry("sapBitsStorageAccountId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount"),
Map.entry("softwareInstallationType", "SAPInstallWithoutOSConfig"),
Map.entry("softwareVersion", "SAP S/4HANA 1909 SPS 03")
))
))
.environment("Prod")
.location("eastus2")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags(Map.of("created by", "azureuser"))
.build());
}
}

Install SAP Software on HA System with Availability Set

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "{{resourcegrp}}",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "8.2",
Version = "8.2.2021091201",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_E4ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "8.2",
Version = "8.2.2021091201",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_E4ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "8.2",
Version = "8.2.2021091201",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
HighAvailabilityConfig = new AzureNative.Workloads.Inputs.HighAvailabilityConfigurationArgs
{
HighAvailabilityType = "AvailabilitySet",
},
NetworkConfiguration = new AzureNative.Workloads.Inputs.NetworkConfigurationArgs
{
IsSecondaryIpEnabled = true,
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "sap.bpaas.com",
},
SoftwareConfiguration = new AzureNative.Workloads.Inputs.SAPInstallWithoutOSConfigSoftwareConfigurationArgs
{
BomUrl = "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml",
HighAvailabilitySoftwareConfiguration = new AzureNative.Workloads.Inputs.HighAvailabilitySoftwareConfigurationArgs
{
FencingClientId = "serviceprincipalID",
FencingClientPassword = "serviceprincipalPassword",
},
SapBitsStorageAccountId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount",
SoftwareInstallationType = "SAPInstallWithoutOSConfig",
SoftwareVersion = "SAP S/4HANA 1909 SPS 03",
},
},
Environment = "Prod",
Location = "eastus2",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags =
{
{ "created by", "azureuser" },
},
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "{{resourcegrp}}",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "8.2",
Version: "8.2.2021091201",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_E4ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "8.2",
Version: "8.2.2021091201",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_E4ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "8.2",
Version: "8.2.2021091201",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
HighAvailabilityConfig: workloads.HighAvailabilityConfiguration{
HighAvailabilityType: "AvailabilitySet",
},
NetworkConfiguration: workloads.NetworkConfiguration{
IsSecondaryIpEnabled: true,
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "sap.bpaas.com",
},
SoftwareConfiguration: workloads.SAPInstallWithoutOSConfigSoftwareConfiguration{
BomUrl: "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml",
HighAvailabilitySoftwareConfiguration: workloads.HighAvailabilitySoftwareConfiguration{
FencingClientId: "serviceprincipalID",
FencingClientPassword: "serviceprincipalPassword",
},
SapBitsStorageAccountId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount",
SoftwareInstallationType: "SAPInstallWithoutOSConfig",
SoftwareVersion: "SAP S/4HANA 1909 SPS 03",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("eastus2"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: pulumi.StringMap{
"created by": pulumi.String("azureuser"),
},
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "{{resourcegrp}}"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "8.2"),
Map.entry("version", "8.2.2021091201")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_E4ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "8.2"),
Map.entry("version", "8.2.2021091201")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_E4ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "8.2"),
Map.entry("version", "8.2.2021091201")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("highAvailabilityConfig", Map.of("highAvailabilityType", "AvailabilitySet")),
Map.entry("networkConfiguration", Map.of("isSecondaryIpEnabled", true))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "sap.bpaas.com")),
Map.entry("softwareConfiguration", Map.ofEntries(
Map.entry("bomUrl", "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml"),
Map.entry("highAvailabilitySoftwareConfiguration", Map.ofEntries(
Map.entry("fencingClientId", "serviceprincipalID"),
Map.entry("fencingClientPassword", "serviceprincipalPassword")
)),
Map.entry("sapBitsStorageAccountId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount"),
Map.entry("softwareInstallationType", "SAPInstallWithoutOSConfig"),
Map.entry("softwareVersion", "SAP S/4HANA 1909 SPS 03")
))
))
.environment("Prod")
.location("eastus2")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags(Map.of("created by", "azureuser"))
.build());
}
}

Install SAP Software on HA System with Availability Zone

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.ThreeTierConfigurationArgs
{
AppResourceGroup = "{{resourcegrp}}",
ApplicationServer = new AzureNative.Workloads.Inputs.ApplicationServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "8.2",
Version = "8.2.2021091201",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_E4ds_v4",
},
},
CentralServer = new AzureNative.Workloads.Inputs.CentralServerConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "8.2",
Version = "8.2.2021091201",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_E4ds_v4",
},
},
DatabaseServer = new AzureNative.Workloads.Inputs.DatabaseConfigurationArgs
{
InstanceCount = 2,
SubnetId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "RHEL-SAP-HA",
Publisher = "RedHat",
Sku = "8.2",
Version = "8.2.2021091201",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureuser",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_M32ts",
},
},
DeploymentType = "ThreeTier",
HighAvailabilityConfig = new AzureNative.Workloads.Inputs.HighAvailabilityConfigurationArgs
{
HighAvailabilityType = "AvailabilityZone",
},
NetworkConfiguration = new AzureNative.Workloads.Inputs.NetworkConfigurationArgs
{
IsSecondaryIpEnabled = true,
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "sap.bpaas.com",
},
SoftwareConfiguration = new AzureNative.Workloads.Inputs.SAPInstallWithoutOSConfigSoftwareConfigurationArgs
{
BomUrl = "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml",
HighAvailabilitySoftwareConfiguration = new AzureNative.Workloads.Inputs.HighAvailabilitySoftwareConfigurationArgs
{
FencingClientId = "serviceprincipalID",
FencingClientPassword = "serviceprincipalPassword",
},
SapBitsStorageAccountId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount",
SoftwareInstallationType = "SAPInstallWithoutOSConfig",
SoftwareVersion = "SAP S/4HANA 1909 SPS 03",
},
},
Environment = "Prod",
Location = "eastus2",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags =
{
{ "created by", "azureuser" },
},
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.ThreeTierConfiguration{
AppResourceGroup: "{{resourcegrp}}",
ApplicationServer: workloads.ApplicationServerConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "8.2",
Version: "8.2.2021091201",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_E4ds_v4",
},
},
CentralServer: workloads.CentralServerConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "8.2",
Version: "8.2.2021091201",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_E4ds_v4",
},
},
DatabaseServer: workloads.DatabaseConfiguration{
InstanceCount: 2,
SubnetId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "RHEL-SAP-HA",
Publisher: "RedHat",
Sku: "8.2",
Version: "8.2.2021091201",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureuser",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_M32ts",
},
},
DeploymentType: "ThreeTier",
HighAvailabilityConfig: workloads.HighAvailabilityConfiguration{
HighAvailabilityType: "AvailabilityZone",
},
NetworkConfiguration: workloads.NetworkConfiguration{
IsSecondaryIpEnabled: true,
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "sap.bpaas.com",
},
SoftwareConfiguration: workloads.SAPInstallWithoutOSConfigSoftwareConfiguration{
BomUrl: "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml",
HighAvailabilitySoftwareConfiguration: workloads.HighAvailabilitySoftwareConfiguration{
FencingClientId: "serviceprincipalID",
FencingClientPassword: "serviceprincipalPassword",
},
SapBitsStorageAccountId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount",
SoftwareInstallationType: "SAPInstallWithoutOSConfig",
SoftwareVersion: "SAP S/4HANA 1909 SPS 03",
},
},
Environment: pulumi.String("Prod"),
Location: pulumi.String("eastus2"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: pulumi.StringMap{
"created by": pulumi.String("azureuser"),
},
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "{{resourcegrp}}"),
Map.entry("applicationServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "8.2"),
Map.entry("version", "8.2.2021091201")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_E4ds_v4")
))
)),
Map.entry("centralServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "8.2"),
Map.entry("version", "8.2.2021091201")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_E4ds_v4")
))
)),
Map.entry("databaseServer", Map.ofEntries(
Map.entry("instanceCount", 2),
Map.entry("subnetId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "RHEL-SAP-HA"),
Map.entry("publisher", "RedHat"),
Map.entry("sku", "8.2"),
Map.entry("version", "8.2.2021091201")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureuser"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_M32ts")
))
)),
Map.entry("deploymentType", "ThreeTier"),
Map.entry("highAvailabilityConfig", Map.of("highAvailabilityType", "AvailabilityZone")),
Map.entry("networkConfiguration", Map.of("isSecondaryIpEnabled", true))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "sap.bpaas.com")),
Map.entry("softwareConfiguration", Map.ofEntries(
Map.entry("bomUrl", "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml"),
Map.entry("highAvailabilitySoftwareConfiguration", Map.ofEntries(
Map.entry("fencingClientId", "serviceprincipalID"),
Map.entry("fencingClientPassword", "serviceprincipalPassword")
)),
Map.entry("sapBitsStorageAccountId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount"),
Map.entry("softwareInstallationType", "SAPInstallWithoutOSConfig"),
Map.entry("softwareVersion", "SAP S/4HANA 1909 SPS 03")
))
))
.environment("Prod")
.location("eastus2")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags(Map.of("created by", "azureuser"))
.build());
}
}

Install SAP Software on Single Server System

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DeploymentWithOSConfigurationArgs
{
AppLocation = "eastus",
ConfigurationType = "DeploymentWithOSConfig",
InfrastructureConfiguration = new AzureNative.Workloads.Inputs.SingleServerConfigurationArgs
{
AppResourceGroup = "test-rg",
DeploymentType = "SingleServer",
SubnetId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/testsubnet",
VirtualMachineConfiguration = new AzureNative.Workloads.Inputs.VirtualMachineConfigurationArgs
{
ImageReference = new AzureNative.Workloads.Inputs.ImageReferenceArgs
{
Offer = "SLES-SAP",
Publisher = "SUSE",
Sku = "12-sp4-gen2",
Version = "2022.02.01",
},
OsProfile = new AzureNative.Workloads.Inputs.OSProfileArgs
{
AdminUsername = "azureappadmin",
OsConfiguration = new AzureNative.Workloads.Inputs.LinuxConfigurationArgs
{
DisablePasswordAuthentication = true,
OsType = "Linux",
SshKeyPair = new AzureNative.Workloads.Inputs.SshKeyPairArgs
{
PrivateKey = "{{privateKey}}",
PublicKey = "{{sshkey}}",
},
},
},
VmSize = "Standard_E32ds_v4",
},
},
OsSapConfiguration = new AzureNative.Workloads.Inputs.OsSapConfigurationArgs
{
SapFqdn = "sap.bpaas.com",
},
SoftwareConfiguration = new AzureNative.Workloads.Inputs.SAPInstallWithoutOSConfigSoftwareConfigurationArgs
{
BomUrl = "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml",
SapBitsStorageAccountId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount",
SoftwareInstallationType = "SAPInstallWithoutOSConfig",
SoftwareVersion = "SAP S/4HANA 1909 SPS 03",
},
},
Environment = "NonProd",
Location = "eastus2",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags = null,
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DeploymentWithOSConfiguration{
AppLocation: "eastus",
ConfigurationType: "DeploymentWithOSConfig",
InfrastructureConfiguration: workloads.SingleServerConfiguration{
AppResourceGroup: "test-rg",
DeploymentType: "SingleServer",
SubnetId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/testsubnet",
VirtualMachineConfiguration: workloads.VirtualMachineConfiguration{
ImageReference: workloads.ImageReference{
Offer: "SLES-SAP",
Publisher: "SUSE",
Sku: "12-sp4-gen2",
Version: "2022.02.01",
},
OsProfile: workloads.OSProfile{
AdminUsername: "azureappadmin",
OsConfiguration: workloads.LinuxConfiguration{
DisablePasswordAuthentication: true,
OsType: "Linux",
SshKeyPair: workloads.SshKeyPair{
PrivateKey: "{{privateKey}}",
PublicKey: "{{sshkey}}",
},
},
},
VmSize: "Standard_E32ds_v4",
},
},
OsSapConfiguration: workloads.OsSapConfiguration{
SapFqdn: "sap.bpaas.com",
},
SoftwareConfiguration: workloads.SAPInstallWithoutOSConfigSoftwareConfiguration{
BomUrl: "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml",
SapBitsStorageAccountId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount",
SoftwareInstallationType: "SAPInstallWithoutOSConfig",
SoftwareVersion: "SAP S/4HANA 1909 SPS 03",
},
},
Environment: pulumi.String("NonProd"),
Location: pulumi.String("eastus2"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: nil,
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("appLocation", "eastus"),
Map.entry("configurationType", "DeploymentWithOSConfig"),
Map.entry("infrastructureConfiguration", Map.ofEntries(
Map.entry("appResourceGroup", "test-rg"),
Map.entry("deploymentType", "SingleServer"),
Map.entry("subnetId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/testsubnet"),
Map.entry("virtualMachineConfiguration", Map.ofEntries(
Map.entry("imageReference", Map.ofEntries(
Map.entry("offer", "SLES-SAP"),
Map.entry("publisher", "SUSE"),
Map.entry("sku", "12-sp4-gen2"),
Map.entry("version", "2022.02.01")
)),
Map.entry("osProfile", Map.ofEntries(
Map.entry("adminUsername", "azureappadmin"),
Map.entry("osConfiguration", Map.ofEntries(
Map.entry("disablePasswordAuthentication", true),
Map.entry("osType", "Linux"),
Map.entry("sshKeyPair", Map.ofEntries(
Map.entry("privateKey", "{{privateKey}}"),
Map.entry("publicKey", "{{sshkey}}")
))
))
)),
Map.entry("vmSize", "Standard_E32ds_v4")
))
)),
Map.entry("osSapConfiguration", Map.of("sapFqdn", "sap.bpaas.com")),
Map.entry("softwareConfiguration", Map.ofEntries(
Map.entry("bomUrl", "https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml"),
Map.entry("sapBitsStorageAccountId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount"),
Map.entry("softwareInstallationType", "SAPInstallWithoutOSConfig"),
Map.entry("softwareVersion", "SAP S/4HANA 1909 SPS 03")
))
))
.environment("NonProd")
.location("eastus2")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags()
.build());
}
}

Register existing SAP system as Virtual Instance for SAP solutions.

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var sapVirtualInstance = new AzureNative.Workloads.SAPVirtualInstance("sapVirtualInstance", new()
{
Configuration = new AzureNative.Workloads.Inputs.DiscoveryConfigurationArgs
{
CentralServerVmId = "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0",
ConfigurationType = "Discovery",
},
Environment = "NonProd",
Location = "northeurope",
ResourceGroupName = "test-rg",
SapProduct = "S4HANA",
SapVirtualInstanceName = "X00",
Tags =
{
{ "createdby", "abc@microsoft.com" },
{ "test", "abc" },
},
});
});
package main
import (
workloads "github.com/pulumi/pulumi-azure-native-sdk/workloads"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := workloads.NewSAPVirtualInstance(ctx, "sapVirtualInstance", &workloads.SAPVirtualInstanceArgs{
Configuration: workloads.DiscoveryConfiguration{
CentralServerVmId: "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0",
ConfigurationType: "Discovery",
},
Environment: pulumi.String("NonProd"),
Location: pulumi.String("northeurope"),
ResourceGroupName: pulumi.String("test-rg"),
SapProduct: pulumi.String("S4HANA"),
SapVirtualInstanceName: pulumi.String("X00"),
Tags: pulumi.StringMap{
"createdby": pulumi.String("abc@microsoft.com"),
"test": pulumi.String("abc"),
},
})
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.SAPVirtualInstance;
import com.pulumi.azurenative.workloads.SAPVirtualInstanceArgs;
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 sapVirtualInstance = new SAPVirtualInstance("sapVirtualInstance", SAPVirtualInstanceArgs.builder()
.configuration(Map.ofEntries(
Map.entry("centralServerVmId", "/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
Map.entry("configurationType", "Discovery")
))
.environment("NonProd")
.location("northeurope")
.resourceGroupName("test-rg")
.sapProduct("S4HANA")
.sapVirtualInstanceName("X00")
.tags(Map.ofEntries(
Map.entry("createdby", "abc@microsoft.com"),
Map.entry("test", "abc")
))
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:workloads:SAPVirtualInstance Q20 /subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/Q20

Constructors

Link copied to clipboard
constructor(configuration: Output<Any>? = null, environment: Output<Either<String, SAPEnvironmentType>>? = null, identity: Output<UserAssignedServiceIdentityArgs>? = null, location: Output<String>? = null, managedResourceGroupConfiguration: Output<ManagedRGConfigurationArgs>? = null, resourceGroupName: Output<String>? = null, sapProduct: Output<Either<String, SAPProductType>>? = null, sapVirtualInstanceName: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val configuration: Output<Any>? = null

Defines if the SAP system is being created using Azure Center for SAP solutions (ACSS) or if an existing SAP system is being registered with ACSS

Link copied to clipboard
val environment: Output<Either<String, SAPEnvironmentType>>? = null

Defines the environment type - Production/Non Production.

Link copied to clipboard

Managed service identity (user assigned identities)

Link copied to clipboard
val location: Output<String>? = null

The geo-location where the resource lives

Link copied to clipboard

Managed resource group configuration

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group. The name is case insensitive.

Link copied to clipboard
val sapProduct: Output<Either<String, SAPProductType>>? = null

Defines the SAP Product type.

Link copied to clipboard
val sapVirtualInstanceName: Output<String>? = null

The name of the Virtual Instances for SAP solutions resource

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Resource tags.

Functions

Link copied to clipboard
open override fun toJava(): SAPVirtualInstanceArgs