PhpWorkloadArgs

data class PhpWorkloadArgs(val adminUserProfile: Output<UserProfileArgs>? = null, val appLocation: Output<String>? = null, val backupProfile: Output<BackupProfileArgs>? = null, val cacheProfile: Output<CacheProfileArgs>? = null, val controllerProfile: Output<NodeProfileArgs>? = null, val databaseProfile: Output<DatabaseProfileArgs>? = null, val fileshareProfile: Output<FileshareProfileArgs>? = null, val identity: Output<PhpWorkloadResourceIdentityArgs>? = null, val kind: Output<Either<String, WorkloadKind>>? = null, val location: Output<String>? = null, val managedResourceGroupConfiguration: Output<ManagedRGConfigurationArgs>? = null, val networkProfile: Output<NetworkProfileArgs>? = null, val phpProfile: Output<PhpProfileArgs>? = null, val phpWorkloadName: Output<String>? = null, val resourceGroupName: Output<String>? = null, val searchProfile: Output<SearchProfileArgs>? = null, val siteProfile: Output<SiteProfileArgs>? = null, val sku: Output<SkuArgs>? = null, val tags: Output<Map<String, String>>? = null, val webNodesProfile: Output<VmssNodesProfileArgs>? = null) : ConvertibleToJava<PhpWorkloadArgs>

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

Constructors

Link copied to clipboard
constructor(adminUserProfile: Output<UserProfileArgs>? = null, appLocation: Output<String>? = null, backupProfile: Output<BackupProfileArgs>? = null, cacheProfile: Output<CacheProfileArgs>? = null, controllerProfile: Output<NodeProfileArgs>? = null, databaseProfile: Output<DatabaseProfileArgs>? = null, fileshareProfile: Output<FileshareProfileArgs>? = null, identity: Output<PhpWorkloadResourceIdentityArgs>? = null, kind: Output<Either<String, WorkloadKind>>? = null, location: Output<String>? = null, managedResourceGroupConfiguration: Output<ManagedRGConfigurationArgs>? = null, networkProfile: Output<NetworkProfileArgs>? = null, phpProfile: Output<PhpProfileArgs>? = null, phpWorkloadName: Output<String>? = null, resourceGroupName: Output<String>? = null, searchProfile: Output<SearchProfileArgs>? = null, siteProfile: Output<SiteProfileArgs>? = null, sku: Output<SkuArgs>? = null, tags: Output<Map<String, String>>? = null, webNodesProfile: Output<VmssNodesProfileArgs>? = null)

Properties

Link copied to clipboard
val adminUserProfile: Output<UserProfileArgs>? = null

Admin user profile used for VM and VMSS

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

The infra resources for PHP workload will be created in this location

Link copied to clipboard
val backupProfile: Output<BackupProfileArgs>? = null

Backup profile

Link copied to clipboard
val cacheProfile: Output<CacheProfileArgs>? = null

Cache profile

Link copied to clipboard
val controllerProfile: Output<NodeProfileArgs>? = null

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
val kind: Output<Either<String, WorkloadKind>>? = null

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

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

The geo-location where the resource lives

Link copied to clipboard

Managed resource group configuration of the workload

Link copied to clipboard
val networkProfile: Output<NetworkProfileArgs>? = null

Network profile

Link copied to clipboard
val phpProfile: Output<PhpProfileArgs>? = null

PHP profile

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

Php workload name

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 searchProfile: Output<SearchProfileArgs>? = null

Search profile

Link copied to clipboard
val siteProfile: Output<SiteProfileArgs>? = null

Site profile

Link copied to clipboard
val sku: Output<SkuArgs>? = null

Php workloads SKU

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

Resource tags.

Link copied to clipboard

VMSS web nodes profile

Functions

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