PhpWorkload

class PhpWorkload : KotlinCustomResource

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",
},
},
});
});
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
})
}
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());
}
}

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

Properties

Link copied to clipboard

Admin user profile used for VM and VMSS

Link copied to clipboard
val appLocation: Output<String>

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
val id: Output<String>
Link copied to clipboard

Identity for the resource. Currently not supported

Link copied to clipboard
val kind: Output<String>

Indicates which kind of php workload this resource represent e.g WordPress

Link copied to clipboard
val location: Output<String>

The geo-location where the resource lives

Link copied to clipboard

Managed resource group configuration of the workload

Link copied to clipboard
val name: Output<String>

The name of the resource

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
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Search profile

Link copied to clipboard

Site profile

Link copied to clipboard
val sku: Output<SkuResponse>?

Php workloads SKU

Link copied to clipboard

Azure Resource Manager metadata containing createdBy and modifiedBy information.

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

Resource tags.

Link copied to clipboard
val type: Output<String>

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

VMSS web nodes profile