Php Workload
Php workload resource API Version: 2021-12-01-preview.
Example Usage
Workloads
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var phpWorkload = new AzureNative.Workloads.PhpWorkload("phpWorkload", new()
{
AdminUserProfile = new AzureNative.Workloads.Inputs.UserProfileArgs
{
SshPublicKey = "===SSH=PUBLIC=KEY===",
UserName = "wpadmin",
},
AppLocation = "eastus",
BackupProfile = new AzureNative.Workloads.Inputs.BackupProfileArgs
{
BackupEnabled = "Disabled",
},
CacheProfile = new AzureNative.Workloads.Inputs.CacheProfileArgs
{
Capacity = 0,
Family = "C",
Name = "wp-cache",
SkuName = "Basic",
},
ControllerProfile = new AzureNative.Workloads.Inputs.NodeProfileArgs
{
DataDisks = new[]
{
new AzureNative.Workloads.Inputs.DiskInfoArgs
{
SizeInGB = 100,
StorageType = AzureNative.Workloads.DiskStorageType.Premium_LRS,
},
},
Name = "contoller-vm",
NodeSku = "Standard_DS2_v2",
OsDisk = new AzureNative.Workloads.Inputs.DiskInfoArgs
{
StorageType = AzureNative.Workloads.DiskStorageType.Premium_LRS,
},
OsImage = new AzureNative.Workloads.Inputs.OsImageProfileArgs
{
Offer = "UbuntuServer",
Publisher = "Canonical",
Sku = "18.0-LTS",
Version = "latest",
},
},
DatabaseProfile = new AzureNative.Workloads.Inputs.DatabaseProfileArgs
{
BackupRetentionDays = 7,
HaEnabled = "Disabled",
ServerName = "wp-db-server",
Sku = "Standard_D32s_v4",
SslEnforcementEnabled = "Enabled",
StorageInGB = 128,
StorageIops = 200,
StorageSku = "Premium_LRS",
Tier = AzureNative.Workloads.DatabaseTier.GeneralPurpose,
Type = "MySql",
Version = "5.7",
},
FileshareProfile = new AzureNative.Workloads.Inputs.FileshareProfileArgs
{
ShareSizeInGB = 100,
ShareType = "AzureFiles",
StorageType = "Premium_LRS",
},
Kind = "WordPress",
Location = "eastus2",
ManagedResourceGroupConfiguration = new AzureNative.Workloads.Inputs.ManagedRGConfigurationArgs
{
Name = "php-mrg-wp39",
},
NetworkProfile = new AzureNative.Workloads.Inputs.NetworkProfileArgs
{
AzureFrontDoorEnabled = "Enabled",
LoadBalancerSku = "Standard",
LoadBalancerType = "LoadBalancer",
},
PhpProfile = new AzureNative.Workloads.Inputs.PhpProfileArgs
{
Version = "7.3",
},
PhpWorkloadName = "wp39",
ResourceGroupName = "test-rg",
SearchProfile = new AzureNative.Workloads.Inputs.SearchProfileArgs
{
NodeSku = "Standard_DS2_v2",
OsDisk = new AzureNative.Workloads.Inputs.DiskInfoArgs
{
StorageType = AzureNative.Workloads.DiskStorageType.Premium_LRS,
},
OsImage = new AzureNative.Workloads.Inputs.OsImageProfileArgs
{
Offer = "UbuntuServer",
Publisher = "Canonical",
Sku = "18.0-LTS",
Version = "latest",
},
SearchType = "Elastic",
},
SiteProfile = new AzureNative.Workloads.Inputs.SiteProfileArgs
{
DomainName = "www.example.com",
},
Sku = new AzureNative.Workloads.Inputs.SkuArgs
{
Name = "Large",
},
Tags = null,
WebNodesProfile = new AzureNative.Workloads.Inputs.VmssNodesProfileArgs
{
AutoScaleMaxCount = 1,
AutoScaleMinCount = 1,
Name = "web-server",
NodeSku = "Standard_DS2_v2",
OsDisk = new AzureNative.Workloads.Inputs.DiskInfoArgs
{
StorageType = AzureNative.Workloads.DiskStorageType.Premium_LRS,
},
OsImage = new AzureNative.Workloads.Inputs.OsImageProfileArgs
{
Offer = "UbuntuServer",
Publisher = "Canonical",
Sku = "18.0-LTS",
Version = "latest",
},
},
});
});
Content copied to clipboard
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.NewPhpWorkload(ctx, "phpWorkload", &workloads.PhpWorkloadArgs{
AdminUserProfile: &workloads.UserProfileArgs{
SshPublicKey: pulumi.String("===SSH=PUBLIC=KEY==="),
UserName: pulumi.String("wpadmin"),
},
AppLocation: pulumi.String("eastus"),
BackupProfile: &workloads.BackupProfileArgs{
BackupEnabled: pulumi.String("Disabled"),
},
CacheProfile: &workloads.CacheProfileArgs{
Capacity: pulumi.Float64(0),
Family: pulumi.String("C"),
Name: pulumi.String("wp-cache"),
SkuName: pulumi.String("Basic"),
},
ControllerProfile: workloads.NodeProfileResponse{
DataDisks: workloads.DiskInfoArray{
&workloads.DiskInfoArgs{
SizeInGB: pulumi.Float64(100),
StorageType: workloads.DiskStorageType_Premium_LRS,
},
},
Name: pulumi.String("contoller-vm"),
NodeSku: pulumi.String("Standard_DS2_v2"),
OsDisk: &workloads.DiskInfoArgs{
StorageType: workloads.DiskStorageType_Premium_LRS,
},
OsImage: &workloads.OsImageProfileArgs{
Offer: pulumi.String("UbuntuServer"),
Publisher: pulumi.String("Canonical"),
Sku: pulumi.String("18.0-LTS"),
Version: pulumi.String("latest"),
},
},
DatabaseProfile: &workloads.DatabaseProfileArgs{
BackupRetentionDays: pulumi.Int(7),
HaEnabled: pulumi.String("Disabled"),
ServerName: pulumi.String("wp-db-server"),
Sku: pulumi.String("Standard_D32s_v4"),
SslEnforcementEnabled: pulumi.String("Enabled"),
StorageInGB: pulumi.Float64(128),
StorageIops: pulumi.Float64(200),
StorageSku: pulumi.String("Premium_LRS"),
Tier: workloads.DatabaseTierGeneralPurpose,
Type: pulumi.String("MySql"),
Version: pulumi.String("5.7"),
},
FileshareProfile: &workloads.FileshareProfileArgs{
ShareSizeInGB: pulumi.Float64(100),
ShareType: pulumi.String("AzureFiles"),
StorageType: pulumi.String("Premium_LRS"),
},
Kind: pulumi.String("WordPress"),
Location: pulumi.String("eastus2"),
ManagedResourceGroupConfiguration: &workloads.ManagedRGConfigurationArgs{
Name: pulumi.String("php-mrg-wp39"),
},
NetworkProfile: &workloads.NetworkProfileArgs{
AzureFrontDoorEnabled: pulumi.String("Enabled"),
LoadBalancerSku: pulumi.String("Standard"),
LoadBalancerType: pulumi.String("LoadBalancer"),
},
PhpProfile: &workloads.PhpProfileArgs{
Version: pulumi.String("7.3"),
},
PhpWorkloadName: pulumi.String("wp39"),
ResourceGroupName: pulumi.String("test-rg"),
SearchProfile: workloads.SearchProfileResponse{
NodeSku: pulumi.String("Standard_DS2_v2"),
OsDisk: &workloads.DiskInfoArgs{
StorageType: workloads.DiskStorageType_Premium_LRS,
},
OsImage: &workloads.OsImageProfileArgs{
Offer: pulumi.String("UbuntuServer"),
Publisher: pulumi.String("Canonical"),
Sku: pulumi.String("18.0-LTS"),
Version: pulumi.String("latest"),
},
SearchType: pulumi.String("Elastic"),
},
SiteProfile: &workloads.SiteProfileArgs{
DomainName: pulumi.String("www.example.com"),
},
Sku: &workloads.SkuArgs{
Name: pulumi.String("Large"),
},
Tags: nil,
WebNodesProfile: workloads.VmssNodesProfileResponse{
AutoScaleMaxCount: pulumi.Int(1),
AutoScaleMinCount: pulumi.Int(1),
Name: pulumi.String("web-server"),
NodeSku: pulumi.String("Standard_DS2_v2"),
OsDisk: &workloads.DiskInfoArgs{
StorageType: workloads.DiskStorageType_Premium_LRS,
},
OsImage: &workloads.OsImageProfileArgs{
Offer: pulumi.String("UbuntuServer"),
Publisher: pulumi.String("Canonical"),
Sku: pulumi.String("18.0-LTS"),
Version: pulumi.String("latest"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.workloads.PhpWorkload;
import com.pulumi.azurenative.workloads.PhpWorkloadArgs;
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 phpWorkload = new PhpWorkload("phpWorkload", PhpWorkloadArgs.builder()
.adminUserProfile(Map.ofEntries(
Map.entry("sshPublicKey", "===SSH=PUBLIC=KEY==="),
Map.entry("userName", "wpadmin")
))
.appLocation("eastus")
.backupProfile(Map.of("backupEnabled", "Disabled"))
.cacheProfile(Map.ofEntries(
Map.entry("capacity", 0),
Map.entry("family", "C"),
Map.entry("name", "wp-cache"),
Map.entry("skuName", "Basic")
))
.controllerProfile(Map.ofEntries(
Map.entry("dataDisks", Map.ofEntries(
Map.entry("sizeInGB", 100),
Map.entry("storageType", "Premium_LRS")
)),
Map.entry("name", "contoller-vm"),
Map.entry("nodeSku", "Standard_DS2_v2"),
Map.entry("osDisk", Map.of("storageType", "Premium_LRS")),
Map.entry("osImage", Map.ofEntries(
Map.entry("offer", "UbuntuServer"),
Map.entry("publisher", "Canonical"),
Map.entry("sku", "18.0-LTS"),
Map.entry("version", "latest")
))
))
.databaseProfile(Map.ofEntries(
Map.entry("backupRetentionDays", 7),
Map.entry("haEnabled", "Disabled"),
Map.entry("serverName", "wp-db-server"),
Map.entry("sku", "Standard_D32s_v4"),
Map.entry("sslEnforcementEnabled", "Enabled"),
Map.entry("storageInGB", 128),
Map.entry("storageIops", 200),
Map.entry("storageSku", "Premium_LRS"),
Map.entry("tier", "GeneralPurpose"),
Map.entry("type", "MySql"),
Map.entry("version", "5.7")
))
.fileshareProfile(Map.ofEntries(
Map.entry("shareSizeInGB", 100),
Map.entry("shareType", "AzureFiles"),
Map.entry("storageType", "Premium_LRS")
))
.kind("WordPress")
.location("eastus2")
.managedResourceGroupConfiguration(Map.of("name", "php-mrg-wp39"))
.networkProfile(Map.ofEntries(
Map.entry("azureFrontDoorEnabled", "Enabled"),
Map.entry("loadBalancerSku", "Standard"),
Map.entry("loadBalancerType", "LoadBalancer")
))
.phpProfile(Map.of("version", "7.3"))
.phpWorkloadName("wp39")
.resourceGroupName("test-rg")
.searchProfile(Map.ofEntries(
Map.entry("nodeSku", "Standard_DS2_v2"),
Map.entry("osDisk", Map.of("storageType", "Premium_LRS")),
Map.entry("osImage", Map.ofEntries(
Map.entry("offer", "UbuntuServer"),
Map.entry("publisher", "Canonical"),
Map.entry("sku", "18.0-LTS"),
Map.entry("version", "latest")
)),
Map.entry("searchType", "Elastic")
))
.siteProfile(Map.of("domainName", "www.example.com"))
.sku(Map.of("name", "Large"))
.tags()
.webNodesProfile(Map.ofEntries(
Map.entry("autoScaleMaxCount", 1),
Map.entry("autoScaleMinCount", 1),
Map.entry("name", "web-server"),
Map.entry("nodeSku", "Standard_DS2_v2"),
Map.entry("osDisk", Map.of("storageType", "Premium_LRS")),
Map.entry("osImage", Map.ofEntries(
Map.entry("offer", "UbuntuServer"),
Map.entry("publisher", "Canonical"),
Map.entry("sku", "18.0-LTS"),
Map.entry("version", "latest")
))
))
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:workloads:PhpWorkload wp39 /subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsot.Workloads/phpWorkloads/wp39
Content copied to clipboard
Properties
Link copied to clipboard
Admin user profile used for VM and VMSS
Link copied to clipboard
The infra resources for PHP workload will be created in this location
Link copied to clipboard
Backup profile
Link copied to clipboard
Cache profile
Link copied to clipboard
Controller VM profile
Link copied to clipboard
Database profile
Link copied to clipboard
File share profile
Link copied to clipboard
Identity for the resource. Currently not supported
Link copied to clipboard
Managed resource group configuration of the workload
Link copied to clipboard
Network profile
Link copied to clipboard
PHP profile
Link copied to clipboard
Php workload resource provisioning state
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Search profile
Link copied to clipboard
Site profile
Link copied to clipboard
Php workloads SKU
Link copied to clipboard
Azure Resource Manager metadata containing createdBy and modifiedBy information.
Link copied to clipboard
VMSS web nodes profile