Skip to content

Commit c6d1353

Browse files
authored
Merge pull request #101414 from mumian/0116-order-deploy
order the elements
2 parents 0d721de + 81f262e commit c6d1353

File tree

3 files changed

+159
-159
lines changed

3 files changed

+159
-159
lines changed

articles/azure-resource-manager/templates/cross-resource-group-deployment.md

Lines changed: 154 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ To specify a different resource group and subscription, use:
2222

2323
```json
2424
"resources": [
25-
{
26-
"apiVersion": "2017-05-10",
27-
"name": "nestedTemplate",
28-
"type": "Microsoft.Resources/deployments",
29-
"resourceGroup": "[parameters('secondResourceGroup')]",
30-
"subscriptionId": "[parameters('secondSubscriptionID')]",
31-
...
32-
}
25+
{
26+
"apiVersion": "2017-05-10",
27+
"name": "nestedTemplate",
28+
"type": "Microsoft.Resources/deployments",
29+
"resourceGroup": "[parameters('secondResourceGroup')]",
30+
"subscriptionId": "[parameters('secondSubscriptionID')]",
31+
...
32+
}
3333
]
3434
```
3535

@@ -39,74 +39,74 @@ The following example deploys two storage accounts. The first storage account is
3939

4040
```json
4141
{
42-
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
43-
"contentVersion": "1.0.0.0",
44-
"parameters": {
45-
"storagePrefix": {
46-
"type": "string",
47-
"maxLength": 11
48-
},
49-
"secondResourceGroup": {
50-
"type": "string"
51-
},
52-
"secondSubscriptionID": {
53-
"type": "string",
54-
"defaultValue": ""
55-
},
56-
"secondStorageLocation": {
57-
"type": "string",
58-
"defaultValue": "[resourceGroup().location]"
59-
}
42+
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
43+
"contentVersion": "1.0.0.0",
44+
"parameters": {
45+
"storagePrefix": {
46+
"type": "string",
47+
"maxLength": 11
48+
},
49+
"secondResourceGroup": {
50+
"type": "string"
6051
},
61-
"variables": {
62-
"firstStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]",
63-
"secondStorageName": "[concat(parameters('storagePrefix'), uniqueString(parameters('secondSubscriptionID'), parameters('secondResourceGroup')))]"
52+
"secondSubscriptionID": {
53+
"type": "string",
54+
"defaultValue": ""
6455
},
65-
"resources": [
66-
{
56+
"secondStorageLocation": {
57+
"type": "string",
58+
"defaultValue": "[resourceGroup().location]"
59+
}
60+
},
61+
"variables": {
62+
"firstStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]",
63+
"secondStorageName": "[concat(parameters('storagePrefix'), uniqueString(parameters('secondSubscriptionID'), parameters('secondResourceGroup')))]"
64+
},
65+
"resources": [
66+
{
67+
"type": "Microsoft.Storage/storageAccounts",
68+
"apiVersion": "2017-06-01",
69+
"name": "[variables('firstStorageName')]",
70+
"location": "[resourceGroup().location]",
71+
"sku":{
72+
"name": "Standard_LRS"
73+
},
74+
"kind": "Storage",
75+
"properties": {
76+
}
77+
},
78+
{
79+
"type": "Microsoft.Resources/deployments",
80+
"apiVersion": "2017-05-10",
81+
"name": "nestedTemplate",
82+
"resourceGroup": "[parameters('secondResourceGroup')]",
83+
"subscriptionId": "[parameters('secondSubscriptionID')]",
84+
"properties": {
85+
"mode": "Incremental",
86+
"template": {
87+
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
88+
"contentVersion": "1.0.0.0",
89+
"parameters": {},
90+
"variables": {},
91+
"resources": [
92+
{
6793
"type": "Microsoft.Storage/storageAccounts",
68-
"name": "[variables('firstStorageName')]",
6994
"apiVersion": "2017-06-01",
70-
"location": "[resourceGroup().location]",
95+
"name": "[variables('secondStorageName')]",
96+
"location": "[parameters('secondStorageLocation')]",
7197
"sku":{
72-
"name": "Standard_LRS"
98+
"name": "Standard_LRS"
7399
},
74100
"kind": "Storage",
75101
"properties": {
76102
}
77-
},
78-
{
79-
"apiVersion": "2017-05-10",
80-
"name": "nestedTemplate",
81-
"type": "Microsoft.Resources/deployments",
82-
"resourceGroup": "[parameters('secondResourceGroup')]",
83-
"subscriptionId": "[parameters('secondSubscriptionID')]",
84-
"properties": {
85-
"mode": "Incremental",
86-
"template": {
87-
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
88-
"contentVersion": "1.0.0.0",
89-
"parameters": {},
90-
"variables": {},
91-
"resources": [
92-
{
93-
"type": "Microsoft.Storage/storageAccounts",
94-
"name": "[variables('secondStorageName')]",
95-
"apiVersion": "2017-06-01",
96-
"location": "[parameters('secondStorageLocation')]",
97-
"sku":{
98-
"name": "Standard_LRS"
99-
},
100-
"kind": "Storage",
101-
"properties": {
102-
}
103-
}
104-
]
105-
},
106-
"parameters": {}
107-
}
108-
}
109-
]
103+
}
104+
]
105+
},
106+
"parameters": {}
107+
}
108+
}
109+
]
110110
}
111111
```
112112

@@ -218,95 +218,95 @@ The following [example template](https://github.com/Azure/azure-docs-json-sample
218218

219219
```json
220220
{
221-
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
222-
"contentVersion": "1.0.0.0",
223-
"parameters": {},
224-
"variables": {},
225-
"resources": [
226-
{
227-
"type": "Microsoft.Resources/deployments",
228-
"name": "defaultScopeTemplate",
229-
"apiVersion": "2017-05-10",
230-
"resourceGroup": "inlineGroup",
231-
"properties": {
232-
"mode": "Incremental",
233-
"template": {
234-
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
235-
"contentVersion": "1.0.0.0",
236-
"parameters": {},
237-
"variables": {},
238-
"resources": [
239-
],
240-
"outputs": {
241-
"resourceGroupOutput": {
242-
"type": "string",
243-
"value": "[resourceGroup().name]"
244-
}
245-
}
246-
},
247-
"parameters": {}
248-
}
249-
},
250-
{
251-
"type": "Microsoft.Resources/deployments",
252-
"name": "innerScopeTemplate",
253-
"apiVersion": "2017-05-10",
254-
"resourceGroup": "inlineGroup",
255-
"properties": {
256-
"expressionEvaluationOptions": {
257-
"scope": "inner"
258-
},
259-
"mode": "Incremental",
260-
"template": {
261-
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
262-
"contentVersion": "1.0.0.0",
263-
"parameters": {},
264-
"variables": {},
265-
"resources": [
266-
],
267-
"outputs": {
268-
"resourceGroupOutput": {
269-
"type": "string",
270-
"value": "[resourceGroup().name]"
271-
}
272-
}
273-
},
274-
"parameters": {}
275-
}
276-
},
277-
{
278-
"apiVersion": "2017-05-10",
279-
"name": "linkedTemplate",
280-
"type": "Microsoft.Resources/deployments",
281-
"resourceGroup": "linkedGroup",
282-
"properties": {
283-
"mode": "Incremental",
284-
"templateLink": {
285-
"contentVersion": "1.0.0.0",
286-
"uri": "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/resourceGroupName.json"
287-
},
288-
"parameters": {}
289-
}
290-
}
291-
],
292-
"outputs": {
293-
"parentRG": {
294-
"type": "string",
295-
"value": "[concat('Parent resource group is ', resourceGroup().name)]"
296-
},
297-
"defaultScopeRG": {
298-
"type": "string",
299-
"value": "[concat('Default scope resource group is ', reference('defaultScopeTemplate').outputs.resourceGroupOutput.value)]"
300-
},
301-
"innerScopeRG": {
221+
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
222+
"contentVersion": "1.0.0.0",
223+
"parameters": {},
224+
"variables": {},
225+
"resources": [
226+
{
227+
"type": "Microsoft.Resources/deployments",
228+
"apiVersion": "2017-05-10",
229+
"name": "defaultScopeTemplate",
230+
"resourceGroup": "inlineGroup",
231+
"properties": {
232+
"mode": "Incremental",
233+
"template": {
234+
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
235+
"contentVersion": "1.0.0.0",
236+
"parameters": {},
237+
"variables": {},
238+
"resources": [
239+
],
240+
"outputs": {
241+
"resourceGroupOutput": {
302242
"type": "string",
303-
"value": "[concat('Inner scope resource group is ', reference('innerScopeTemplate').outputs.resourceGroupOutput.value)]"
304-
},
305-
"linkedRG": {
243+
"value": "[resourceGroup().name]"
244+
}
245+
}
246+
},
247+
"parameters": {}
248+
}
249+
},
250+
{
251+
"type": "Microsoft.Resources/deployments",
252+
"apiVersion": "2017-05-10",
253+
"name": "innerScopeTemplate",
254+
"resourceGroup": "inlineGroup",
255+
"properties": {
256+
"expressionEvaluationOptions": {
257+
"scope": "inner"
258+
},
259+
"mode": "Incremental",
260+
"template": {
261+
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
262+
"contentVersion": "1.0.0.0",
263+
"parameters": {},
264+
"variables": {},
265+
"resources": [
266+
],
267+
"outputs": {
268+
"resourceGroupOutput": {
306269
"type": "string",
307-
"value": "[concat('Linked resource group is ', reference('linkedTemplate').outputs.resourceGroupOutput.value)]"
308-
}
270+
"value": "[resourceGroup().name]"
271+
}
272+
}
273+
},
274+
"parameters": {}
275+
}
276+
},
277+
{
278+
"type": "Microsoft.Resources/deployments",
279+
"apiVersion": "2017-05-10",
280+
"name": "linkedTemplate",
281+
"resourceGroup": "linkedGroup",
282+
"properties": {
283+
"mode": "Incremental",
284+
"templateLink": {
285+
"contentVersion": "1.0.0.0",
286+
"uri": "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/resourceGroupName.json"
287+
},
288+
"parameters": {}
289+
}
290+
}
291+
],
292+
"outputs": {
293+
"parentRG": {
294+
"type": "string",
295+
"value": "[concat('Parent resource group is ', resourceGroup().name)]"
296+
},
297+
"defaultScopeRG": {
298+
"type": "string",
299+
"value": "[concat('Default scope resource group is ', reference('defaultScopeTemplate').outputs.resourceGroupOutput.value)]"
300+
},
301+
"innerScopeRG": {
302+
"type": "string",
303+
"value": "[concat('Inner scope resource group is ', reference('innerScopeTemplate').outputs.resourceGroupOutput.value)]"
304+
},
305+
"linkedRG": {
306+
"type": "string",
307+
"value": "[concat('Linked resource group is ', reference('linkedTemplate').outputs.resourceGroupOutput.value)]"
309308
}
309+
}
310310
}
311311
```
312312

@@ -345,7 +345,7 @@ az group create --name linkedGroup --location southcentralus
345345
az group deployment create \
346346
--name ExampleDeployment \
347347
--resource-group parentGroup \
348-
--template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/crossresourcegroupproperties.json
348+
--template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/crossresourcegroupproperties.json
349349
```
350350

351351
The output from the preceding example is:

articles/azure-resource-manager/templates/deploy-cli.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,11 @@ To deploy a template with multi-line strings or comments, you must use the `--ha
149149
```json
150150
{
151151
"type": "Microsoft.Compute/virtualMachines",
152+
"apiVersion": "2018-10-01",
152153
"name": "[variables('vmName')]", // to customize name, change it in variables
153154
"location": "[
154155
parameters('location')
155156
]", //defaults to resource group location
156-
"apiVersion": "2018-10-01",
157157
/*
158158
storage account and network interface
159159
must be deployed first

articles/azure-resource-manager/templates/deploy-rest.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.date: 06/04/2019
66
---
77
# Deploy resources with Resource Manager templates and Resource Manager REST API
88

9-
This article explains how to use the Resource Manager REST API with Resource Manager templates to deploy your resources to Azure.
9+
This article explains how to use the Resource Manager REST API with Resource Manager templates to deploy your resources to Azure.
1010

1111
You can either include your template in the request body or link to a file. When using a file, it can be a local file or an external file that is available through a URI. When your template is in a storage account, you can restrict access to the template and provide a shared access signature (SAS) token during deployment.
1212

@@ -61,7 +61,7 @@ The examples in this article use resource group deployments.
6161

6262
1. Validate your deployment before executing it by running the [Validate a template deployment](/rest/api/resources/deployments/validate) operation. When testing the deployment, provide parameters exactly as you would when executing the deployment (shown in the next step).
6363

64-
1. To deploy a template, provide your subscription ID, the name of the resource group, the name of the deployment in the request URI.
64+
1. To deploy a template, provide your subscription ID, the name of the resource group, the name of the deployment in the request URI.
6565

6666
```HTTP
6767
PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>/providers/Microsoft.Resources/deployments/<YourDeploymentName>?api-version=2019-05-01
@@ -110,7 +110,7 @@ The examples in this article use resource group deployments.
110110

111111
You can set up your storage account to use a shared access signature (SAS) token. For more information, see [Delegating Access with a Shared Access Signature](/rest/api/storageservices/delegating-access-with-a-shared-access-signature).
112112

113-
If you need to provide a sensitive value for a parameter (such as a password), add that value to a key vault. Retrieve the key vault during deployment as shown in the previous example. For more information, see [Pass secure values during deployment](key-vault-parameter.md).
113+
If you need to provide a sensitive value for a parameter (such as a password), add that value to a key vault. Retrieve the key vault during deployment as shown in the previous example. For more information, see [Pass secure values during deployment](key-vault-parameter.md).
114114

115115
1. Instead of linking to files for the template and parameters, you can include them in the request body. The following example shows the request body with the template and parameter inline:
116116

@@ -149,8 +149,8 @@ The examples in this article use resource group deployments.
149149
"resources": [
150150
{
151151
"type": "Microsoft.Storage/storageAccounts",
152-
"name": "[variables('storageAccountName')]",
153152
"apiVersion": "2018-02-01",
153+
"name": "[variables('storageAccountName')]",
154154
"location": "[parameters('location')]",
155155
"sku": {
156156
"name": "[parameters('storageAccountType')]"

0 commit comments

Comments
 (0)