sparkle_formation 2.0.0 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3733e20ff2e0df836b9e519da638cd1ae5dd570
4
- data.tar.gz: 42e65f5894748ff4dcd38641ee39499ffb39a6e1
3
+ metadata.gz: cbb4f29d2f9a0a89eab9ce978f32c653324714e5
4
+ data.tar.gz: 8cd5b31636c808b98590f80f94611d1bad9b1095
5
5
  SHA512:
6
- metadata.gz: c85ee17f6bdd54cfcf73dde7c31c33baf1fc46f7dcaa6f2c229a60be15bfbfb5314b19e34f0580fc37cb1c25db88115b32851d70868eafff8d2edf93b691dfac
7
- data.tar.gz: 17aade1f53fe09ab6eec1ca52dc780ce74a2ccdd5d530bc6371f78c0c48246b76fc99f9baa3b9e0d74e67538c9212dd2ffa59d20a30e4a333bbdfe8f9b42a410
6
+ metadata.gz: 19eeadefa0b8119e8fe5dd9422950c5a18a707edad34ea4b7e867f322570ab1c5e12aea13e0a04f4cc1c1ac5640fe3030b89096a87fbd6b2ec247cca92ff7881
7
+ data.tar.gz: c6a22c34f4f5de2cb35e039d538a7880205fbe3882c470e26c136713ebf6f5cbc4bbaa4789497230960dee1dc74d69bd7af83d380d3045477cb5f96791171e5b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ # v2.0.2
2
+ * Provide useful return value from `#dynamic!` (#137)
3
+ * Implement proper Azure resource generator (#141)
4
+ * Update internal Azure resource list (#141)
5
+ * Support provider specific resource splitting (#142)
6
+ * Allow provider specific resource modification on builtin inserts (#143)
7
+ * Enforce helper method convention. Always error if convention used and helper not found (#144)
8
+ * Always include parens on root of FunctionStruct dumps
9
+
1
10
  # v2.0.0
2
11
  * Fix sparkle pack usage in nested stacks (#140)
3
12
  * Update value processing in attribute helpers for consistent behavior
@@ -16,7 +16,7 @@ anchors:
16
16
  - title: "Raise Exceptions"
17
17
  url: "#raise-exceptions"
18
18
  - title: "Provider specific helpers"
19
- url: "#provider-specific-heleprs"
19
+ url: "#provider-specific-helpers"
20
20
  ---
21
21
 
22
22
  ## Helper methods
@@ -16,6 +16,15 @@ class SparkleFormation
16
16
  @name = opts[:name] if opts
17
17
  end
18
18
 
19
+ # @return [String] customized message including name
20
+ def to_s
21
+ if(name)
22
+ "Failed to locate item named: `#{name}`"
23
+ else
24
+ 'Failed to locate item'
25
+ end
26
+ end
27
+
19
28
  # Pack related items
20
29
  class Dynamic < NotFound; end
21
30
  class Component < NotFound; end
@@ -86,9 +86,12 @@ class SparkleFormation
86
86
  arg.inspect
87
87
  end
88
88
  end.join(', ')
89
+ unless(_fn_name.to_s.empty?)
90
+ function_name = args.empty? ? "#{_fn_name}()" : "#{_fn_name}(#{args})"
91
+ end
89
92
  internal = _eval_join(
90
93
  *[
91
- args.empty? ? _fn_name : "#{_fn_name}(#{args})",
94
+ function_name,
92
95
  suffix
93
96
  ].compact
94
97
  )
@@ -85,9 +85,7 @@ class SparkleFormation
85
85
  snake_parts = nil
86
86
  result = @@registry[base_key].keys.detect do |ref|
87
87
  ref = ref.downcase
88
- snake_parts = ref.split(
89
- self.const_get(:RESOURCE_TYPE_NAMESPACE_SPLITTER) # rubocop:disable Style/RedundantSelf
90
- )
88
+ snake_parts = ref.split(resource_type_splitter)
91
89
  until(snake_parts.empty?)
92
90
  break if snake_parts.join('') == key
93
91
  snake_parts.shift
@@ -96,9 +94,7 @@ class SparkleFormation
96
94
  end
97
95
  if(result)
98
96
  collisions = @@registry[base_key].keys.find_all do |ref|
99
- split_ref = ref.downcase.split(
100
- self.const_get(:RESOURCE_TYPE_NAMESPACE_SPLITTER) # rubocop:disable Style/RedundantSelf
101
- )
97
+ split_ref = ref.downcase.split(resource_type_splitter)
102
98
  ref = split_ref.slice(split_ref.size - snake_parts.size, split_ref.size).join('')
103
99
  key == ref
104
100
  end
@@ -110,6 +106,16 @@ class SparkleFormation
110
106
  result
111
107
  end
112
108
 
109
+ # @return [Regexp] value for resource splitting
110
+ # rubocop:disable Style/RedundantSelf
111
+ def resource_type_splitter
112
+ Regexp.new(
113
+ [self.const_get(:RESOURCE_TYPE_NAMESPACE_SPLITTER)].flatten.compact.map{|value|
114
+ Regexp.escape(value)
115
+ }.join('|')
116
+ )
117
+ end
118
+
113
119
  # Registry information for given type
114
120
  #
115
121
  # @param key [String, Symbol]
@@ -126,6 +132,16 @@ class SparkleFormation
126
132
  @@registry[base_key]
127
133
  end
128
134
 
135
+ # Simple hook method to allow resource customization if the specific
136
+ # provider requires/offers extra setup
137
+ #
138
+ # @param struct [SparkleStruct]
139
+ # @param lookup_key [String]
140
+ # @return [SparkleStruct]
141
+ def resource_customizer(struct, lookup_key)
142
+ struct
143
+ end
144
+
129
145
  end
130
146
  end
131
147
  end
@@ -732,7 +732,7 @@
732
732
  ],
733
733
  "full_properties": {
734
734
  "AmiId": {
735
- "description": "The ID of the custom Amazon Machine Image (AMI) to be used to create the instance. The AMI should be based on one of the standard AWS OpsWorks APIs.",
735
+ "description": "The ID of the custom Amazon Machine Image (AMI) to be used to create the instance. For more information about custom AMIs, see Using Custom AMIs in the AWS OpsWorks User Guide.",
736
736
  "required": false,
737
737
  "type": "String",
738
738
  "update_causes": "unavailable"
@@ -2706,6 +2706,7 @@
2706
2706
  "SnapshotName",
2707
2707
  "SnapshotRetentionLimit",
2708
2708
  "SnapshotWindow",
2709
+ "Tags",
2709
2710
  "VpcSecurityGroupIds"
2710
2711
  ],
2711
2712
  "full_properties": {
@@ -2823,6 +2824,12 @@
2823
2824
  "type": "String",
2824
2825
  "update_causes": "none"
2825
2826
  },
2827
+ "Tags": {
2828
+ "description": "An arbitrary set of tags (key–value pairs) for this cache cluster.",
2829
+ "required": false,
2830
+ "type": "Unknown",
2831
+ "update_causes": "none"
2832
+ },
2826
2833
  "VpcSecurityGroupIds": {
2827
2834
  "description": "A list of VPC security group IDs. If your cache cluster isn't in a VPC, specify the CacheSecurityGroupNames property instead.",
2828
2835
  "required": false,
@@ -4950,8 +4957,8 @@
4950
4957
  "update_causes": "none"
4951
4958
  },
4952
4959
  "Egress": {
4953
- "description": "Whether this rule applies to egress traffic from the subnet (\"true\") or ingress traffic to the subnet (\"false\").",
4954
- "required": true,
4960
+ "description": "Whether this rule applies to egress traffic from the subnet (true) or ingress traffic to the subnet (false). By default, AWS CloudFormation specifies false.",
4961
+ "required": false,
4955
4962
  "type": "Boolean",
4956
4963
  "update_causes": "replacement"
4957
4964
  },
@@ -9,7 +9,7 @@ class SparkleFormation
9
9
  class Azure < Resources
10
10
 
11
11
  # String to split for resource namespacing
12
- RESOURCE_TYPE_NAMESPACE_SPLITTER = '/'
12
+ RESOURCE_TYPE_NAMESPACE_SPLITTER = ['.', '/']
13
13
 
14
14
  class << self
15
15
 
@@ -35,6 +35,23 @@ class SparkleFormation
35
35
  load!
36
36
  end
37
37
 
38
+ # Automatically add api version information and location if
39
+ # required by resource and not provided
40
+ #
41
+ # @param struct [SparkleStruct]
42
+ # @param lookup_key [String]
43
+ # @return [SparkleStruct]
44
+ def resource_customizer(struct, lookup_key)
45
+ info = registry[lookup_key]
46
+ if(info[:required].include?('apiVersion') && struct.api_version.nil?)
47
+ struct.api_version info[:api_version]
48
+ end
49
+ if(info[:required].include?('location') && struct.location.nil?)
50
+ struct.location struct.resource_group!.location
51
+ end
52
+ struct
53
+ end
54
+
38
55
  end
39
56
 
40
57
  end
@@ -4,17 +4,73 @@
4
4
  "roleDefinitionId",
5
5
  "principalId",
6
6
  "scope"
7
+ ],
8
+ "full_properties": {
9
+ "roleDefinitionId": {
10
+ "description": "Microsoft.Authorization/roleAssignments: roleDefinitionId - id of the role to be used in the role assignment",
11
+ "required": true,
12
+ "type": "string",
13
+ "update_causes": "unknown"
14
+ },
15
+ "principalId": {
16
+ "description": "Microsoft.Authorization/roleAssignments: principalId - specifies the principal Id. This maps to the id inside the directory and can point to a user, service principal, or security group",
17
+ "required": true,
18
+ "type": "string",
19
+ "update_causes": "unknown"
20
+ },
21
+ "scope": {
22
+ "description": "Microsoft.Authorization/roleAssignments: scope - specifies the scope at which this role assignment applies to",
23
+ "required": true,
24
+ "type": "string",
25
+ "update_causes": "unknown"
26
+ }
27
+ },
28
+ "api_version": "2014-10-01-preview",
29
+ "required": [
30
+ "name",
31
+ "type",
32
+ "apiVersion",
33
+ "properties"
7
34
  ]
8
35
  },
9
36
  "Microsoft.DevTestLab/labs": {
10
37
  "properties": [
11
38
 
39
+ ],
40
+ "full_properties": {
41
+ },
42
+ "api_version": "2015-05-21-preview",
43
+ "required": [
44
+ "type",
45
+ "apiVersion",
46
+ "location"
12
47
  ]
13
48
  },
14
49
  "Microsoft.DevTestLab/environments": {
15
50
  "properties": [
16
51
  "labId",
17
52
  "vms"
53
+ ],
54
+ "full_properties": {
55
+ "labId": {
56
+ "description": "Microsoft.DevTestLab/environments - Lab ID",
57
+ "required": true,
58
+ "type": "string",
59
+ "update_causes": "unknown"
60
+ },
61
+ "vms": {
62
+ "description": "Microsoft.DevTestLab/environments - VMs",
63
+ "required": true,
64
+ "type": null,
65
+ "update_causes": "unknown"
66
+ }
67
+ },
68
+ "api_version": "2015-05-21-preview",
69
+ "required": [
70
+ "type",
71
+ "apiVersion",
72
+ "properties",
73
+ "location"
18
74
  ]
19
75
  },
20
76
  "Microsoft.AppService/apiapps": {
@@ -25,26 +81,129 @@
25
81
  "updatePolicy",
26
82
  "accessLevel",
27
83
  "dependencies"
84
+ ],
85
+ "full_properties": {
86
+ "gateway": {
87
+ "description": "Microsoft.AppService/apiapps: Reference to a gateway resource",
88
+ "required": true,
89
+ "type": null,
90
+ "update_causes": "unknown"
91
+ },
92
+ "host": {
93
+ "description": "Microsoft.AppService/apiapps: Reference to a hosting web site resource",
94
+ "required": false,
95
+ "type": null,
96
+ "update_causes": "unknown"
97
+ },
98
+ "package": {
99
+ "description": "Microsoft.AppService/apiapps: API App NuGet gallery package",
100
+ "required": true,
101
+ "type": null,
102
+ "update_causes": "unknown"
103
+ },
104
+ "updatePolicy": {
105
+ "description": "Microsoft.AppService/apiapps: Update policy for the API App instance",
106
+ "required": false,
107
+ "type": null,
108
+ "update_causes": "unknown"
109
+ },
110
+ "accessLevel": {
111
+ "description": "Microsoft.AppService/apiapps: Access level of the API App instance",
112
+ "required": false,
113
+ "type": null,
114
+ "update_causes": "unknown"
115
+ },
116
+ "dependencies": {
117
+ "description": "Microsoft.AppService/apiapps: Collection of references to dependent API Apps instances",
118
+ "required": false,
119
+ "type": null,
120
+ "update_causes": "unknown"
121
+ }
122
+ },
123
+ "api_version": null,
124
+ "required": [
125
+ "type",
126
+ "apiVersion",
127
+ "properties",
128
+ "location"
28
129
  ]
29
130
  },
30
131
  "Microsoft.AppService/gateways": {
31
132
  "properties": [
32
133
  "host"
134
+ ],
135
+ "full_properties": {
136
+ "host": {
137
+ "description": "Microsoft.AppService/gateways: Reference to a hosting web site resource",
138
+ "required": false,
139
+ "type": null,
140
+ "update_causes": "unknown"
141
+ }
142
+ },
143
+ "api_version": null,
144
+ "required": [
145
+ "type",
146
+ "apiVersion",
147
+ "properties",
148
+ "location"
33
149
  ]
34
150
  },
35
151
  "registrations": {
36
152
  "properties": [
37
-
153
+ "resource"
154
+ ],
155
+ "full_properties": {
156
+ "resource": {
157
+ "description": "Microsoft.AppService/gateways/registrations: Reference to a resource to be registered",
158
+ "required": true,
159
+ "type": null,
160
+ "update_causes": "unknown"
161
+ }
162
+ },
163
+ "api_version": null,
164
+ "required": [
165
+ "type",
166
+ "apiVersion",
167
+ "properties"
38
168
  ]
39
169
  },
40
170
  "Microsoft.AppService/gateways/registrations": {
41
171
  "properties": [
42
-
172
+ "resource"
173
+ ],
174
+ "full_properties": {
175
+ "resource": {
176
+ "description": "Microsoft.AppService/gateways/registrations: Reference to a resource to be registered",
177
+ "required": true,
178
+ "type": null,
179
+ "update_causes": "unknown"
180
+ }
181
+ },
182
+ "api_version": null,
183
+ "required": [
184
+ "type",
185
+ "apiVersion",
186
+ "properties"
43
187
  ]
44
188
  },
45
189
  "Microsoft.DataConnect/connectionManagers": {
46
190
  "properties": [
47
191
  "description"
192
+ ],
193
+ "full_properties": {
194
+ "description": {
195
+ "description": "Microsoft.DataConnect/connectionManagers: The description of the connectionManager.",
196
+ "required": false,
197
+ "type": "string",
198
+ "update_causes": "unknown"
199
+ }
200
+ },
201
+ "api_version": "2015-08-01-preview",
202
+ "required": [
203
+ "type",
204
+ "apiVersion",
205
+ "properties",
206
+ "location"
48
207
  ]
49
208
  },
50
209
  "Microsoft.Web/serverfarms": {
@@ -53,6 +212,39 @@
53
212
  "numberOfWorkers",
54
213
  "sku",
55
214
  "workerSize"
215
+ ],
216
+ "full_properties": {
217
+ "name": {
218
+ "description": "Microsoft.Web/serverfarms: Name of the server farm.",
219
+ "required": false,
220
+ "type": "string",
221
+ "update_causes": "unknown"
222
+ },
223
+ "numberOfWorkers": {
224
+ "description": "Microsoft.Web/serverfarms: The instance count, which is the number of virtual machines dedicated to the farm. Supported values are 1-10.",
225
+ "required": false,
226
+ "type": null,
227
+ "update_causes": "unknown"
228
+ },
229
+ "sku": {
230
+ "description": "Microsoft.Web/serverfarms: Server farm sku.",
231
+ "required": false,
232
+ "type": null,
233
+ "update_causes": "unknown"
234
+ },
235
+ "workerSize": {
236
+ "description": "Microsoft.Web/serverfarms: The instance size.",
237
+ "required": false,
238
+ "type": null,
239
+ "update_causes": "unknown"
240
+ }
241
+ },
242
+ "api_version": "2014-06-01",
243
+ "required": [
244
+ "type",
245
+ "apiVersion",
246
+ "properties",
247
+ "location"
56
248
  ]
57
249
  },
58
250
  "Microsoft.Web/sites/config": {
@@ -60,6 +252,32 @@
60
252
  "connectionStrings",
61
253
  "phpVersion",
62
254
  "netFrameworkVersion"
255
+ ],
256
+ "full_properties": {
257
+ "connectionStrings": {
258
+ "description": "Microsoft.Web/sites/config: Connection strings",
259
+ "required": false,
260
+ "type": null,
261
+ "update_causes": "unknown"
262
+ },
263
+ "phpVersion": {
264
+ "description": "Microsoft.Web/sites/config: PHP version (an empty string disables PHP).",
265
+ "required": false,
266
+ "type": "string",
267
+ "update_causes": "unknown"
268
+ },
269
+ "netFrameworkVersion": {
270
+ "description": "Microsoft.Web/sites/config: The .Net Framework version.",
271
+ "required": false,
272
+ "type": "string",
273
+ "update_causes": "unknown"
274
+ }
275
+ },
276
+ "api_version": "2014-06-01",
277
+ "required": [
278
+ "type",
279
+ "apiVersion",
280
+ "properties"
63
281
  ]
64
282
  },
65
283
  "Microsoft.Web/sites/extensions": {
@@ -72,6 +290,62 @@
72
290
  "type",
73
291
  "typeHandlerVersion",
74
292
  "settings"
293
+ ],
294
+ "full_properties": {
295
+ "packageUri": {
296
+ "description": "Microsoft.Web/sites/extensions: uri of package",
297
+ "required": false,
298
+ "type": "string",
299
+ "update_causes": "unknown"
300
+ },
301
+ "dbType": {
302
+ "description": "Microsoft.Web/sites/extensions: type of database",
303
+ "required": false,
304
+ "type": "string",
305
+ "update_causes": "unknown"
306
+ },
307
+ "connectionString": {
308
+ "description": "Microsoft.Web/sites/extensions: connection string",
309
+ "required": false,
310
+ "type": "string",
311
+ "update_causes": "unknown"
312
+ },
313
+ "setParameters": {
314
+ "description": "Microsoft.Web/sites/extensions: parameters",
315
+ "required": false,
316
+ "type": "string",
317
+ "update_causes": "unknown"
318
+ },
319
+ "publisher": {
320
+ "description": "Microsoft.Compute/extensions - Publisher",
321
+ "required": true,
322
+ "type": "string",
323
+ "update_causes": "unknown"
324
+ },
325
+ "type": {
326
+ "description": "Microsoft.Compute/extensions - Type",
327
+ "required": true,
328
+ "type": "string",
329
+ "update_causes": "unknown"
330
+ },
331
+ "typeHandlerVersion": {
332
+ "description": "Microsoft.Compute/extensions - Type handler version",
333
+ "required": true,
334
+ "type": "string",
335
+ "update_causes": "unknown"
336
+ },
337
+ "settings": {
338
+ "description": "Microsoft.Compute/extensions - Settings",
339
+ "required": true,
340
+ "type": null,
341
+ "update_causes": "unknown"
342
+ }
343
+ },
344
+ "api_version": "2014-06-01",
345
+ "required": [
346
+ "type",
347
+ "apiVersion",
348
+ "properties"
75
349
  ]
76
350
  },
77
351
  "Microsoft.Web/sites": {
@@ -82,17 +356,98 @@
82
356
  "enabledHostnames",
83
357
  "hostNameSslStates",
84
358
  "serverFarm"
359
+ ],
360
+ "full_properties": {
361
+ "name": {
362
+ "description": "Microsoft.Web/sites: The name of web site.",
363
+ "required": false,
364
+ "type": "string",
365
+ "update_causes": "unknown"
366
+ },
367
+ "serverFarmId": {
368
+ "description": "Microsoft.Web/sites: The resource Id of server farm site belongs to.",
369
+ "required": false,
370
+ "type": "string",
371
+ "update_causes": "unknown"
372
+ },
373
+ "hostnames": {
374
+ "description": "Microsoft.Web/sites: An array of strings that contains the public hostnames for the site, including custom domains.",
375
+ "required": false,
376
+ "type": null,
377
+ "update_causes": "unknown"
378
+ },
379
+ "enabledHostnames": {
380
+ "description": "Microsoft.Web/sites: An array of strings that contains enabled hostnames for the site. By default, these are <SiteName>.azurewebsites.net and <SiteName>.scm.azurewebsites.net.",
381
+ "required": false,
382
+ "type": null,
383
+ "update_causes": "unknown"
384
+ },
385
+ "hostNameSslStates": {
386
+ "description": "Microsoft.Web/sites: Container for SSL states.",
387
+ "required": false,
388
+ "type": null,
389
+ "update_causes": "unknown"
390
+ },
391
+ "serverFarm": {
392
+ "description": "Microsoft.Web/sites: The name of server farm site belongs to.",
393
+ "required": false,
394
+ "type": "string",
395
+ "update_causes": "unknown"
396
+ }
397
+ },
398
+ "api_version": "2014-06-01",
399
+ "required": [
400
+ "type",
401
+ "apiVersion",
402
+ "properties",
403
+ "location"
85
404
  ]
86
405
  },
87
406
  "Microsoft.Web/certificates": {
88
407
  "properties": [
89
408
  "pfxBlob",
90
409
  "password"
410
+ ],
411
+ "full_properties": {
412
+ "pfxBlob": {
413
+ "description": "Microsoft.Web/certificates: A base64Binary value that contains the PfxBlob of the certificate.",
414
+ "required": false,
415
+ "type": "string",
416
+ "update_causes": "unknown"
417
+ },
418
+ "password": {
419
+ "description": "Microsoft.Web/certficates: A string that contains the password for the certificate.",
420
+ "required": false,
421
+ "type": "string",
422
+ "update_causes": "unknown"
423
+ }
424
+ },
425
+ "api_version": "2014-06-01",
426
+ "required": [
427
+ "type",
428
+ "apiVersion",
429
+ "properties",
430
+ "location"
91
431
  ]
92
432
  },
93
433
  "Microsoft.Storage/storageAccounts": {
94
434
  "properties": [
95
435
  "accountType"
436
+ ],
437
+ "full_properties": {
438
+ "accountType": {
439
+ "description": "Microsoft.Storage/storageAccounts: The type of this account.",
440
+ "required": true,
441
+ "type": "string",
442
+ "update_causes": "unknown"
443
+ }
444
+ },
445
+ "api_version": "2015-06-15",
446
+ "required": [
447
+ "type",
448
+ "apiVersion",
449
+ "properties",
450
+ "location"
96
451
  ]
97
452
  },
98
453
  "Microsoft.Network/publicIPAddresses": {
@@ -100,6 +455,34 @@
100
455
  "publicIPAllocationMethod",
101
456
  "idleTimeoutInMinutes",
102
457
  "dnsSettings"
458
+ ],
459
+ "full_properties": {
460
+ "publicIPAllocationMethod": {
461
+ "description": "Microsoft.Network/publicIPAddresses: Public IP allocation method",
462
+ "required": true,
463
+ "type": null,
464
+ "update_causes": "unknown"
465
+ },
466
+ "idleTimeoutInMinutes": {
467
+ "description": "Microsoft.Network/publicIPAddresses: Idle timeout in minutes",
468
+ "required": false,
469
+ "type": null,
470
+ "update_causes": "unknown"
471
+ },
472
+ "dnsSettings": {
473
+ "description": "Microsoft.Network/publicIPAddresses: DNS settings",
474
+ "required": false,
475
+ "type": null,
476
+ "update_causes": "unknown"
477
+ }
478
+ },
479
+ "api_version": "2015-06-15",
480
+ "required": [
481
+ "type",
482
+ "apiVersion",
483
+ "name",
484
+ "properties",
485
+ "location"
103
486
  ]
104
487
  },
105
488
  "Microsoft.Network/networkInterfaces": {
@@ -107,6 +490,34 @@
107
490
  "networkSecurityGroup",
108
491
  "ipConfigurations",
109
492
  "dnsSettings"
493
+ ],
494
+ "full_properties": {
495
+ "networkSecurityGroup": {
496
+ "description": "Microsoft.Network/networkInterfaces: Network security group",
497
+ "required": false,
498
+ "type": null,
499
+ "update_causes": "unknown"
500
+ },
501
+ "ipConfigurations": {
502
+ "description": "Microsoft.Network/networkInterfaces: IP configurations",
503
+ "required": true,
504
+ "type": null,
505
+ "update_causes": "unknown"
506
+ },
507
+ "dnsSettings": {
508
+ "description": "Microsoft.Network/networkInterfaces: DNS settings",
509
+ "required": false,
510
+ "type": null,
511
+ "update_causes": "unknown"
512
+ }
513
+ },
514
+ "api_version": "2015-06-15",
515
+ "required": [
516
+ "type",
517
+ "apiVersion",
518
+ "name",
519
+ "properties",
520
+ "location"
110
521
  ]
111
522
  },
112
523
  "Microsoft.Network/virtualNetworks": {
@@ -114,6 +525,34 @@
114
525
  "addressSpace",
115
526
  "dhcpOptions",
116
527
  "subnets"
528
+ ],
529
+ "full_properties": {
530
+ "addressSpace": {
531
+ "description": "Microsoft.Network/virtualNetworks: Address space",
532
+ "required": true,
533
+ "type": null,
534
+ "update_causes": "unknown"
535
+ },
536
+ "dhcpOptions": {
537
+ "description": "Microsoft.Network/virtualNetworks: DHCP options",
538
+ "required": false,
539
+ "type": null,
540
+ "update_causes": "unknown"
541
+ },
542
+ "subnets": {
543
+ "description": "Microsoft.Network/virtualNetworks: Subnets",
544
+ "required": true,
545
+ "type": null,
546
+ "update_causes": "unknown"
547
+ }
548
+ },
549
+ "api_version": "2015-06-15",
550
+ "required": [
551
+ "type",
552
+ "apiVersion",
553
+ "name",
554
+ "properties",
555
+ "location"
117
556
  ]
118
557
  },
119
558
  "Microsoft.Network/loadBalancers": {
@@ -125,22 +564,127 @@
125
564
  "inboundNatRules",
126
565
  "inboundNatPools",
127
566
  "outboundNatRules"
567
+ ],
568
+ "full_properties": {
569
+ "frontendIPConfigurations": {
570
+ "description": "Microsoft.Network/loadBalancers: Frontend IP configurations",
571
+ "required": true,
572
+ "type": null,
573
+ "update_causes": "unknown"
574
+ },
575
+ "backendAddressPools": {
576
+ "description": "Microsoft.Network/loadBalancers: Backend address pools",
577
+ "required": false,
578
+ "type": null,
579
+ "update_causes": "unknown"
580
+ },
581
+ "loadBalancingRules": {
582
+ "description": "Microsoft.Network/loadBalancers: Load balancing rules",
583
+ "required": false,
584
+ "type": null,
585
+ "update_causes": "unknown"
586
+ },
587
+ "probes": {
588
+ "description": "Microsoft.Network/loadBalancers: Probes",
589
+ "required": false,
590
+ "type": null,
591
+ "update_causes": "unknown"
592
+ },
593
+ "inboundNatRules": {
594
+ "description": "Microsoft.Network/loadBalancers: Inbound NAT rules",
595
+ "required": false,
596
+ "type": null,
597
+ "update_causes": "unknown"
598
+ },
599
+ "inboundNatPools": {
600
+ "description": "Microsoft.Network/loadBalancers: Inbound NAT pools",
601
+ "required": false,
602
+ "type": null,
603
+ "update_causes": "unknown"
604
+ },
605
+ "outboundNatRules": {
606
+ "description": "Microsoft.Network/loadBalancers: Outbound NAT rules",
607
+ "required": false,
608
+ "type": null,
609
+ "update_causes": "unknown"
610
+ }
611
+ },
612
+ "api_version": "2015-06-15",
613
+ "required": [
614
+ "type",
615
+ "apiVersion",
616
+ "name",
617
+ "properties",
618
+ "location"
128
619
  ]
129
620
  },
130
621
  "Microsoft.Network/networkSecurityGroups": {
131
622
  "properties": [
132
623
  "securityRules"
624
+ ],
625
+ "full_properties": {
626
+ "securityRules": {
627
+ "description": "Microsoft.Network/networkSecurityGroups: Security rules",
628
+ "required": true,
629
+ "type": null,
630
+ "update_causes": "unknown"
631
+ }
632
+ },
633
+ "api_version": "2015-06-15",
634
+ "required": [
635
+ "type",
636
+ "apiVersion",
637
+ "name",
638
+ "properties",
639
+ "location"
133
640
  ]
134
641
  },
135
642
  "Microsoft.Network/routeTables": {
136
643
  "properties": [
137
644
  "routes"
645
+ ],
646
+ "full_properties": {
647
+ "routes": {
648
+ "description": "Microsoft.Network/routeTables: Routes",
649
+ "required": true,
650
+ "type": null,
651
+ "update_causes": "unknown"
652
+ }
653
+ },
654
+ "api_version": "2015-06-15",
655
+ "required": [
656
+ "type",
657
+ "apiVersion",
658
+ "name",
659
+ "properties",
660
+ "location"
138
661
  ]
139
662
  },
140
663
  "Microsoft.Compute/availabilitySets": {
141
664
  "properties": [
142
665
  "platformUpdateDomainCount",
143
666
  "platformFaultDomainCount"
667
+ ],
668
+ "full_properties": {
669
+ "platformUpdateDomainCount": {
670
+ "description": "Microsoft.Compute/availabilitySets - Platform update domain count",
671
+ "required": false,
672
+ "type": null,
673
+ "update_causes": "unknown"
674
+ },
675
+ "platformFaultDomainCount": {
676
+ "description": "Microsoft.Compute/availabilitySets - Platform fault domain count",
677
+ "required": false,
678
+ "type": null,
679
+ "update_causes": "unknown"
680
+ }
681
+ },
682
+ "api_version": "2015-06-15",
683
+ "required": [
684
+ "type",
685
+ "apiVersion",
686
+ "properties",
687
+ "location"
144
688
  ]
145
689
  },
146
690
  "Microsoft.Compute/virtualMachines": {
@@ -150,12 +694,74 @@
150
694
  "storageProfile",
151
695
  "osProfile",
152
696
  "networkProfile"
697
+ ],
698
+ "full_properties": {
699
+ "availabilitySet": {
700
+ "description": "Microsoft.Compute/virtualMachines - Availability set",
701
+ "required": false,
702
+ "type": null,
703
+ "update_causes": "unknown"
704
+ },
705
+ "hardwareProfile": {
706
+ "description": "Microsoft.Compute/virtualMachines - Hardware profile",
707
+ "required": true,
708
+ "type": null,
709
+ "update_causes": "unknown"
710
+ },
711
+ "storageProfile": {
712
+ "description": "Microsoft.Compute/virtualMachines - Storage profile",
713
+ "required": true,
714
+ "type": null,
715
+ "update_causes": "unknown"
716
+ },
717
+ "osProfile": {
718
+ "description": "Mirosoft.Compute/virtualMachines - Operating system profile",
719
+ "required": false,
720
+ "type": null,
721
+ "update_causes": "unknown"
722
+ },
723
+ "networkProfile": {
724
+ "description": "Microsoft.Compute/virtualMachines - Network profile",
725
+ "required": true,
726
+ "type": null,
727
+ "update_causes": "unknown"
728
+ }
729
+ },
730
+ "api_version": "2015-06-15",
731
+ "required": [
732
+ "type",
733
+ "apiVersion",
734
+ "properties",
735
+ "location"
153
736
  ]
154
737
  },
155
738
  "Microsoft.Compute/virtualMachineScaleSets": {
156
739
  "properties": [
157
740
  "upgradePolicy",
158
741
  "virtualMachineProfile"
742
+ ],
743
+ "full_properties": {
744
+ "upgradePolicy": {
745
+ "description": "Microsoft.Compute/virtualMachineScaleSets - Upgrade policy",
746
+ "required": true,
747
+ "type": null,
748
+ "update_causes": "unknown"
749
+ },
750
+ "virtualMachineProfile": {
751
+ "description": "Microsoft.Compute/virtualMachineScaleSets - Virtual machine policy",
752
+ "required": true,
753
+ "type": null,
754
+ "update_causes": "unknown"
755
+ }
756
+ },
757
+ "api_version": "2015-06-15",
758
+ "required": [
759
+ "name",
760
+ "apiVersion",
761
+ "type",
762
+ "sku",
763
+ "properties",
764
+ "location"
159
765
  ]
160
766
  },
161
767
  "extensions": {
@@ -164,6 +770,38 @@
164
770
  "type",
165
771
  "typeHandlerVersion",
166
772
  "settings"
773
+ ],
774
+ "full_properties": {
775
+ "publisher": {
776
+ "description": "Microsoft.Compute/extensionsChild - Publisher",
777
+ "required": true,
778
+ "type": "string",
779
+ "update_causes": "unknown"
780
+ },
781
+ "type": {
782
+ "description": "Microsoft.Compute/extensionsChild - Type",
783
+ "required": true,
784
+ "type": "string",
785
+ "update_causes": "unknown"
786
+ },
787
+ "typeHandlerVersion": {
788
+ "description": "Microsoft.Compute/extensionsChild - Type handler version",
789
+ "required": true,
790
+ "type": "string",
791
+ "update_causes": "unknown"
792
+ },
793
+ "settings": {
794
+ "description": "Microsoft.Compute/extensionsChild - Settings",
795
+ "required": true,
796
+ "type": null,
797
+ "update_causes": "unknown"
798
+ }
799
+ },
800
+ "api_version": "2015-06-15",
801
+ "required": [
802
+ "type",
803
+ "apiVersion",
804
+ "properties"
167
805
  ]
168
806
  },
169
807
  "Microsoft.Cache/Redis": {
@@ -177,12 +815,97 @@
177
815
  "staticIP",
178
816
  "redisVersion",
179
817
  "maxMemoryPolicy"
818
+ ],
819
+ "full_properties": {
820
+ "sku": {
821
+ "description": "Microsoft.Cache/Redis: sku",
822
+ "required": true,
823
+ "type": null,
824
+ "update_causes": "unknown"
825
+ },
826
+ "shardCount": {
827
+ "description": "Microsoft.Cache/Redis: (only if using clustering) number of shards in the redis cluster",
828
+ "required": false,
829
+ "type": null,
830
+ "update_causes": "unknown"
831
+ },
832
+ "enableNonSslPort": {
833
+ "description": "Microsoft.Cache/Redis enableNonSslPort. Enables less secure direct access to redis on port 6379 WITHOUT SSL tunneling.",
834
+ "required": false,
835
+ "type": null,
836
+ "update_causes": "unknown"
837
+ },
838
+ "redisConfiguration": {
839
+ "description": "Microsoft.Cache/Redis/redisConfiguration",
840
+ "required": false,
841
+ "type": null,
842
+ "update_causes": "unknown"
843
+ },
844
+ "virtualNetwork": {
845
+ "description": "Microsoft.Cache/Redis (optional) the ARM resource ID of a Classic Virtual Network for the redis cache to join",
846
+ "required": false,
847
+ "type": null,
848
+ "update_causes": "unknown"
849
+ },
850
+ "subnet": {
851
+ "description": "Microsoft.Cache/Redis (required with virtualNetwork) the name of an existing subnet for the redis cache to join",
852
+ "required": false,
853
+ "type": "string",
854
+ "update_causes": "unknown"
855
+ },
856
+ "staticIP": {
857
+ "description": "Microsoft.Cache/Redis (required with virtualNetwork) the static IP address to allocate to the redis cache",
858
+ "required": false,
859
+ "type": null,
860
+ "update_causes": "unknown"
861
+ },
862
+ "redisVersion": {
863
+ "description": "Microsoft.Cache/Redis: version of Redis",
864
+ "required": true,
865
+ "type": null,
866
+ "update_causes": "unknown"
867
+ },
868
+ "maxMemoryPolicy": {
869
+ "description": "Microsoft.Cache/Redis: maxMemoryPolicy. How Redis will select what to remove when maxmemory is reached. Default: VolatileLRU.",
870
+ "required": false,
871
+ "type": null,
872
+ "update_causes": "unknown"
873
+ }
874
+ },
875
+ "api_version": "2014-04-01-preview",
876
+ "required": [
877
+ "name",
878
+ "type",
879
+ "apiVersion",
880
+ "properties",
881
+ "location"
180
882
  ]
181
883
  },
182
884
  "Microsoft.Scheduler/jobCollections": {
183
885
  "properties": [
184
886
  "sku",
185
887
  "quota"
888
+ ],
889
+ "full_properties": {
890
+ "sku": {
891
+ "description": "Microsoft.Scheduler/jobCollections: Job Collection sku",
892
+ "required": true,
893
+ "type": null,
894
+ "update_causes": "unknown"
895
+ },
896
+ "quota": {
897
+ "description": "Microsoft.Scheduler/jobCollections/quota",
898
+ "required": false,
899
+ "type": null,
900
+ "update_causes": "unknown"
901
+ }
902
+ },
903
+ "api_version": "2014-08-01",
904
+ "required": [
905
+ "type",
906
+ "apiVersion",
907
+ "properties",
908
+ "location"
186
909
  ]
187
910
  },
188
911
  "Microsoft.Scheduler/jobCollections/jobs": {
@@ -191,12 +914,64 @@
191
914
  "recurrence",
192
915
  "state",
193
916
  "action"
917
+ ],
918
+ "full_properties": {
919
+ "startTime": {
920
+ "description": "Microsoft.Scheduler/jobCollections/jobs: For simple scheduler startTime will be the first occurrence and for complex schedules the job will start no sooner than startTime.",
921
+ "required": false,
922
+ "type": null,
923
+ "update_causes": "unknown"
924
+ },
925
+ "recurrence": {
926
+ "description": "Microsoft.Scheduler/jobCollections/jobs: The recurrence schedule the job will execute.",
927
+ "required": false,
928
+ "type": null,
929
+ "update_causes": "unknown"
930
+ },
931
+ "state": {
932
+ "description": "Microsoft.Scheduler/jobCollections/jobs: Running state of the job.",
933
+ "required": false,
934
+ "type": null,
935
+ "update_causes": "unknown"
936
+ },
937
+ "action": {
938
+ "description": "Microsoft.Scheduler/jobCollections/jobs: Action to perform on the prescribed schedule",
939
+ "required": false,
940
+ "type": null,
941
+ "update_causes": "unknown"
942
+ }
943
+ },
944
+ "api_version": "2014-08-01",
945
+ "required": [
946
+ "type",
947
+ "apiVersion",
948
+ "properties"
194
949
  ]
195
950
  },
196
951
  "Microsoft.NotificationHubs/namespaces": {
197
952
  "properties": [
198
953
  "name",
199
954
  "namespaceType"
955
+ ],
956
+ "full_properties": {
957
+ "name": {
958
+ "description": "Microsoft.NotificationHubs/namespaces: The name of the namespace.",
959
+ "required": false,
960
+ "type": "string",
961
+ "update_causes": "unknown"
962
+ },
963
+ "namespaceType": {
964
+ "description": "Microsoft.NotificationHubs/namespaces: The type of the namespace",
965
+ "required": true,
966
+ "type": null,
967
+ "update_causes": "unknown"
968
+ }
969
+ },
970
+ "api_version": "2014-09-01",
971
+ "required": [
972
+ "type",
973
+ "apiVersion",
974
+ "properties"
200
975
  ]
201
976
  },
202
977
  "Microsoft.NotificationHubs/namespaces/notificationHubs": {
@@ -208,16 +983,56 @@
208
983
  "AdmCredential",
209
984
  "BaiduCredential",
210
985
  "authorizationRules"
211
- ]
212
- },
213
- "secrets": {
214
- "properties": [
215
-
216
- ]
217
- },
218
- "secretsChild": {
219
- "properties": [
220
-
986
+ ],
987
+ "full_properties": {
988
+ "wnsCredential": {
989
+ "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: WNS credentials for a Notification Hub.",
990
+ "required": false,
991
+ "type": null,
992
+ "update_causes": "unknown"
993
+ },
994
+ "apnsCredential": {
995
+ "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: APNS credentials for a Notification Hub.",
996
+ "required": false,
997
+ "type": null,
998
+ "update_causes": "unknown"
999
+ },
1000
+ "gcmCredential": {
1001
+ "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: GCM credentials for a Notification Hub.",
1002
+ "required": false,
1003
+ "type": null,
1004
+ "update_causes": "unknown"
1005
+ },
1006
+ "mpnsCredential": {
1007
+ "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: MPNS credentials for a Notification Hub.",
1008
+ "required": false,
1009
+ "type": null,
1010
+ "update_causes": "unknown"
1011
+ },
1012
+ "AdmCredential": {
1013
+ "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: ADM credentials for a Notification Hub.",
1014
+ "required": false,
1015
+ "type": null,
1016
+ "update_causes": "unknown"
1017
+ },
1018
+ "BaiduCredential": {
1019
+ "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: Baidu credentials for a Notification Hub.",
1020
+ "required": false,
1021
+ "type": null,
1022
+ "update_causes": "unknown"
1023
+ },
1024
+ "authorizationRules": {
1025
+ "description": "Microsoft.NotificationHubs/namespaces/notificationHubs: Authorization Rules for a Notification Hub.",
1026
+ "required": false,
1027
+ "type": null,
1028
+ "update_causes": "unknown"
1029
+ }
1030
+ },
1031
+ "api_version": "2014-09-01",
1032
+ "required": [
1033
+ "type",
1034
+ "apiVersion",
1035
+ "properties"
221
1036
  ]
222
1037
  },
223
1038
  "Microsoft.KeyVault/vaults": {
@@ -226,6 +1041,38 @@
226
1041
  "tenantId",
227
1042
  "accessPolicies",
228
1043
  "enabledForDeployment"
1044
+ ],
1045
+ "full_properties": {
1046
+ "sku": {
1047
+ "description": "Microsoft.KeyVault/vaults: Sku",
1048
+ "required": true,
1049
+ "type": null,
1050
+ "update_causes": "unknown"
1051
+ },
1052
+ "tenantId": {
1053
+ "description": "Microsoft.KeyVault/vaults: The tenant ID of the Azure Active Directory Tenant to use for authorization.",
1054
+ "required": true,
1055
+ "type": null,
1056
+ "update_causes": "unknown"
1057
+ },
1058
+ "accessPolicies": {
1059
+ "description": "Microsoft.KeyVault/vaults: Access policies",
1060
+ "required": true,
1061
+ "type": null,
1062
+ "update_causes": "unknown"
1063
+ },
1064
+ "enabledForDeployment": {
1065
+ "description": "Microsoft.KeyVault/vaults: Enabled for deployment",
1066
+ "required": false,
1067
+ "type": null,
1068
+ "update_causes": "unknown"
1069
+ }
1070
+ },
1071
+ "api_version": "2015-06-01",
1072
+ "required": [
1073
+ "apiVersion",
1074
+ "properties",
1075
+ "type"
229
1076
  ]
230
1077
  },
231
1078
  "Microsoft.Sql/servers": {
@@ -233,26 +1080,112 @@
233
1080
  "version",
234
1081
  "administratorLogin",
235
1082
  "administratorLoginPassword"
1083
+ ],
1084
+ "full_properties": {
1085
+ "version": {
1086
+ "description": "Microsoft.Sql/server: Azure SQL DB server version",
1087
+ "required": false,
1088
+ "type": null,
1089
+ "update_causes": "unknown"
1090
+ },
1091
+ "administratorLogin": {
1092
+ "description": "Microsoft.Sql/server: administrator login name",
1093
+ "required": true,
1094
+ "type": "string",
1095
+ "update_causes": "unknown"
1096
+ },
1097
+ "administratorLoginPassword": {
1098
+ "description": "Microsoft.Sql/server: administrator login password",
1099
+ "required": true,
1100
+ "type": "string",
1101
+ "update_causes": "unknown"
1102
+ }
1103
+ },
1104
+ "api_version": "2014-04-01-preview",
1105
+ "required": [
1106
+ "type",
1107
+ "apiVersion",
1108
+ "properties",
1109
+ "location"
236
1110
  ]
237
1111
  },
238
1112
  "databases": {
239
1113
  "properties": [
240
1114
 
1115
+ ],
1116
+ "full_properties": {
1117
+ },
1118
+ "api_version": "2014-04-01-preview",
1119
+ "required": [
1120
+ "type",
1121
+ "apiVersion",
1122
+ "properties"
241
1123
  ]
242
1124
  },
243
1125
  "SuccessBricks.ClearDB/databases": {
244
1126
  "properties": [
245
1127
 
1128
+ ],
1129
+ "full_properties": {
1130
+ },
1131
+ "api_version": "2014-04-01",
1132
+ "required": [
1133
+ "type",
1134
+ "apiVersion",
1135
+ "plan",
1136
+ "location"
246
1137
  ]
247
1138
  },
248
1139
  "firewallrules": {
249
1140
  "properties": [
250
-
1141
+ "endIpAddress",
1142
+ "startIpAddress"
1143
+ ],
1144
+ "full_properties": {
1145
+ "endIpAddress": {
1146
+ "description": "Microsoft.Sql/server/firewallrules: ending IP address",
1147
+ "required": false,
1148
+ "type": "string",
1149
+ "update_causes": "unknown"
1150
+ },
1151
+ "startIpAddress": {
1152
+ "description": "Microsoft.Sql/server/firewallrules: starting IP address",
1153
+ "required": false,
1154
+ "type": "string",
1155
+ "update_causes": "unknown"
1156
+ }
1157
+ },
1158
+ "api_version": "2014-04-01-preview",
1159
+ "required": [
1160
+ "type",
1161
+ "apiVersion",
1162
+ "properties"
251
1163
  ]
252
1164
  },
253
1165
  "Microsoft.Sql/servers/firewallrules": {
254
1166
  "properties": [
255
-
1167
+ "endIpAddress",
1168
+ "startIpAddress"
1169
+ ],
1170
+ "full_properties": {
1171
+ "endIpAddress": {
1172
+ "description": "Microsoft.Sql/server/firewallrules: ending IP address",
1173
+ "required": false,
1174
+ "type": "string",
1175
+ "update_causes": "unknown"
1176
+ },
1177
+ "startIpAddress": {
1178
+ "description": "Microsoft.Sql/server/firewallrules: starting IP address",
1179
+ "required": false,
1180
+ "type": "string",
1181
+ "update_causes": "unknown"
1182
+ }
1183
+ },
1184
+ "api_version": "2014-04-01-preview",
1185
+ "required": [
1186
+ "type",
1187
+ "apiVersion",
1188
+ "properties"
256
1189
  ]
257
1190
  },
258
1191
  "Microsoft.Network/trafficManagerProfiles": {
@@ -262,6 +1195,45 @@
262
1195
  "dnsConfig",
263
1196
  "monitorConfig",
264
1197
  "endpoints"
1198
+ ],
1199
+ "full_properties": {
1200
+ "profileStatus": {
1201
+ "description": "The status of the profile (Enabled/Disabled)",
1202
+ "required": false,
1203
+ "type": null,
1204
+ "update_causes": "unknown"
1205
+ },
1206
+ "trafficRoutingMethod": {
1207
+ "description": "The traffic routing method (Performance/Priority/Weighted",
1208
+ "required": true,
1209
+ "type": null,
1210
+ "update_causes": "unknown"
1211
+ },
1212
+ "dnsConfig": {
1213
+ "description": "DNS configuration settings for the profile",
1214
+ "required": true,
1215
+ "type": null,
1216
+ "update_causes": "unknown"
1217
+ },
1218
+ "monitorConfig": {
1219
+ "description": "Microsoft.Network/trafficManagerProfiles Configuration for monitoring (probing) of endpoints in this profile",
1220
+ "required": true,
1221
+ "type": null,
1222
+ "update_causes": "unknown"
1223
+ },
1224
+ "endpoints": {
1225
+ "description": "The endpoints over which this profile will route traffic",
1226
+ "required": false,
1227
+ "type": null,
1228
+ "update_causes": "unknown"
1229
+ }
1230
+ },
1231
+ "api_version": "2015-11-01",
1232
+ "required": [
1233
+ "apiVersion",
1234
+ "type",
1235
+ "location",
1236
+ "properties"
265
1237
  ]
266
1238
  },
267
1239
  "Microsoft.Resources/deployments": {
@@ -271,41 +1243,198 @@
271
1243
  "template",
272
1244
  "parametersLink",
273
1245
  "parameters"
1246
+ ],
1247
+ "full_properties": {
1248
+ "mode": {
1249
+ "description": "Deployment mode",
1250
+ "required": true,
1251
+ "type": null,
1252
+ "update_causes": "unknown"
1253
+ },
1254
+ "templateLink": {
1255
+ "description": "Deployment template link",
1256
+ "required": false,
1257
+ "type": null,
1258
+ "update_causes": "unknown"
1259
+ },
1260
+ "template": {
1261
+ "description": "Deployment template",
1262
+ "required": false,
1263
+ "type": "string",
1264
+ "update_causes": "unknown"
1265
+ },
1266
+ "parametersLink": {
1267
+ "description": "Deployment parameters link",
1268
+ "required": false,
1269
+ "type": null,
1270
+ "update_causes": "unknown"
1271
+ },
1272
+ "parameters": {
1273
+ "description": "Deployment parameters",
1274
+ "required": false,
1275
+ "type": null,
1276
+ "update_causes": "unknown"
1277
+ }
1278
+ },
1279
+ "api_version": "2015-01-01",
1280
+ "required": [
1281
+ "type",
1282
+ "apiVersion",
1283
+ "name",
1284
+ "properties"
274
1285
  ]
275
1286
  },
276
1287
  "Microsoft.Resources/links": {
277
1288
  "properties": [
278
1289
  "targetId",
279
1290
  "notes"
1291
+ ],
1292
+ "full_properties": {
1293
+ "targetId": {
1294
+ "description": "Target resource id to link to",
1295
+ "required": true,
1296
+ "type": "string",
1297
+ "update_causes": "unknown"
1298
+ },
1299
+ "notes": {
1300
+ "description": "Notes for this link",
1301
+ "required": false,
1302
+ "type": "string",
1303
+ "update_causes": "unknown"
1304
+ }
1305
+ },
1306
+ "api_version": "2015-01-01",
1307
+ "required": [
1308
+ "type",
1309
+ "apiVersion",
1310
+ "name",
1311
+ "properties"
280
1312
  ]
281
1313
  },
282
1314
  "Microsoft.Authorization/locks": {
283
1315
  "properties": [
284
1316
  "level",
285
1317
  "notes"
1318
+ ],
1319
+ "full_properties": {
1320
+ "level": {
1321
+ "description": "Microsoft.Authorization/locks: level - specifies the type of lock to apply to the scope. CanNotDelete allows modification but prevents deletion, ReadOnly prevents modification or deletion.",
1322
+ "required": true,
1323
+ "type": null,
1324
+ "update_causes": "unknown"
1325
+ },
1326
+ "notes": {
1327
+ "description": "Microsoft.Authorization/locks: notes - user defined notes for the lock",
1328
+ "required": false,
1329
+ "type": "string",
1330
+ "update_causes": "unknown"
1331
+ }
1332
+ },
1333
+ "api_version": "2015-01-01",
1334
+ "required": [
1335
+ "name",
1336
+ "type",
1337
+ "apiVersion",
1338
+ "properties"
286
1339
  ]
287
1340
  },
288
1341
  "microsoft.visualstudio/account": {
289
1342
  "properties": [
290
1343
  "OperationType",
291
1344
  "AccountName"
1345
+ ],
1346
+ "full_properties": {
1347
+ "OperationType": {
1348
+ "description": "microsoft.visualstudio/account: Type of operation being performed on the account, which can be either Create or Link.",
1349
+ "required": false,
1350
+ "type": "string",
1351
+ "update_causes": "unknown"
1352
+ },
1353
+ "AccountName": {
1354
+ "description": "microsoft.visualstudio/account: Name of the Visual Studio Online account",
1355
+ "required": false,
1356
+ "type": "string",
1357
+ "update_causes": "unknown"
1358
+ }
1359
+ },
1360
+ "api_version": "2014-02-26",
1361
+ "required": [
1362
+ "type",
1363
+ "apiVersion",
1364
+ "properties",
1365
+ "location"
292
1366
  ]
293
1367
  },
294
1368
  "microsoft.visualstudio/account/project": {
295
1369
  "properties": [
296
1370
  "ProcessTemplateId",
297
1371
  "VersionControlOption"
1372
+ ],
1373
+ "full_properties": {
1374
+ "ProcessTemplateId": {
1375
+ "description": "microsoft.visualstudio/account/project: Process template guid for the project",
1376
+ "required": false,
1377
+ "type": "string",
1378
+ "update_causes": "unknown"
1379
+ },
1380
+ "VersionControlOption": {
1381
+ "description": "microsoft.visualstudio/account/project: Version control type for the project, currently TfsVc and Git",
1382
+ "required": false,
1383
+ "type": "string",
1384
+ "update_causes": "unknown"
1385
+ }
1386
+ },
1387
+ "api_version": "2014-02-26",
1388
+ "required": [
1389
+ "type",
1390
+ "apiVersion",
1391
+ "properties"
298
1392
  ]
299
1393
  },
300
1394
  "Microsoft.BizTalkServices/BizTalk": {
301
1395
  "properties": [
302
1396
  "sku"
1397
+ ],
1398
+ "full_properties": {
1399
+ "sku": {
1400
+ "description": "BizTalk SKU",
1401
+ "required": true,
1402
+ "type": null,
1403
+ "update_causes": "unknown"
1404
+ }
1405
+ },
1406
+ "api_version": "2014-04-01",
1407
+ "required": [
1408
+ "type",
1409
+ "apiVersion",
1410
+ "properties",
1411
+ "location"
303
1412
  ]
304
1413
  },
305
1414
  "Microsoft.BizTalkServices/BizTalk/HybridConnection": {
306
1415
  "properties": [
307
1416
  "hostName",
308
1417
  "port"
1418
+ ],
1419
+ "full_properties": {
1420
+ "hostName": {
1421
+ "description": "Microsoft.BizTalkServices/BizTalk/HybridConnection: Hostname of the machine to which hybrid connection is to be established",
1422
+ "required": true,
1423
+ "type": "string",
1424
+ "update_causes": "unknown"
1425
+ },
1426
+ "port": {
1427
+ "description": "Microsoft.BizTalkServices/BizTalk/HybridConnection: Port number of the machine to which hybrid connection is to be established",
1428
+ "required": true,
1429
+ "type": null,
1430
+ "update_causes": "unknown"
1431
+ }
1432
+ },
1433
+ "api_version": "2014-04-01",
1434
+ "required": [
1435
+ "type",
1436
+ "apiVersion",
1437
+ "properties"
309
1438
  ]
310
1439
  },
311
1440
  "Microsoft.Insights/alertrules": {
@@ -315,11 +1444,65 @@
315
1444
  "isEnabled",
316
1445
  "condition",
317
1446
  "action"
1447
+ ],
1448
+ "full_properties": {
1449
+ "name": {
1450
+ "description": "Microsoft.Insights/alertrules: Name of the alert rule.",
1451
+ "required": false,
1452
+ "type": "string",
1453
+ "update_causes": "unknown"
1454
+ },
1455
+ "description": {
1456
+ "description": "Microsoft.Insights/alertrules: Description of the alert rule that will be included in the alert email.",
1457
+ "required": false,
1458
+ "type": "string",
1459
+ "update_causes": "unknown"
1460
+ },
1461
+ "isEnabled": {
1462
+ "description": "Microsoft.Insights/alertrules: Indicates whether the alert rule is enabled.",
1463
+ "required": false,
1464
+ "type": null,
1465
+ "update_causes": "unknown"
1466
+ },
1467
+ "condition": {
1468
+ "description": "Microsoft.Insights/alertrules: The condition that results in the alert rule being activated.",
1469
+ "required": false,
1470
+ "type": null,
1471
+ "update_causes": "unknown"
1472
+ },
1473
+ "action": {
1474
+ "description": "Microsoft.Insights/alertrules: The action that is performed when the alert rule becomes active, and when an alert condition is resolved.",
1475
+ "required": false,
1476
+ "type": null,
1477
+ "update_causes": "unknown"
1478
+ }
1479
+ },
1480
+ "api_version": "2014-04-01",
1481
+ "required": [
1482
+ "type",
1483
+ "apiVersion",
1484
+ "properties",
1485
+ "location"
318
1486
  ]
319
1487
  },
320
1488
  "Microsoft.Insights/components": {
321
1489
  "properties": [
322
1490
  "applicationId"
1491
+ ],
1492
+ "full_properties": {
1493
+ "applicationId": {
1494
+ "description": "Microsoft.Insights/components: applicationId",
1495
+ "required": false,
1496
+ "type": "string",
1497
+ "update_causes": "unknown"
1498
+ }
1499
+ },
1500
+ "api_version": "2014-04-01",
1501
+ "required": [
1502
+ "type",
1503
+ "apiVersion",
1504
+ "properties",
1505
+ "location"
323
1506
  ]
324
1507
  },
325
1508
  "Microsoft.Insights/webtests": {
@@ -333,6 +1516,69 @@
333
1516
  "Locations",
334
1517
  "Configuration",
335
1518
  "SyntheticMonitorId"
1519
+ ],
1520
+ "full_properties": {
1521
+ "provisioningState": {
1522
+ "description": "Microsoft.Insights/webtests: provisioning state.",
1523
+ "required": false,
1524
+ "type": "string",
1525
+ "update_causes": "unknown"
1526
+ },
1527
+ "Name": {
1528
+ "description": "Microsoft.Insights/webtests: name of the webtest.",
1529
+ "required": false,
1530
+ "type": "string",
1531
+ "update_causes": "unknown"
1532
+ },
1533
+ "Description": {
1534
+ "description": "Microsoft.Insights/webtests: description of the webtest.",
1535
+ "required": false,
1536
+ "type": "string",
1537
+ "update_causes": "unknown"
1538
+ },
1539
+ "Enabled": {
1540
+ "description": "Microsoft.Insights/webtests: Is the webtest enabled.",
1541
+ "required": false,
1542
+ "type": null,
1543
+ "update_causes": "unknown"
1544
+ },
1545
+ "Frequency": {
1546
+ "description": "Microsoft.Insights/webtests: Frequency of the webtest.",
1547
+ "required": false,
1548
+ "type": null,
1549
+ "update_causes": "unknown"
1550
+ },
1551
+ "Timeout": {
1552
+ "description": "Microsoft.Insights/webtests: Timeout for the webtest.",
1553
+ "required": false,
1554
+ "type": null,
1555
+ "update_causes": "unknown"
1556
+ },
1557
+ "Locations": {
1558
+ "description": "Microsoft.Insights/webtests: Locations of the webtest.",
1559
+ "required": false,
1560
+ "type": null,
1561
+ "update_causes": "unknown"
1562
+ },
1563
+ "Configuration": {
1564
+ "description": "Microsoft.Insights/webtests: Configuration for the webtest.",
1565
+ "required": false,
1566
+ "type": null,
1567
+ "update_causes": "unknown"
1568
+ },
1569
+ "SyntheticMonitorId": {
1570
+ "description": "Microsoft.Insights/webtests: Synthetic monitor id.",
1571
+ "required": false,
1572
+ "type": "string",
1573
+ "update_causes": "unknown"
1574
+ }
1575
+ },
1576
+ "api_version": "2014-04-01",
1577
+ "required": [
1578
+ "type",
1579
+ "apiVersion",
1580
+ "properties",
1581
+ "location"
336
1582
  ]
337
1583
  },
338
1584
  "Microsoft.Insights/autoscalesettings": {
@@ -341,6 +1587,39 @@
341
1587
  "enabled",
342
1588
  "name",
343
1589
  "targetResourceUri"
1590
+ ],
1591
+ "full_properties": {
1592
+ "profiles": {
1593
+ "description": "Microsoft.Insights/autoscalesettings: Contains a collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified.",
1594
+ "required": false,
1595
+ "type": null,
1596
+ "update_causes": "unknown"
1597
+ },
1598
+ "enabled": {
1599
+ "description": "Microsoft.Insights/autoscalesettings: Specifies whether automatic scaling is enabled for the resource.",
1600
+ "required": false,
1601
+ "type": null,
1602
+ "update_causes": "unknown"
1603
+ },
1604
+ "name": {
1605
+ "description": "Microsoft.Insights/autoscalesettings: The name of the autoscale setting.",
1606
+ "required": false,
1607
+ "type": "string",
1608
+ "update_causes": "unknown"
1609
+ },
1610
+ "targetResourceUri": {
1611
+ "description": "Microsoft.Insights/autoscalesettings: The resource identifier of the resource that the autoscale setting should be added to.",
1612
+ "required": false,
1613
+ "type": "string",
1614
+ "update_causes": "unknown"
1615
+ }
1616
+ },
1617
+ "api_version": "2014-04-01",
1618
+ "required": [
1619
+ "type",
1620
+ "apiVersion",
1621
+ "properties",
1622
+ "location"
344
1623
  ]
345
1624
  },
346
1625
  "Microsoft.DocumentDB/databaseAccounts": {
@@ -348,6 +1627,33 @@
348
1627
  "name",
349
1628
  "databaseAccountOfferType",
350
1629
  "consistencyPolicy"
1630
+ ],
1631
+ "full_properties": {
1632
+ "name": {
1633
+ "description": "Microsoft.DocumentDB/databaseAccounts: Name of the database account.",
1634
+ "required": true,
1635
+ "type": null,
1636
+ "update_causes": "unknown"
1637
+ },
1638
+ "databaseAccountOfferType": {
1639
+ "description": "Microsoft.DocumentDB/databaseAccounts: Database account offer type",
1640
+ "required": true,
1641
+ "type": null,
1642
+ "update_causes": "unknown"
1643
+ },
1644
+ "consistencyPolicy": {
1645
+ "description": "Microsoft.DocumentDB/databaseAccounts: Consistency policy",
1646
+ "required": false,
1647
+ "type": null,
1648
+ "update_causes": "unknown"
1649
+ }
1650
+ },
1651
+ "api_version": "2015-04-08",
1652
+ "required": [
1653
+ "type",
1654
+ "apiVersion",
1655
+ "properties",
1656
+ "location"
351
1657
  ]
352
1658
  }
353
- }
1659
+ }