Skip to content

Commit f7a4126

Browse files
author
Lee Zen
authored
Update ARM template examples to use ResourceGroupTemplateDeployment (#1139)
1 parent d6a1d1b commit f7a4126

File tree

4 files changed

+53
-49
lines changed

4 files changed

+53
-49
lines changed

classic-azure-py-arm-template/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ here](https://www.pulumi.com/docs/intro/cloud-providers/azure/setup/) to connect
4242
Updating stack 'azure-arm-dev'
4343
Performing changes:
4444
45-
Type Name Status
46-
+ pulumi:pulumi:Stack azure-arm--azure-arm-dev created
47-
+ ├─ azure:core:ResourceGroup rg created
48-
+ └─ azure:core:TemplateDeployment arm-dep created
45+
Type Name Status
46+
+ pulumi:pulumi:Stack azure-arm--azure-arm-dev created
47+
+ ├─ azure:core:ResourceGroup rg created
48+
+ └─ azure:core:ResourceGroupTemplateDeployment arm-dep created
4949
5050
Outputs:
5151
storageAccountName: "abevrwebgje2wstorage"

classic-azure-py-arm-template/__main__.py

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2016-2020, Pulumi Corporation. All rights reserved.
1+
# Copyright 2016-2021, Pulumi Corporation. All rights reserved.
22

33
import json
44

@@ -13,9 +13,15 @@
1313
template = {
1414
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
1515
"contentVersion": "1.0.0.0",
16+
"outputs": {
17+
"storageAccountName": {
18+
"type": "String",
19+
"value": "[variables('storageAccountName')]",
20+
},
21+
},
1622
"parameters": {
1723
"storageAccountType": {
18-
"type": "string",
24+
"type": "String",
1925
"defaultValue": "Standard_LRS",
2026
"allowedValues": [
2127
"Standard_LRS",
@@ -27,13 +33,6 @@
2733
},
2834
},
2935
},
30-
"variables": {
31-
"location": "[resourceGroup().location]",
32-
"storageAccountName": "[concat(uniquestring(resourceGroup().id), 'storage')]",
33-
"publicIPAddressName": "[concat('myPublicIp', uniquestring(resourceGroup().id))]",
34-
"publicIPAddressType": "Dynamic",
35-
"dnsLabelPrefix": f"{get_project()}-{get_stack()}",
36-
},
3736
"resources": [
3837
{
3938
"type": "Microsoft.Storage/storageAccounts",
@@ -57,23 +56,26 @@
5756
},
5857
},
5958
],
60-
"outputs": {
61-
"storageAccountName": {
62-
"type": "string",
63-
"value": "[variables('storageAccountName')]",
64-
},
65-
}
59+
"variables": {
60+
"location": "[resourceGroup().location]",
61+
"storageAccountName": "[concat(uniquestring(resourceGroup().id), 'storage')]",
62+
"publicIPAddressName": "[concat('myPublicIp', uniquestring(resourceGroup().id))]",
63+
"publicIPAddressType": "Dynamic",
64+
"dnsLabelPrefix": f"{get_project()}-{get_stack()}",
65+
},
6666
}
6767

6868
# Create an ARM template deployment using the ordinary JSON ARM template as specified above. This could be read from disk, of course.
69-
arm_deployment = azure.core.TemplateDeployment('test-dep',
69+
arm_deployment = azure.core.ResourceGroupTemplateDeployment('test-dep',
7070
resource_group_name=resource_group.name,
71-
template_body=json.dumps(template),
72-
parameters={
73-
'storageAccountType': 'Standard_GRS'
74-
},
71+
template_content=json.dumps(template),
72+
parameters_content=json.dumps({
73+
'storageAccountType': {
74+
'value': 'Standard_GRS'
75+
}
76+
}),
7577
deployment_mode='Incremental',
7678
)
7779

7880
# Finally, export the allocated storage account name.
79-
export('storageAccountName', arm_deployment.outputs['storageAccountName'])
81+
export('storageAccountName', arm_deployment.output_content.apply(lambda j: json.loads(j)['storageAccountName']['value']))

classic-azure-ts-arm-template/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ npm install
4848
Updating stack 'azure-arm-dev'
4949
Performing changes:
5050
51-
Type Name Status
52-
+ pulumi:pulumi:Stack azure-arm--azure-arm-dev created
53-
+ ├─ azure:core:ResourceGroup rg created
54-
+ └─ azure:core:TemplateDeployment arm-dep created
51+
Type Name Status
52+
+ pulumi:pulumi:Stack azure-arm--azure-arm-dev created
53+
+ ├─ azure:core:ResourceGroup rg created
54+
+ └─ azure:core:ResourceGroupTemplateDeployment arm-dep created
5555
5656
Outputs:
5757
storageAccountName: "abevrwebgje2wstorage"

classic-azure-ts-arm-template/index.ts

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2016-2018, Pulumi Corporation. All rights reserved.
1+
// Copyright 2016-2021, Pulumi Corporation. All rights reserved.
22

33
import * as azure from "@pulumi/azure";
44
import * as pulumi from "@pulumi/pulumi";
@@ -7,14 +7,20 @@ import * as pulumi from "@pulumi/pulumi";
77
const resourceGroup = new azure.core.ResourceGroup("test");
88

99
// Create an ARM template deployment using an ordinary JSON ARM template. This could be read from disk, of course.
10-
const armDeployment = new azure.core.TemplateDeployment("test-dep", {
10+
const armDeployment = new azure.core.ResourceGroupTemplateDeployment("test-dep", {
1111
resourceGroupName: resourceGroup.name,
12-
templateBody: JSON.stringify({
12+
templateContent: JSON.stringify({
1313
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
1414
"contentVersion": "1.0.0.0",
15+
"outputs": {
16+
"storageAccountName": {
17+
"type": "String",
18+
"value": "[variables('storageAccountName')]",
19+
},
20+
},
1521
"parameters": {
1622
"storageAccountType": {
17-
"type": "string",
23+
"type": "String",
1824
"defaultValue": "Standard_LRS",
1925
"allowedValues": [
2026
"Standard_LRS",
@@ -26,13 +32,6 @@ const armDeployment = new azure.core.TemplateDeployment("test-dep", {
2632
},
2733
},
2834
},
29-
"variables": {
30-
"location": "[resourceGroup().location]",
31-
"storageAccountName": "[concat(uniquestring(resourceGroup().id), 'storage')]",
32-
"publicIPAddressName": "[concat('myPublicIp', uniquestring(resourceGroup().id))]",
33-
"publicIPAddressType": "Dynamic",
34-
"dnsLabelPrefix": `${pulumi.getProject()}-${pulumi.getStack()}`,
35-
},
3635
"resources": [
3736
{
3837
"type": "Microsoft.Storage/storageAccounts",
@@ -56,18 +55,21 @@ const armDeployment = new azure.core.TemplateDeployment("test-dep", {
5655
},
5756
},
5857
],
59-
"outputs": {
60-
"storageAccountName": {
61-
"type": "string",
62-
"value": "[variables('storageAccountName')]",
63-
},
58+
"variables": {
59+
"location": "[resourceGroup().location]",
60+
"storageAccountName": "[concat(uniquestring(resourceGroup().id), 'storage')]",
61+
"publicIPAddressName": "[concat('myPublicIp', uniquestring(resourceGroup().id))]",
62+
"publicIPAddressType": "Dynamic",
63+
"dnsLabelPrefix": `${pulumi.getProject()}-${pulumi.getStack()}`,
6464
},
6565
}),
66-
parameters: {
67-
"storageAccountType": "Standard_GRS",
68-
},
66+
parametersContent: JSON.stringify({
67+
"storageAccountType": {
68+
"value": "Standard_GRS",
69+
},
70+
}),
6971
deploymentMode: "Incremental",
7072
});
7173

7274
// Finally, export the allocated storage account name.
73-
export const storageAccountName = armDeployment.outputs["storageAccountName"];
75+
export const storageAccountName = armDeployment.outputContent.apply((content: string) => JSON.parse(content)["storageAccountName"]["value"]);

0 commit comments

Comments
 (0)