TemplateArtifactArgs

data class TemplateArtifactArgs(val artifactName: Output<String>? = null, val blueprintName: Output<String>? = null, val dependsOn: Output<List<String>>? = null, val description: Output<String>? = null, val displayName: Output<String>? = null, val kind: Output<String>? = null, val parameters: Output<Map<String, ParameterValueArgs>>? = null, val resourceGroup: Output<String>? = null, val resourceScope: Output<String>? = null, val template: Output<Any>? = null) : ConvertibleToJava<TemplateArtifactArgs>

Blueprint artifact that deploys a Resource Manager template. Uses Azure REST API version 2018-11-01-preview. In version 2.x of the Azure Native provider, it used API version 2018-11-01-preview.

Example Usage

MG-ARMTemplateArtifact

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var templateArtifact = new AzureNative.Blueprint.TemplateArtifact("templateArtifact", new()
{
ArtifactName = "storageTemplate",
BlueprintName = "simpleBlueprint",
Kind = "template",
Parameters =
{
{ "storageAccountType", new AzureNative.Blueprint.Inputs.ParameterValueArgs
{
Value = "[parameters('storageAccountType')]",
} },
},
ResourceGroup = "storageRG",
ResourceScope = "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
Template = new Dictionary<string, object?>
{
["contentVersion"] = "1.0.0.0",
["outputs"] = new Dictionary<string, object?>
{
["storageAccountName"] = new Dictionary<string, object?>
{
["type"] = "string",
["value"] = "[variables('storageAccountName')]",
},
},
["parameters"] = new Dictionary<string, object?>
{
["storageAccountType"] = new Dictionary<string, object?>
{
["allowedValues"] = new[]
{
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS",
},
["defaultValue"] = "Standard_LRS",
["metadata"] = new Dictionary<string, object?>
{
["description"] = "Storage Account type",
},
["type"] = "string",
},
},
["resources"] = new[]
{
new Dictionary<string, object?>
{
["apiVersion"] = "2016-01-01",
["kind"] = "Storage",
["location"] = "[resourceGroup().location]",
["name"] = "[variables('storageAccountName')]",
["properties"] = new Dictionary<string, object?>
{
},
["sku"] = new Dictionary<string, object?>
{
["name"] = "[parameters('storageAccountType')]",
},
["type"] = "Microsoft.Storage/storageAccounts",
},
},
["variables"] = new Dictionary<string, object?>
{
["storageAccountName"] = "[concat(uniquestring(resourceGroup().id), 'standardsa')]",
},
},
});
});
package main
import (
blueprint "github.com/pulumi/pulumi-azure-native-sdk/blueprint/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := blueprint.NewTemplateArtifact(ctx, "templateArtifact", &blueprint.TemplateArtifactArgs{
ArtifactName: pulumi.String("storageTemplate"),
BlueprintName: pulumi.String("simpleBlueprint"),
Kind: pulumi.String("template"),
Parameters: blueprint.ParameterValueMap{
"storageAccountType": &blueprint.ParameterValueArgs{
Value: pulumi.Any("[parameters('storageAccountType')]"),
},
},
ResourceGroup: pulumi.String("storageRG"),
ResourceScope: pulumi.String("providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"),
Template: pulumi.Any(map[string]interface{}{
"contentVersion": "1.0.0.0",
"outputs": map[string]interface{}{
"storageAccountName": map[string]interface{}{
"type": "string",
"value": "[variables('storageAccountName')]",
},
},
"parameters": map[string]interface{}{
"storageAccountType": map[string]interface{}{
"allowedValues": []string{
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS",
},
"defaultValue": "Standard_LRS",
"metadata": map[string]interface{}{
"description": "Storage Account type",
},
"type": "string",
},
},
"resources": []map[string]interface{}{
map[string]interface{}{
"apiVersion": "2016-01-01",
"kind": "Storage",
"location": "[resourceGroup().location]",
"name": "[variables('storageAccountName')]",
"properties": map[string]interface{}{},
"sku": map[string]interface{}{
"name": "[parameters('storageAccountType')]",
},
"type": "Microsoft.Storage/storageAccounts",
},
},
"variables": map[string]interface{}{
"storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]",
},
}),
})
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.blueprint.TemplateArtifact;
import com.pulumi.azurenative.blueprint.TemplateArtifactArgs;
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 templateArtifact = new TemplateArtifact("templateArtifact", TemplateArtifactArgs.builder()
.artifactName("storageTemplate")
.blueprintName("simpleBlueprint")
.kind("template")
.parameters(Map.of("storageAccountType", Map.of("value", "[parameters('storageAccountType')]")))
.resourceGroup("storageRG")
.resourceScope("providers/Microsoft.Management/managementGroups/ContosoOnlineGroup")
.template(Map.ofEntries(
Map.entry("contentVersion", "1.0.0.0"),
Map.entry("outputs", Map.of("storageAccountName", Map.ofEntries(
Map.entry("type", "string"),
Map.entry("value", "[variables('storageAccountName')]")
))),
Map.entry("parameters", Map.of("storageAccountType", Map.ofEntries(
Map.entry("allowedValues",
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS"),
Map.entry("defaultValue", "Standard_LRS"),
Map.entry("metadata", Map.of("description", "Storage Account type")),
Map.entry("type", "string")
))),
Map.entry("resources", Map.ofEntries(
Map.entry("apiVersion", "2016-01-01"),
Map.entry("kind", "Storage"),
Map.entry("location", "[resourceGroup().location]"),
Map.entry("name", "[variables('storageAccountName')]"),
Map.entry("properties", ),
Map.entry("sku", Map.of("name", "[parameters('storageAccountType')]")),
Map.entry("type", "Microsoft.Storage/storageAccounts")
)),
Map.entry("variables", Map.of("storageAccountName", "[concat(uniquestring(resourceGroup().id), 'standardsa')]"))
))
.build());
}
}

MG-PolicyAssignmentArtifact

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var templateArtifact = new AzureNative.Blueprint.TemplateArtifact("templateArtifact", new()
{
ArtifactName = "costCenterPolicy",
BlueprintName = "simpleBlueprint",
ResourceScope = "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
});
});
package main
import (
blueprint "github.com/pulumi/pulumi-azure-native-sdk/blueprint/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := blueprint.NewTemplateArtifact(ctx, "templateArtifact", &blueprint.TemplateArtifactArgs{
ArtifactName: pulumi.String("costCenterPolicy"),
BlueprintName: pulumi.String("simpleBlueprint"),
ResourceScope: pulumi.String("providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"),
})
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.blueprint.TemplateArtifact;
import com.pulumi.azurenative.blueprint.TemplateArtifactArgs;
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 templateArtifact = new TemplateArtifact("templateArtifact", TemplateArtifactArgs.builder()
.artifactName("costCenterPolicy")
.blueprintName("simpleBlueprint")
.resourceScope("providers/Microsoft.Management/managementGroups/ContosoOnlineGroup")
.build());
}
}

MG-RoleAssignmentArtifact

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var templateArtifact = new AzureNative.Blueprint.TemplateArtifact("templateArtifact", new()
{
ArtifactName = "ownerAssignment",
BlueprintName = "simpleBlueprint",
ResourceScope = "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
});
});
package main
import (
blueprint "github.com/pulumi/pulumi-azure-native-sdk/blueprint/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := blueprint.NewTemplateArtifact(ctx, "templateArtifact", &blueprint.TemplateArtifactArgs{
ArtifactName: pulumi.String("ownerAssignment"),
BlueprintName: pulumi.String("simpleBlueprint"),
ResourceScope: pulumi.String("providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"),
})
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.blueprint.TemplateArtifact;
import com.pulumi.azurenative.blueprint.TemplateArtifactArgs;
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 templateArtifact = new TemplateArtifact("templateArtifact", TemplateArtifactArgs.builder()
.artifactName("ownerAssignment")
.blueprintName("simpleBlueprint")
.resourceScope("providers/Microsoft.Management/managementGroups/ContosoOnlineGroup")
.build());
}
}

Sub-ARMTemplateArtifact

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var templateArtifact = new AzureNative.Blueprint.TemplateArtifact("templateArtifact", new()
{
ArtifactName = "storageTemplate",
BlueprintName = "simpleBlueprint",
Kind = "template",
Parameters =
{
{ "storageAccountType", new AzureNative.Blueprint.Inputs.ParameterValueArgs
{
Value = "[parameters('storageAccountType')]",
} },
},
ResourceGroup = "storageRG",
ResourceScope = "subscriptions/00000000-0000-0000-0000-000000000000",
Template = new Dictionary<string, object?>
{
["contentVersion"] = "1.0.0.0",
["outputs"] = new Dictionary<string, object?>
{
["storageAccountName"] = new Dictionary<string, object?>
{
["type"] = "string",
["value"] = "[variables('storageAccountName')]",
},
},
["parameters"] = new Dictionary<string, object?>
{
["storageAccountType"] = new Dictionary<string, object?>
{
["allowedValues"] = new[]
{
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS",
},
["defaultValue"] = "Standard_LRS",
["metadata"] = new Dictionary<string, object?>
{
["description"] = "Storage Account type",
},
["type"] = "string",
},
},
["resources"] = new[]
{
new Dictionary<string, object?>
{
["apiVersion"] = "2016-01-01",
["kind"] = "Storage",
["location"] = "[resourceGroup().location]",
["name"] = "[variables('storageAccountName')]",
["properties"] = new Dictionary<string, object?>
{
},
["sku"] = new Dictionary<string, object?>
{
["name"] = "[parameters('storageAccountType')]",
},
["type"] = "Microsoft.Storage/storageAccounts",
},
},
["variables"] = new Dictionary<string, object?>
{
["storageAccountName"] = "[concat(uniquestring(resourceGroup().id), 'standardsa')]",
},
},
});
});
package main
import (
blueprint "github.com/pulumi/pulumi-azure-native-sdk/blueprint/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := blueprint.NewTemplateArtifact(ctx, "templateArtifact", &blueprint.TemplateArtifactArgs{
ArtifactName: pulumi.String("storageTemplate"),
BlueprintName: pulumi.String("simpleBlueprint"),
Kind: pulumi.String("template"),
Parameters: blueprint.ParameterValueMap{
"storageAccountType": &blueprint.ParameterValueArgs{
Value: pulumi.Any("[parameters('storageAccountType')]"),
},
},
ResourceGroup: pulumi.String("storageRG"),
ResourceScope: pulumi.String("subscriptions/00000000-0000-0000-0000-000000000000"),
Template: pulumi.Any(map[string]interface{}{
"contentVersion": "1.0.0.0",
"outputs": map[string]interface{}{
"storageAccountName": map[string]interface{}{
"type": "string",
"value": "[variables('storageAccountName')]",
},
},
"parameters": map[string]interface{}{
"storageAccountType": map[string]interface{}{
"allowedValues": []string{
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS",
},
"defaultValue": "Standard_LRS",
"metadata": map[string]interface{}{
"description": "Storage Account type",
},
"type": "string",
},
},
"resources": []map[string]interface{}{
map[string]interface{}{
"apiVersion": "2016-01-01",
"kind": "Storage",
"location": "[resourceGroup().location]",
"name": "[variables('storageAccountName')]",
"properties": map[string]interface{}{},
"sku": map[string]interface{}{
"name": "[parameters('storageAccountType')]",
},
"type": "Microsoft.Storage/storageAccounts",
},
},
"variables": map[string]interface{}{
"storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]",
},
}),
})
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.blueprint.TemplateArtifact;
import com.pulumi.azurenative.blueprint.TemplateArtifactArgs;
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 templateArtifact = new TemplateArtifact("templateArtifact", TemplateArtifactArgs.builder()
.artifactName("storageTemplate")
.blueprintName("simpleBlueprint")
.kind("template")
.parameters(Map.of("storageAccountType", Map.of("value", "[parameters('storageAccountType')]")))
.resourceGroup("storageRG")
.resourceScope("subscriptions/00000000-0000-0000-0000-000000000000")
.template(Map.ofEntries(
Map.entry("contentVersion", "1.0.0.0"),
Map.entry("outputs", Map.of("storageAccountName", Map.ofEntries(
Map.entry("type", "string"),
Map.entry("value", "[variables('storageAccountName')]")
))),
Map.entry("parameters", Map.of("storageAccountType", Map.ofEntries(
Map.entry("allowedValues",
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS"),
Map.entry("defaultValue", "Standard_LRS"),
Map.entry("metadata", Map.of("description", "Storage Account type")),
Map.entry("type", "string")
))),
Map.entry("resources", Map.ofEntries(
Map.entry("apiVersion", "2016-01-01"),
Map.entry("kind", "Storage"),
Map.entry("location", "[resourceGroup().location]"),
Map.entry("name", "[variables('storageAccountName')]"),
Map.entry("properties", ),
Map.entry("sku", Map.of("name", "[parameters('storageAccountType')]")),
Map.entry("type", "Microsoft.Storage/storageAccounts")
)),
Map.entry("variables", Map.of("storageAccountName", "[concat(uniquestring(resourceGroup().id), 'standardsa')]"))
))
.build());
}
}

Sub-PolicyAssignmentArtifact

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var templateArtifact = new AzureNative.Blueprint.TemplateArtifact("templateArtifact", new()
{
ArtifactName = "costCenterPolicy",
BlueprintName = "simpleBlueprint",
ResourceScope = "subscriptions/00000000-0000-0000-0000-000000000000",
});
});
package main
import (
blueprint "github.com/pulumi/pulumi-azure-native-sdk/blueprint/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := blueprint.NewTemplateArtifact(ctx, "templateArtifact", &blueprint.TemplateArtifactArgs{
ArtifactName: pulumi.String("costCenterPolicy"),
BlueprintName: pulumi.String("simpleBlueprint"),
ResourceScope: pulumi.String("subscriptions/00000000-0000-0000-0000-000000000000"),
})
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.blueprint.TemplateArtifact;
import com.pulumi.azurenative.blueprint.TemplateArtifactArgs;
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 templateArtifact = new TemplateArtifact("templateArtifact", TemplateArtifactArgs.builder()
.artifactName("costCenterPolicy")
.blueprintName("simpleBlueprint")
.resourceScope("subscriptions/00000000-0000-0000-0000-000000000000")
.build());
}
}

Sub-RoleAssignmentArtifact

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var templateArtifact = new AzureNative.Blueprint.TemplateArtifact("templateArtifact", new()
{
ArtifactName = "ownerAssignment",
BlueprintName = "simpleBlueprint",
ResourceScope = "subscriptions/00000000-0000-0000-0000-000000000000",
});
});
package main
import (
blueprint "github.com/pulumi/pulumi-azure-native-sdk/blueprint/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := blueprint.NewTemplateArtifact(ctx, "templateArtifact", &blueprint.TemplateArtifactArgs{
ArtifactName: pulumi.String("ownerAssignment"),
BlueprintName: pulumi.String("simpleBlueprint"),
ResourceScope: pulumi.String("subscriptions/00000000-0000-0000-0000-000000000000"),
})
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.blueprint.TemplateArtifact;
import com.pulumi.azurenative.blueprint.TemplateArtifactArgs;
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 templateArtifact = new TemplateArtifact("templateArtifact", TemplateArtifactArgs.builder()
.artifactName("ownerAssignment")
.blueprintName("simpleBlueprint")
.resourceScope("subscriptions/00000000-0000-0000-0000-000000000000")
.build());
}
}

Import

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

$ pulumi import azure-native:blueprint:TemplateArtifact ownerAssignment /{resourceScope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts/{artifactName}

Constructors

Link copied to clipboard
constructor(artifactName: Output<String>? = null, blueprintName: Output<String>? = null, dependsOn: Output<List<String>>? = null, description: Output<String>? = null, displayName: Output<String>? = null, kind: Output<String>? = null, parameters: Output<Map<String, ParameterValueArgs>>? = null, resourceGroup: Output<String>? = null, resourceScope: Output<String>? = null, template: Output<Any>? = null)

Properties

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

Name of the blueprint artifact.

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

Name of the blueprint definition.

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

Artifacts which need to be deployed before the specified artifact.

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

Multi-line explain this resource.

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

One-liner string explain this resource.

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

Specifies the kind of blueprint artifact. Expected value is 'template'.

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

Resource Manager template blueprint artifact parameter values.

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

If applicable, the name of the resource group placeholder to which the Resource Manager template blueprint artifact will be deployed.

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

The scope of the resource. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}').

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

The Resource Manager template blueprint artifact body.

Functions

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