We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
Import
Machine Learning Workspace can be imported using the resource id, e.g.
$ pulumi import azure:machinelearning/workspace:Workspace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.MachineLearningServices/workspaces/workspace1
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleInsights = new Azure.AppInsights.Insights("exampleInsights", new Azure.AppInsights.InsightsArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
ApplicationType = "web",
});
var exampleKeyVault = new Azure.KeyVault.KeyVault("exampleKeyVault", new Azure.KeyVault.KeyVaultArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
TenantId = current.Apply(current => current.TenantId),
SkuName = "premium",
});
var exampleAccount = new Azure.Storage.Account("exampleAccount", new Azure.Storage.AccountArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
AccountTier = "Standard",
AccountReplicationType = "GRS",
});
var exampleWorkspace = new Azure.MachineLearning.Workspace("exampleWorkspace", new Azure.MachineLearning.WorkspaceArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
ApplicationInsightsId = exampleInsights.Id,
KeyVaultId = exampleKeyVault.Id,
StorageAccountId = exampleAccount.Id,
Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs
{
Type = "SystemAssigned",
},
});
}
}
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/appinsights"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/machinelearning"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
current, err := core.GetClientConfig(ctx, nil, nil)
if err != nil {
return err
}
exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleInsights, err := appinsights.NewInsights(ctx, "exampleInsights", &appinsights.InsightsArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
ApplicationType: pulumi.String("web"),
})
if err != nil {
return err
}
exampleKeyVault, err := keyvault.NewKeyVault(ctx, "exampleKeyVault", &keyvault.KeyVaultArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
TenantId: pulumi.String(current.TenantId),
SkuName: pulumi.String("premium"),
})
if err != nil {
return err
}
exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("GRS"),
})
if err != nil {
return err
}
_, err = machinelearning.NewWorkspace(ctx, "exampleWorkspace", &machinelearning.WorkspaceArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
ApplicationInsightsId: exampleInsights.ID(),
KeyVaultId: exampleKeyVault.ID(),
StorageAccountId: exampleAccount.ID(),
Identity: &machinelearning.WorkspaceIdentityArgs{
Type: pulumi.String("SystemAssigned"),
},
})
if err != nil {
return err
}
return nil
})
}
Example coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const current = azure.core.getClientConfig({});
const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleInsights = new azure.appinsights.Insights("exampleInsights", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
applicationType: "web",
});
const exampleKeyVault = new azure.keyvault.KeyVault("exampleKeyVault", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
tenantId: current.then(current => current.tenantId),
skuName: "premium",
});
const exampleAccount = new azure.storage.Account("exampleAccount", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
accountTier: "Standard",
accountReplicationType: "GRS",
});
const exampleWorkspace = new azure.machinelearning.Workspace("exampleWorkspace", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
applicationInsightsId: exampleInsights.id,
keyVaultId: exampleKeyVault.id,
storageAccountId: exampleAccount.id,
identity: {
type: "SystemAssigned",
},
});
import pulumi
import pulumi_azure as azure
current = azure.core.get_client_config()
example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_insights = azure.appinsights.Insights("exampleInsights",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
application_type="web")
example_key_vault = azure.keyvault.KeyVault("exampleKeyVault",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
tenant_id=current.tenant_id,
sku_name="premium")
example_account = azure.storage.Account("exampleAccount",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
account_tier="Standard",
account_replication_type="GRS")
example_workspace = azure.machinelearning.Workspace("exampleWorkspace",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
application_insights_id=example_insights.id,
key_vault_id=example_key_vault.id,
storage_account_id=example_account.id,
identity=azure.machinelearning.WorkspaceIdentityArgs(
type="SystemAssigned",
))
Example coming soon!
With Data Encryption
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleInsights = new Azure.AppInsights.Insights("exampleInsights", new Azure.AppInsights.InsightsArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
ApplicationType = "web",
});
var exampleKeyVault = new Azure.KeyVault.KeyVault("exampleKeyVault", new Azure.KeyVault.KeyVaultArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
TenantId = current.Apply(current => current.TenantId),
SkuName = "premium",
PurgeProtectionEnabled = true,
});
var exampleAccessPolicy = new Azure.KeyVault.AccessPolicy("exampleAccessPolicy", new Azure.KeyVault.AccessPolicyArgs
{
KeyVaultId = exampleKeyVault.Id,
TenantId = current.Apply(current => current.TenantId),
ObjectId = current.Apply(current => current.ObjectId),
KeyPermissions =
{
"Create",
"Get",
"Delete",
"Purge",
},
});
var exampleAccount = new Azure.Storage.Account("exampleAccount", new Azure.Storage.AccountArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
AccountTier = "Standard",
AccountReplicationType = "GRS",
});
var exampleKey = new Azure.KeyVault.Key("exampleKey", new Azure.KeyVault.KeyArgs
{
KeyVaultId = exampleKeyVault.Id,
KeyType = "RSA",
KeySize = 2048,
KeyOpts =
{
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
},
}, new CustomResourceOptions
{
DependsOn =
{
exampleKeyVault,
exampleAccessPolicy,
},
});
var exampleWorkspace = new Azure.MachineLearning.Workspace("exampleWorkspace", new Azure.MachineLearning.WorkspaceArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
ApplicationInsightsId = exampleInsights.Id,
KeyVaultId = exampleKeyVault.Id,
StorageAccountId = exampleAccount.Id,
Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs
{
Type = "SystemAssigned",
},
Encryption = new Azure.MachineLearning.Inputs.WorkspaceEncryptionArgs
{
KeyVaultId = exampleKeyVault.Id,
KeyId = exampleKey.Id,
},
});
}
}
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/appinsights"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/machinelearning"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
current, err := core.GetClientConfig(ctx, nil, nil)
if err != nil {
return err
}
exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleInsights, err := appinsights.NewInsights(ctx, "exampleInsights", &appinsights.InsightsArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
ApplicationType: pulumi.String("web"),
})
if err != nil {
return err
}
exampleKeyVault, err := keyvault.NewKeyVault(ctx, "exampleKeyVault", &keyvault.KeyVaultArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
TenantId: pulumi.String(current.TenantId),
SkuName: pulumi.String("premium"),
PurgeProtectionEnabled: pulumi.Bool(true),
})
if err != nil {
return err
}
exampleAccessPolicy, err := keyvault.NewAccessPolicy(ctx, "exampleAccessPolicy", &keyvault.AccessPolicyArgs{
KeyVaultId: exampleKeyVault.ID(),
TenantId: pulumi.String(current.TenantId),
ObjectId: pulumi.String(current.ObjectId),
KeyPermissions: pulumi.StringArray{
pulumi.String("Create"),
pulumi.String("Get"),
pulumi.String("Delete"),
pulumi.String("Purge"),
},
})
if err != nil {
return err
}
exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("GRS"),
})
if err != nil {
return err
}
exampleKey, err := keyvault.NewKey(ctx, "exampleKey", &keyvault.KeyArgs{
KeyVaultId: exampleKeyVault.ID(),
KeyType: pulumi.String("RSA"),
KeySize: pulumi.Int(2048),
KeyOpts: pulumi.StringArray{
pulumi.String("decrypt"),
pulumi.String("encrypt"),
pulumi.String("sign"),
pulumi.String("unwrapKey"),
pulumi.String("verify"),
pulumi.String("wrapKey"),
},
}, pulumi.DependsOn([]pulumi.Resource{
exampleKeyVault,
exampleAccessPolicy,
}))
if err != nil {
return err
}
_, err = machinelearning.NewWorkspace(ctx, "exampleWorkspace", &machinelearning.WorkspaceArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
ApplicationInsightsId: exampleInsights.ID(),
KeyVaultId: exampleKeyVault.ID(),
StorageAccountId: exampleAccount.ID(),
Identity: &machinelearning.WorkspaceIdentityArgs{
Type: pulumi.String("SystemAssigned"),
},
Encryption: &machinelearning.WorkspaceEncryptionArgs{
KeyVaultId: exampleKeyVault.ID(),
KeyId: exampleKey.ID(),
},
})
if err != nil {
return err
}
return nil
})
}
Example coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const current = azure.core.getClientConfig({});
const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleInsights = new azure.appinsights.Insights("exampleInsights", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
applicationType: "web",
});
const exampleKeyVault = new azure.keyvault.KeyVault("exampleKeyVault", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
tenantId: current.then(current => current.tenantId),
skuName: "premium",
purgeProtectionEnabled: true,
});
const exampleAccessPolicy = new azure.keyvault.AccessPolicy("exampleAccessPolicy", {
keyVaultId: exampleKeyVault.id,
tenantId: current.then(current => current.tenantId),
objectId: current.then(current => current.objectId),
keyPermissions: [
"Create",
"Get",
"Delete",
"Purge",
],
});
const exampleAccount = new azure.storage.Account("exampleAccount", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
accountTier: "Standard",
accountReplicationType: "GRS",
});
const exampleKey = new azure.keyvault.Key("exampleKey", {
keyVaultId: exampleKeyVault.id,
keyType: "RSA",
keySize: 2048,
keyOpts: [
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
],
}, {
dependsOn: [
exampleKeyVault,
exampleAccessPolicy,
],
});
const exampleWorkspace = new azure.machinelearning.Workspace("exampleWorkspace", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
applicationInsightsId: exampleInsights.id,
keyVaultId: exampleKeyVault.id,
storageAccountId: exampleAccount.id,
identity: {
type: "SystemAssigned",
},
encryption: {
keyVaultId: exampleKeyVault.id,
keyId: exampleKey.id,
},
});
import pulumi
import pulumi_azure as azure
current = azure.core.get_client_config()
example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_insights = azure.appinsights.Insights("exampleInsights",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
application_type="web")
example_key_vault = azure.keyvault.KeyVault("exampleKeyVault",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
tenant_id=current.tenant_id,
sku_name="premium",
purge_protection_enabled=True)
example_access_policy = azure.keyvault.AccessPolicy("exampleAccessPolicy",
key_vault_id=example_key_vault.id,
tenant_id=current.tenant_id,
object_id=current.object_id,
key_permissions=[
"Create",
"Get",
"Delete",
"Purge",
])
example_account = azure.storage.Account("exampleAccount",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
account_tier="Standard",
account_replication_type="GRS")
example_key = azure.keyvault.Key("exampleKey",
key_vault_id=example_key_vault.id,
key_type="RSA",
key_size=2048,
key_opts=[
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
],
opts=pulumi.ResourceOptions(depends_on=[
example_key_vault,
example_access_policy,
]))
example_workspace = azure.machinelearning.Workspace("exampleWorkspace",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
application_insights_id=example_insights.id,
key_vault_id=example_key_vault.id,
storage_account_id=example_account.id,
identity=azure.machinelearning.WorkspaceIdentityArgs(
type="SystemAssigned",
),
encryption=azure.machinelearning.WorkspaceEncryptionArgs(
key_vault_id=example_key_vault.id,
key_id=example_key.id,
))
Example coming soon!
With User Assigned Identity And Data Encryption
using Pulumi;
using Azure = Pulumi.Azure;
using AzureAD = Pulumi.AzureAD;
class MyStack : Stack
{
public MyStack()
{
var current = Output.Create(Azure.Core.GetClientConfig.InvokeAsync());
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleInsights = new Azure.AppInsights.Insights("exampleInsights", new Azure.AppInsights.InsightsArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
ApplicationType = "web",
});
var exampleAccount = new Azure.Storage.Account("exampleAccount", new Azure.Storage.AccountArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
AccountTier = "Standard",
AccountReplicationType = "GRS",
});
var exampleKeyVault = new Azure.KeyVault.KeyVault("exampleKeyVault", new Azure.KeyVault.KeyVaultArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
TenantId = current.Apply(current => current.TenantId),
SkuName = "premium",
PurgeProtectionEnabled = true,
});
var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("exampleUserAssignedIdentity", new Azure.Authorization.UserAssignedIdentityArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
});
var example_identity = new Azure.KeyVault.AccessPolicy("example-identity", new Azure.KeyVault.AccessPolicyArgs
{
KeyVaultId = exampleKeyVault.Id,
TenantId = current.Apply(current => current.TenantId),
ObjectId = exampleUserAssignedIdentity.PrincipalId,
KeyPermissions =
{
"wrapKey",
"unwrapKey",
"get",
"recover",
},
SecretPermissions =
{
"get",
"list",
"set",
"delete",
"recover",
"backup",
"restore",
},
});
var example_sp = new Azure.KeyVault.AccessPolicy("example-sp", new Azure.KeyVault.AccessPolicyArgs
{
KeyVaultId = exampleKeyVault.Id,
TenantId = current.Apply(current => current.TenantId),
ObjectId = current.Apply(current => current.ObjectId),
KeyPermissions =
{
"Get",
"Create",
"Recover",
"Delete",
"Purge",
},
});
var test = Output.Create(AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs
{
DisplayName = "Azure Cosmos DB",
}));
var example_cosmosdb = new Azure.KeyVault.AccessPolicy("example-cosmosdb", new Azure.KeyVault.AccessPolicyArgs
{
KeyVaultId = exampleKeyVault.Id,
TenantId = current.Apply(current => current.TenantId),
ObjectId = test.Apply(test => test.ObjectId),
KeyPermissions =
{
"Get",
"Recover",
"UnwrapKey",
"WrapKey",
},
}, new CustomResourceOptions
{
DependsOn =
{
test,
current,
},
});
var exampleKey = new Azure.KeyVault.Key("exampleKey", new Azure.KeyVault.KeyArgs
{
KeyVaultId = exampleKeyVault.Id,
KeyType = "RSA",
KeySize = 2048,
KeyOpts =
{
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
},
}, new CustomResourceOptions
{
DependsOn =
{
exampleKeyVault,
example_sp,
},
});
var example_role1 = new Azure.Authorization.Assignment("example-role1", new Azure.Authorization.AssignmentArgs
{
Scope = exampleKeyVault.Id,
RoleDefinitionName = "Contributor",
PrincipalId = exampleUserAssignedIdentity.PrincipalId,
});
var example_role2 = new Azure.Authorization.Assignment("example-role2", new Azure.Authorization.AssignmentArgs
{
Scope = exampleAccount.Id,
RoleDefinitionName = "Storage Blob Data Contributor",
PrincipalId = exampleUserAssignedIdentity.PrincipalId,
});
var example_role3 = new Azure.Authorization.Assignment("example-role3", new Azure.Authorization.AssignmentArgs
{
Scope = exampleAccount.Id,
RoleDefinitionName = "Contributor",
PrincipalId = exampleUserAssignedIdentity.PrincipalId,
});
var example_role4 = new Azure.Authorization.Assignment("example-role4", new Azure.Authorization.AssignmentArgs
{
Scope = exampleInsights.Id,
RoleDefinitionName = "Contributor",
PrincipalId = exampleUserAssignedIdentity.PrincipalId,
});
var exampleWorkspace = new Azure.MachineLearning.Workspace("exampleWorkspace", new Azure.MachineLearning.WorkspaceArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
ApplicationInsightsId = exampleInsights.Id,
KeyVaultId = exampleKeyVault.Id,
StorageAccountId = exampleAccount.Id,
HighBusinessImpact = true,
PrimaryUserAssignedIdentity = exampleUserAssignedIdentity.Id,
Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs
{
Type = "UserAssigned",
IdentityIds =
{
exampleUserAssignedIdentity.Id,
},
},
Encryption = new Azure.MachineLearning.Inputs.WorkspaceEncryptionArgs
{
UserAssignedIdentityId = exampleUserAssignedIdentity.Id,
KeyVaultId = exampleKeyVault.Id,
KeyId = exampleKey.Id,
},
}, new CustomResourceOptions
{
DependsOn =
{
example_role1,
example_role2,
example_role3,
example_role4,
example_cosmosdb,
},
});
}
}
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/appinsights"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/machinelearning"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi-azuread/sdk/v4/go/azuread"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
current, err := core.GetClientConfig(ctx, nil, nil)
if err != nil {
return err
}
exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleInsights, err := appinsights.NewInsights(ctx, "exampleInsights", &appinsights.InsightsArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
ApplicationType: pulumi.String("web"),
})
if err != nil {
return err
}
exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("GRS"),
})
if err != nil {
return err
}
exampleKeyVault, err := keyvault.NewKeyVault(ctx, "exampleKeyVault", &keyvault.KeyVaultArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
TenantId: pulumi.String(current.TenantId),
SkuName: pulumi.String("premium"),
PurgeProtectionEnabled: pulumi.Bool(true),
})
if err != nil {
return err
}
exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "exampleUserAssignedIdentity", &authorization.UserAssignedIdentityArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
})
if err != nil {
return err
}
_, err = keyvault.NewAccessPolicy(ctx, "example-identity", &keyvault.AccessPolicyArgs{
KeyVaultId: exampleKeyVault.ID(),
TenantId: pulumi.String(current.TenantId),
ObjectId: exampleUserAssignedIdentity.PrincipalId,
KeyPermissions: pulumi.StringArray{
pulumi.String("wrapKey"),
pulumi.String("unwrapKey"),
pulumi.String("get"),
pulumi.String("recover"),
},
SecretPermissions: pulumi.StringArray{
pulumi.String("get"),
pulumi.String("list"),
pulumi.String("set"),
pulumi.String("delete"),
pulumi.String("recover"),
pulumi.String("backup"),
pulumi.String("restore"),
},
})
if err != nil {
return err
}
_, err = keyvault.NewAccessPolicy(ctx, "example-sp", &keyvault.AccessPolicyArgs{
KeyVaultId: exampleKeyVault.ID(),
TenantId: pulumi.String(current.TenantId),
ObjectId: pulumi.String(current.ObjectId),
KeyPermissions: pulumi.StringArray{
pulumi.String("Get"),
pulumi.String("Create"),
pulumi.String("Recover"),
pulumi.String("Delete"),
pulumi.String("Purge"),
},
})
if err != nil {
return err
}
test, err := azuread.LookupServicePrincipal(ctx, &GetServicePrincipalArgs{
DisplayName: pulumi.StringRef("Azure Cosmos DB"),
}, nil)
if err != nil {
return err
}
_, err = keyvault.NewAccessPolicy(ctx, "example-cosmosdb", &keyvault.AccessPolicyArgs{
KeyVaultId: exampleKeyVault.ID(),
TenantId: pulumi.String(current.TenantId),
ObjectId: pulumi.String(test.ObjectId),
KeyPermissions: pulumi.StringArray{
pulumi.String("Get"),
pulumi.String("Recover"),
pulumi.String("UnwrapKey"),
pulumi.String("WrapKey"),
},
}, pulumi.DependsOn([]pulumi.Resource{
test,
current,
}))
if err != nil {
return err
}
exampleKey, err := keyvault.NewKey(ctx, "exampleKey", &keyvault.KeyArgs{
KeyVaultId: exampleKeyVault.ID(),
KeyType: pulumi.String("RSA"),
KeySize: pulumi.Int(2048),
KeyOpts: pulumi.StringArray{
pulumi.String("decrypt"),
pulumi.String("encrypt"),
pulumi.String("sign"),
pulumi.String("unwrapKey"),
pulumi.String("verify"),
pulumi.String("wrapKey"),
},
}, pulumi.DependsOn([]pulumi.Resource{
exampleKeyVault,
example_sp,
}))
if err != nil {
return err
}
_, err = authorization.NewAssignment(ctx, "example-role1", &authorization.AssignmentArgs{
Scope: exampleKeyVault.ID(),
RoleDefinitionName: pulumi.String("Contributor"),
PrincipalId: exampleUserAssignedIdentity.PrincipalId,
})
if err != nil {
return err
}
_, err = authorization.NewAssignment(ctx, "example-role2", &authorization.AssignmentArgs{
Scope: exampleAccount.ID(),
RoleDefinitionName: pulumi.String("Storage Blob Data Contributor"),
PrincipalId: exampleUserAssignedIdentity.PrincipalId,
})
if err != nil {
return err
}
_, err = authorization.NewAssignment(ctx, "example-role3", &authorization.AssignmentArgs{
Scope: exampleAccount.ID(),
RoleDefinitionName: pulumi.String("Contributor"),
PrincipalId: exampleUserAssignedIdentity.PrincipalId,
})
if err != nil {
return err
}
_, err = authorization.NewAssignment(ctx, "example-role4", &authorization.AssignmentArgs{
Scope: exampleInsights.ID(),
RoleDefinitionName: pulumi.String("Contributor"),
PrincipalId: exampleUserAssignedIdentity.PrincipalId,
})
if err != nil {
return err
}
_, err = machinelearning.NewWorkspace(ctx, "exampleWorkspace", &machinelearning.WorkspaceArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
ApplicationInsightsId: exampleInsights.ID(),
KeyVaultId: exampleKeyVault.ID(),
StorageAccountId: exampleAccount.ID(),
HighBusinessImpact: pulumi.Bool(true),
PrimaryUserAssignedIdentity: exampleUserAssignedIdentity.ID(),
Identity: &machinelearning.WorkspaceIdentityArgs{
Type: pulumi.String("UserAssigned"),
IdentityIds: pulumi.StringArray{
exampleUserAssignedIdentity.ID(),
},
},
Encryption: &machinelearning.WorkspaceEncryptionArgs{
UserAssignedIdentityId: exampleUserAssignedIdentity.ID(),
KeyVaultId: exampleKeyVault.ID(),
KeyId: exampleKey.ID(),
},
}, pulumi.DependsOn([]pulumi.Resource{
example_role1,
example_role2,
example_role3,
example_role4,
example_cosmosdb,
}))
if err != nil {
return err
}
return nil
})
}
Example coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as azuread from "@pulumi/azuread";
const current = azure.core.getClientConfig({});
const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleInsights = new azure.appinsights.Insights("exampleInsights", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
applicationType: "web",
});
const exampleAccount = new azure.storage.Account("exampleAccount", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
accountTier: "Standard",
accountReplicationType: "GRS",
});
const exampleKeyVault = new azure.keyvault.KeyVault("exampleKeyVault", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
tenantId: current.then(current => current.tenantId),
skuName: "premium",
purgeProtectionEnabled: true,
});
const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("exampleUserAssignedIdentity", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
});
const example_identity = new azure.keyvault.AccessPolicy("example-identity", {
keyVaultId: exampleKeyVault.id,
tenantId: current.then(current => current.tenantId),
objectId: exampleUserAssignedIdentity.principalId,
keyPermissions: [
"wrapKey",
"unwrapKey",
"get",
"recover",
],
secretPermissions: [
"get",
"list",
"set",
"delete",
"recover",
"backup",
"restore",
],
});
const example_sp = new azure.keyvault.AccessPolicy("example-sp", {
keyVaultId: exampleKeyVault.id,
tenantId: current.then(current => current.tenantId),
objectId: current.then(current => current.objectId),
keyPermissions: [
"Get",
"Create",
"Recover",
"Delete",
"Purge",
],
});
const test = azuread.getServicePrincipal({
displayName: "Azure Cosmos DB",
});
const example_cosmosdb = new azure.keyvault.AccessPolicy("example-cosmosdb", {
keyVaultId: exampleKeyVault.id,
tenantId: current.then(current => current.tenantId),
objectId: test.then(test => test.objectId),
keyPermissions: [
"Get",
"Recover",
"UnwrapKey",
"WrapKey",
],
}, {
dependsOn: [
test,
current,
],
});
const exampleKey = new azure.keyvault.Key("exampleKey", {
keyVaultId: exampleKeyVault.id,
keyType: "RSA",
keySize: 2048,
keyOpts: [
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
],
}, {
dependsOn: [
exampleKeyVault,
example_sp,
],
});
const example_role1 = new azure.authorization.Assignment("example-role1", {
scope: exampleKeyVault.id,
roleDefinitionName: "Contributor",
principalId: exampleUserAssignedIdentity.principalId,
});
const example_role2 = new azure.authorization.Assignment("example-role2", {
scope: exampleAccount.id,
roleDefinitionName: "Storage Blob Data Contributor",
principalId: exampleUserAssignedIdentity.principalId,
});
const example_role3 = new azure.authorization.Assignment("example-role3", {
scope: exampleAccount.id,
roleDefinitionName: "Contributor",
principalId: exampleUserAssignedIdentity.principalId,
});
const example_role4 = new azure.authorization.Assignment("example-role4", {
scope: exampleInsights.id,
roleDefinitionName: "Contributor",
principalId: exampleUserAssignedIdentity.principalId,
});
const exampleWorkspace = new azure.machinelearning.Workspace("exampleWorkspace", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
applicationInsightsId: exampleInsights.id,
keyVaultId: exampleKeyVault.id,
storageAccountId: exampleAccount.id,
highBusinessImpact: true,
primaryUserAssignedIdentity: exampleUserAssignedIdentity.id,
identity: {
type: "UserAssigned",
identityIds: [exampleUserAssignedIdentity.id],
},
encryption: {
userAssignedIdentityId: exampleUserAssignedIdentity.id,
keyVaultId: exampleKeyVault.id,
keyId: exampleKey.id,
},
}, {
dependsOn: [
example_role1,
example_role2,
example_role3,
example_role4,
example_cosmosdb,
],
});
import pulumi
import pulumi_azure as azure
import pulumi_azuread as azuread
current = azure.core.get_client_config()
example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_insights = azure.appinsights.Insights("exampleInsights",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
application_type="web")
example_account = azure.storage.Account("exampleAccount",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
account_tier="Standard",
account_replication_type="GRS")
example_key_vault = azure.keyvault.KeyVault("exampleKeyVault",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
tenant_id=current.tenant_id,
sku_name="premium",
purge_protection_enabled=True)
example_user_assigned_identity = azure.authorization.UserAssignedIdentity("exampleUserAssignedIdentity",
location=example_resource_group.location,
resource_group_name=example_resource_group.name)
example_identity = azure.keyvault.AccessPolicy("example-identity",
key_vault_id=example_key_vault.id,
tenant_id=current.tenant_id,
object_id=example_user_assigned_identity.principal_id,
key_permissions=[
"wrapKey",
"unwrapKey",
"get",
"recover",
],
secret_permissions=[
"get",
"list",
"set",
"delete",
"recover",
"backup",
"restore",
])
example_sp = azure.keyvault.AccessPolicy("example-sp",
key_vault_id=example_key_vault.id,
tenant_id=current.tenant_id,
object_id=current.object_id,
key_permissions=[
"Get",
"Create",
"Recover",
"Delete",
"Purge",
])
test = azuread.get_service_principal(display_name="Azure Cosmos DB")
example_cosmosdb = azure.keyvault.AccessPolicy("example-cosmosdb",
key_vault_id=example_key_vault.id,
tenant_id=current.tenant_id,
object_id=test.object_id,
key_permissions=[
"Get",
"Recover",
"UnwrapKey",
"WrapKey",
],
opts=pulumi.ResourceOptions(depends_on=[
test,
current,
]))
example_key = azure.keyvault.Key("exampleKey",
key_vault_id=example_key_vault.id,
key_type="RSA",
key_size=2048,
key_opts=[
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
],
opts=pulumi.ResourceOptions(depends_on=[
example_key_vault,
example_sp,
]))
example_role1 = azure.authorization.Assignment("example-role1",
scope=example_key_vault.id,
role_definition_name="Contributor",
principal_id=example_user_assigned_identity.principal_id)
example_role2 = azure.authorization.Assignment("example-role2",
scope=example_account.id,
role_definition_name="Storage Blob Data Contributor",
principal_id=example_user_assigned_identity.principal_id)
example_role3 = azure.authorization.Assignment("example-role3",
scope=example_account.id,
role_definition_name="Contributor",
principal_id=example_user_assigned_identity.principal_id)
example_role4 = azure.authorization.Assignment("example-role4",
scope=example_insights.id,
role_definition_name="Contributor",
principal_id=example_user_assigned_identity.principal_id)
example_workspace = azure.machinelearning.Workspace("exampleWorkspace",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
application_insights_id=example_insights.id,
key_vault_id=example_key_vault.id,
storage_account_id=example_account.id,
high_business_impact=True,
primary_user_assigned_identity=example_user_assigned_identity.id,
identity=azure.machinelearning.WorkspaceIdentityArgs(
type="UserAssigned",
identity_ids=[example_user_assigned_identity.id],
),
encryption=azure.machinelearning.WorkspaceEncryptionArgs(
user_assigned_identity_id=example_user_assigned_identity.id,
key_vault_id=example_key_vault.id,
key_id=example_key.id,
),
opts=pulumi.ResourceOptions(depends_on=[
example_role1,
example_role2,
example_role3,
example_role4,
example_cosmosdb,
]))
Example coming soon!
Create Workspace Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Workspace(name: string, args: WorkspaceArgs, opts?: CustomResourceOptions);@overload
def Workspace(resource_name: str,
args: WorkspaceArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Workspace(resource_name: str,
opts: Optional[ResourceOptions] = None,
identity: Optional[WorkspaceIdentityArgs] = None,
storage_account_id: Optional[str] = None,
resource_group_name: Optional[str] = None,
key_vault_id: Optional[str] = None,
application_insights_id: Optional[str] = None,
friendly_name: Optional[str] = None,
high_business_impact: Optional[bool] = None,
image_build_compute_name: Optional[str] = None,
encryption: Optional[WorkspaceEncryptionArgs] = None,
location: Optional[str] = None,
name: Optional[str] = None,
primary_user_assigned_identity: Optional[str] = None,
public_network_access_enabled: Optional[bool] = None,
description: Optional[str] = None,
sku_name: Optional[str] = None,
container_registry_id: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None)func NewWorkspace(ctx *Context, name string, args WorkspaceArgs, opts ...ResourceOption) (*Workspace, error)public Workspace(string name, WorkspaceArgs args, CustomResourceOptions? opts = null)
public Workspace(String name, WorkspaceArgs args)
public Workspace(String name, WorkspaceArgs args, CustomResourceOptions options)
type: azure:machinelearning:Workspace
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args WorkspaceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args WorkspaceArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args WorkspaceArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args WorkspaceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args WorkspaceArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var exampleworkspaceResourceResourceFromMachinelearningworkspace = new Azure.MachineLearning.Workspace("exampleworkspaceResourceResourceFromMachinelearningworkspace", new()
{
Identity = new Azure.MachineLearning.Inputs.WorkspaceIdentityArgs
{
Type = "string",
IdentityIds = new[]
{
"string",
},
PrincipalId = "string",
TenantId = "string",
},
StorageAccountId = "string",
ResourceGroupName = "string",
KeyVaultId = "string",
ApplicationInsightsId = "string",
FriendlyName = "string",
HighBusinessImpact = false,
ImageBuildComputeName = "string",
Encryption = new Azure.MachineLearning.Inputs.WorkspaceEncryptionArgs
{
KeyId = "string",
KeyVaultId = "string",
UserAssignedIdentityId = "string",
},
Location = "string",
Name = "string",
PrimaryUserAssignedIdentity = "string",
PublicNetworkAccessEnabled = false,
Description = "string",
SkuName = "string",
ContainerRegistryId = "string",
Tags =
{
{ "string", "string" },
},
});
example, err := machinelearning.NewWorkspace(ctx, "exampleworkspaceResourceResourceFromMachinelearningworkspace", &machinelearning.WorkspaceArgs{
Identity: &machinelearning.WorkspaceIdentityArgs{
Type: pulumi.String("string"),
IdentityIds: pulumi.StringArray{
pulumi.String("string"),
},
PrincipalId: pulumi.String("string"),
TenantId: pulumi.String("string"),
},
StorageAccountId: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
KeyVaultId: pulumi.String("string"),
ApplicationInsightsId: pulumi.String("string"),
FriendlyName: pulumi.String("string"),
HighBusinessImpact: pulumi.Bool(false),
ImageBuildComputeName: pulumi.String("string"),
Encryption: &machinelearning.WorkspaceEncryptionArgs{
KeyId: pulumi.String("string"),
KeyVaultId: pulumi.String("string"),
UserAssignedIdentityId: pulumi.String("string"),
},
Location: pulumi.String("string"),
Name: pulumi.String("string"),
PrimaryUserAssignedIdentity: pulumi.String("string"),
PublicNetworkAccessEnabled: pulumi.Bool(false),
Description: pulumi.String("string"),
SkuName: pulumi.String("string"),
ContainerRegistryId: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
})
var exampleworkspaceResourceResourceFromMachinelearningworkspace = new com.pulumi.azure.machinelearning.Workspace("exampleworkspaceResourceResourceFromMachinelearningworkspace", com.pulumi.azure.machinelearning.WorkspaceArgs.builder()
.identity(WorkspaceIdentityArgs.builder()
.type("string")
.identityIds("string")
.principalId("string")
.tenantId("string")
.build())
.storageAccountId("string")
.resourceGroupName("string")
.keyVaultId("string")
.applicationInsightsId("string")
.friendlyName("string")
.highBusinessImpact(false)
.imageBuildComputeName("string")
.encryption(WorkspaceEncryptionArgs.builder()
.keyId("string")
.keyVaultId("string")
.userAssignedIdentityId("string")
.build())
.location("string")
.name("string")
.primaryUserAssignedIdentity("string")
.publicNetworkAccessEnabled(false)
.description("string")
.skuName("string")
.containerRegistryId("string")
.tags(Map.of("string", "string"))
.build());
exampleworkspace_resource_resource_from_machinelearningworkspace = azure.machinelearning.Workspace("exampleworkspaceResourceResourceFromMachinelearningworkspace",
identity={
"type": "string",
"identity_ids": ["string"],
"principal_id": "string",
"tenant_id": "string",
},
storage_account_id="string",
resource_group_name="string",
key_vault_id="string",
application_insights_id="string",
friendly_name="string",
high_business_impact=False,
image_build_compute_name="string",
encryption={
"key_id": "string",
"key_vault_id": "string",
"user_assigned_identity_id": "string",
},
location="string",
name="string",
primary_user_assigned_identity="string",
public_network_access_enabled=False,
description="string",
sku_name="string",
container_registry_id="string",
tags={
"string": "string",
})
const exampleworkspaceResourceResourceFromMachinelearningworkspace = new azure.machinelearning.Workspace("exampleworkspaceResourceResourceFromMachinelearningworkspace", {
identity: {
type: "string",
identityIds: ["string"],
principalId: "string",
tenantId: "string",
},
storageAccountId: "string",
resourceGroupName: "string",
keyVaultId: "string",
applicationInsightsId: "string",
friendlyName: "string",
highBusinessImpact: false,
imageBuildComputeName: "string",
encryption: {
keyId: "string",
keyVaultId: "string",
userAssignedIdentityId: "string",
},
location: "string",
name: "string",
primaryUserAssignedIdentity: "string",
publicNetworkAccessEnabled: false,
description: "string",
skuName: "string",
containerRegistryId: "string",
tags: {
string: "string",
},
});
type: azure:machinelearning:Workspace
properties:
applicationInsightsId: string
containerRegistryId: string
description: string
encryption:
keyId: string
keyVaultId: string
userAssignedIdentityId: string
friendlyName: string
highBusinessImpact: false
identity:
identityIds:
- string
principalId: string
tenantId: string
type: string
imageBuildComputeName: string
keyVaultId: string
location: string
name: string
primaryUserAssignedIdentity: string
publicNetworkAccessEnabled: false
resourceGroupName: string
skuName: string
storageAccountId: string
tags:
string: string
Workspace Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Workspace resource accepts the following input properties:
- Application
Insights stringId - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Identity
Workspace
Identity - An
identityblock as defined below. - Key
Vault stringId - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Resource
Group stringName - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- Storage
Account stringId - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Container
Registry stringId - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Description string
- The description of this Machine Learning Workspace.
- Encryption
Workspace
Encryption - Friendly
Name string - Display name for this Machine Learning Workspace.
- High
Business boolImpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- Image
Build stringCompute Name - The compute name for image build of the Machine Learning Workspace.
- Location string
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- Name string
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- Primary
User stringAssigned Identity - The user assigned identity id that represents the workspace identity.
- Public
Network boolAccess Enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- Sku
Name string - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - Dictionary<string, string>
- A mapping of tags to assign to the resource.
- Application
Insights stringId - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Identity
Workspace
Identity Args - An
identityblock as defined below. - Key
Vault stringId - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Resource
Group stringName - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- Storage
Account stringId - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Container
Registry stringId - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Description string
- The description of this Machine Learning Workspace.
- Encryption
Workspace
Encryption Args - Friendly
Name string - Display name for this Machine Learning Workspace.
- High
Business boolImpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- Image
Build stringCompute Name - The compute name for image build of the Machine Learning Workspace.
- Location string
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- Name string
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- Primary
User stringAssigned Identity - The user assigned identity id that represents the workspace identity.
- Public
Network boolAccess Enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- Sku
Name string - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - map[string]string
- A mapping of tags to assign to the resource.
- application
Insights StringId - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- identity
Workspace
Identity - An
identityblock as defined below. - key
Vault StringId - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- resource
Group StringName - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- storage
Account StringId - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- container
Registry StringId - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- description String
- The description of this Machine Learning Workspace.
- encryption
Workspace
Encryption - friendly
Name String - Display name for this Machine Learning Workspace.
- high
Business BooleanImpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- image
Build StringCompute Name - The compute name for image build of the Machine Learning Workspace.
- location String
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- name String
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- primary
User StringAssigned Identity - The user assigned identity id that represents the workspace identity.
- public
Network BooleanAccess Enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- sku
Name String - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - Map<String,String>
- A mapping of tags to assign to the resource.
- application
Insights stringId - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- identity
Workspace
Identity - An
identityblock as defined below. - key
Vault stringId - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- resource
Group stringName - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- storage
Account stringId - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- container
Registry stringId - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- description string
- The description of this Machine Learning Workspace.
- encryption
Workspace
Encryption - friendly
Name string - Display name for this Machine Learning Workspace.
- high
Business booleanImpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- image
Build stringCompute Name - The compute name for image build of the Machine Learning Workspace.
- location string
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- name string
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- primary
User stringAssigned Identity - The user assigned identity id that represents the workspace identity.
- public
Network booleanAccess Enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- sku
Name string - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - {[key: string]: string}
- A mapping of tags to assign to the resource.
- application_
insights_ strid - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- identity
Workspace
Identity Args - An
identityblock as defined below. - key_
vault_ strid - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- resource_
group_ strname - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- storage_
account_ strid - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- container_
registry_ strid - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- description str
- The description of this Machine Learning Workspace.
- encryption
Workspace
Encryption Args - friendly_
name str - Display name for this Machine Learning Workspace.
- high_
business_ boolimpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- image_
build_ strcompute_ name - The compute name for image build of the Machine Learning Workspace.
- location str
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- name str
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- primary_
user_ strassigned_ identity - The user assigned identity id that represents the workspace identity.
- public_
network_ boolaccess_ enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- sku_
name str - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - Mapping[str, str]
- A mapping of tags to assign to the resource.
- application
Insights StringId - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- identity Property Map
- An
identityblock as defined below. - key
Vault StringId - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- resource
Group StringName - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- storage
Account StringId - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- container
Registry StringId - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- description String
- The description of this Machine Learning Workspace.
- encryption Property Map
- friendly
Name String - Display name for this Machine Learning Workspace.
- high
Business BooleanImpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- image
Build StringCompute Name - The compute name for image build of the Machine Learning Workspace.
- location String
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- name String
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- primary
User StringAssigned Identity - The user assigned identity id that represents the workspace identity.
- public
Network BooleanAccess Enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- sku
Name String - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - Map<String>
- A mapping of tags to assign to the resource.
Outputs
All input properties are implicitly available as output properties. Additionally, the Workspace resource produces the following output properties:
- Discovery
Url string - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- Id string
- The provider-assigned unique ID for this managed resource.
- Discovery
Url string - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- Id string
- The provider-assigned unique ID for this managed resource.
- discovery
Url String - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- id String
- The provider-assigned unique ID for this managed resource.
- discovery
Url string - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- id string
- The provider-assigned unique ID for this managed resource.
- discovery_
url str - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- id str
- The provider-assigned unique ID for this managed resource.
- discovery
Url String - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing Workspace Resource
Get an existing Workspace resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: WorkspaceState, opts?: CustomResourceOptions): Workspace@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
application_insights_id: Optional[str] = None,
container_registry_id: Optional[str] = None,
description: Optional[str] = None,
discovery_url: Optional[str] = None,
encryption: Optional[WorkspaceEncryptionArgs] = None,
friendly_name: Optional[str] = None,
high_business_impact: Optional[bool] = None,
identity: Optional[WorkspaceIdentityArgs] = None,
image_build_compute_name: Optional[str] = None,
key_vault_id: Optional[str] = None,
location: Optional[str] = None,
name: Optional[str] = None,
primary_user_assigned_identity: Optional[str] = None,
public_network_access_enabled: Optional[bool] = None,
resource_group_name: Optional[str] = None,
sku_name: Optional[str] = None,
storage_account_id: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None) -> Workspacefunc GetWorkspace(ctx *Context, name string, id IDInput, state *WorkspaceState, opts ...ResourceOption) (*Workspace, error)public static Workspace Get(string name, Input<string> id, WorkspaceState? state, CustomResourceOptions? opts = null)public static Workspace get(String name, Output<String> id, WorkspaceState state, CustomResourceOptions options)resources: _: type: azure:machinelearning:Workspace get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Application
Insights stringId - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Container
Registry stringId - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Description string
- The description of this Machine Learning Workspace.
- Discovery
Url string - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- Encryption
Workspace
Encryption - Friendly
Name string - Display name for this Machine Learning Workspace.
- High
Business boolImpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- Identity
Workspace
Identity - An
identityblock as defined below. - Image
Build stringCompute Name - The compute name for image build of the Machine Learning Workspace.
- Key
Vault stringId - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Location string
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- Name string
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- Primary
User stringAssigned Identity - The user assigned identity id that represents the workspace identity.
- Public
Network boolAccess Enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- Resource
Group stringName - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- Sku
Name string - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - Storage
Account stringId - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Dictionary<string, string>
- A mapping of tags to assign to the resource.
- Application
Insights stringId - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Container
Registry stringId - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Description string
- The description of this Machine Learning Workspace.
- Discovery
Url string - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- Encryption
Workspace
Encryption Args - Friendly
Name string - Display name for this Machine Learning Workspace.
- High
Business boolImpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- Identity
Workspace
Identity Args - An
identityblock as defined below. - Image
Build stringCompute Name - The compute name for image build of the Machine Learning Workspace.
- Key
Vault stringId - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Location string
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- Name string
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- Primary
User stringAssigned Identity - The user assigned identity id that represents the workspace identity.
- Public
Network boolAccess Enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- Resource
Group stringName - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- Sku
Name string - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - Storage
Account stringId - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- map[string]string
- A mapping of tags to assign to the resource.
- application
Insights StringId - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- container
Registry StringId - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- description String
- The description of this Machine Learning Workspace.
- discovery
Url String - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- encryption
Workspace
Encryption - friendly
Name String - Display name for this Machine Learning Workspace.
- high
Business BooleanImpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- identity
Workspace
Identity - An
identityblock as defined below. - image
Build StringCompute Name - The compute name for image build of the Machine Learning Workspace.
- key
Vault StringId - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- location String
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- name String
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- primary
User StringAssigned Identity - The user assigned identity id that represents the workspace identity.
- public
Network BooleanAccess Enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- resource
Group StringName - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- sku
Name String - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - storage
Account StringId - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Map<String,String>
- A mapping of tags to assign to the resource.
- application
Insights stringId - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- container
Registry stringId - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- description string
- The description of this Machine Learning Workspace.
- discovery
Url string - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- encryption
Workspace
Encryption - friendly
Name string - Display name for this Machine Learning Workspace.
- high
Business booleanImpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- identity
Workspace
Identity - An
identityblock as defined below. - image
Build stringCompute Name - The compute name for image build of the Machine Learning Workspace.
- key
Vault stringId - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- location string
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- name string
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- primary
User stringAssigned Identity - The user assigned identity id that represents the workspace identity.
- public
Network booleanAccess Enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- resource
Group stringName - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- sku
Name string - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - storage
Account stringId - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- {[key: string]: string}
- A mapping of tags to assign to the resource.
- application_
insights_ strid - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- container_
registry_ strid - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- description str
- The description of this Machine Learning Workspace.
- discovery_
url str - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- encryption
Workspace
Encryption Args - friendly_
name str - Display name for this Machine Learning Workspace.
- high_
business_ boolimpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- identity
Workspace
Identity Args - An
identityblock as defined below. - image_
build_ strcompute_ name - The compute name for image build of the Machine Learning Workspace.
- key_
vault_ strid - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- location str
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- name str
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- primary_
user_ strassigned_ identity - The user assigned identity id that represents the workspace identity.
- public_
network_ boolaccess_ enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- resource_
group_ strname - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- sku_
name str - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - storage_
account_ strid - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Mapping[str, str]
- A mapping of tags to assign to the resource.
- application
Insights StringId - The ID of the Application Insights associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- container
Registry StringId - The ID of the container registry associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- description String
- The description of this Machine Learning Workspace.
- discovery
Url String - The url for the discovery service to identify regional endpoints for machine learning experimentation services.
- encryption Property Map
- friendly
Name String - Display name for this Machine Learning Workspace.
- high
Business BooleanImpact - Flag to signal High Business Impact (HBI) data in the workspace and reduce diagnostic data collected by the service
- identity Property Map
- An
identityblock as defined below. - image
Build StringCompute Name - The compute name for image build of the Machine Learning Workspace.
- key
Vault StringId - The ID of key vault associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- location String
- Specifies the supported Azure location where the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- name String
- Specifies the name of the Machine Learning Workspace. Changing this forces a new resource to be created.
- primary
User StringAssigned Identity - The user assigned identity id that represents the workspace identity.
- public
Network BooleanAccess Enabled - Enable public access when this Machine Learning Workspace is behind VNet.
- resource
Group StringName - Specifies the name of the Resource Group in which the Machine Learning Workspace should exist. Changing this forces a new resource to be created.
- sku
Name String - SKU/edition of the Machine Learning Workspace, possible values are
Basic. Defaults toBasic. - storage
Account StringId - The ID of the Storage Account associated with this Machine Learning Workspace. Changing this forces a new resource to be created.
- Map<String>
- A mapping of tags to assign to the resource.
Supporting Types
WorkspaceEncryption, WorkspaceEncryptionArgs
- Key
Id string - The Key Vault URI to access the encryption key.
- Key
Vault stringId - The ID of the keyVault where the customer owned encryption key is present.
- User
Assigned stringIdentity Id - The Key Vault URI to access the encryption key.
- Key
Id string - The Key Vault URI to access the encryption key.
- Key
Vault stringId - The ID of the keyVault where the customer owned encryption key is present.
- User
Assigned stringIdentity Id - The Key Vault URI to access the encryption key.
- key
Id String - The Key Vault URI to access the encryption key.
- key
Vault StringId - The ID of the keyVault where the customer owned encryption key is present.
- user
Assigned StringIdentity Id - The Key Vault URI to access the encryption key.
- key
Id string - The Key Vault URI to access the encryption key.
- key
Vault stringId - The ID of the keyVault where the customer owned encryption key is present.
- user
Assigned stringIdentity Id - The Key Vault URI to access the encryption key.
- key_
id str - The Key Vault URI to access the encryption key.
- key_
vault_ strid - The ID of the keyVault where the customer owned encryption key is present.
- user_
assigned_ stridentity_ id - The Key Vault URI to access the encryption key.
- key
Id String - The Key Vault URI to access the encryption key.
- key
Vault StringId - The ID of the keyVault where the customer owned encryption key is present.
- user
Assigned StringIdentity Id - The Key Vault URI to access the encryption key.
WorkspaceIdentity, WorkspaceIdentityArgs
- Type string
- The Type of Identity which should be used for this Machine Learning Workspace. Possible values are
UserAssigned,SystemAssignedandSystemAssigned, UserAssigned. - Identity
Ids List<string> - The user assigned identity IDs associated with the resource.
- Principal
Id string - The (Client) ID of the Service Principal.
- Tenant
Id string - The ID of the Tenant the Service Principal is assigned in.
- Type string
- The Type of Identity which should be used for this Machine Learning Workspace. Possible values are
UserAssigned,SystemAssignedandSystemAssigned, UserAssigned. - Identity
Ids []string - The user assigned identity IDs associated with the resource.
- Principal
Id string - The (Client) ID of the Service Principal.
- Tenant
Id string - The ID of the Tenant the Service Principal is assigned in.
- type String
- The Type of Identity which should be used for this Machine Learning Workspace. Possible values are
UserAssigned,SystemAssignedandSystemAssigned, UserAssigned. - identity
Ids List<String> - The user assigned identity IDs associated with the resource.
- principal
Id String - The (Client) ID of the Service Principal.
- tenant
Id String - The ID of the Tenant the Service Principal is assigned in.
- type string
- The Type of Identity which should be used for this Machine Learning Workspace. Possible values are
UserAssigned,SystemAssignedandSystemAssigned, UserAssigned. - identity
Ids string[] - The user assigned identity IDs associated with the resource.
- principal
Id string - The (Client) ID of the Service Principal.
- tenant
Id string - The ID of the Tenant the Service Principal is assigned in.
- type str
- The Type of Identity which should be used for this Machine Learning Workspace. Possible values are
UserAssigned,SystemAssignedandSystemAssigned, UserAssigned. - identity_
ids Sequence[str] - The user assigned identity IDs associated with the resource.
- principal_
id str - The (Client) ID of the Service Principal.
- tenant_
id str - The ID of the Tenant the Service Principal is assigned in.
- type String
- The Type of Identity which should be used for this Machine Learning Workspace. Possible values are
UserAssigned,SystemAssignedandSystemAssigned, UserAssigned. - identity
Ids List<String> - The user assigned identity IDs associated with the resource.
- principal
Id String - The (Client) ID of the Service Principal.
- tenant
Id String - The ID of the Tenant the Service Principal is assigned in.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurermTerraform Provider.
We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
