sparkle_formation 2.1.4 → 2.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -487,11 +487,18 @@
487
487
  },
488
488
  "Microsoft.Network/networkInterfaces": {
489
489
  "properties": [
490
+ "enableIPForwarding",
490
491
  "networkSecurityGroup",
491
492
  "ipConfigurations",
492
493
  "dnsSettings"
493
494
  ],
494
495
  "full_properties": {
496
+ "enableIPForwarding": {
497
+ "description": "Microsoft.Network/networkInterfaces: Enable IP forwarding",
498
+ "required": false,
499
+ "type": null,
500
+ "update_causes": "unknown"
501
+ },
495
502
  "networkSecurityGroup": {
496
503
  "description": "Microsoft.Network/networkInterfaces: Network security group",
497
504
  "required": false,
@@ -1622,6 +1629,45 @@
1622
1629
  "location"
1623
1630
  ]
1624
1631
  },
1632
+ "Microsoft.ServerManagement/gateways": {
1633
+ "properties": [
1634
+
1635
+ ],
1636
+ "full_properties": {
1637
+ },
1638
+ "api_version": "2015-07-01-preview",
1639
+ "required": [
1640
+ "location",
1641
+ "name",
1642
+ "properties"
1643
+ ]
1644
+ },
1645
+ "Microsoft.ServerManagement/nodes": {
1646
+ "properties": [
1647
+ "gatewayId",
1648
+ "connectionName"
1649
+ ],
1650
+ "full_properties": {
1651
+ "gatewayId": {
1652
+ "description": "The gateway to to which this node belongs. This is the ARM resource id for the gateway",
1653
+ "required": true,
1654
+ "type": "string",
1655
+ "update_causes": "unknown"
1656
+ },
1657
+ "connectionName": {
1658
+ "description": "The node name to connect to. It can be one of NetBios name, IP (v4/v6), FQDN",
1659
+ "required": true,
1660
+ "type": "string",
1661
+ "update_causes": "unknown"
1662
+ }
1663
+ },
1664
+ "api_version": "2015-07-01-preview",
1665
+ "required": [
1666
+ "name",
1667
+ "location",
1668
+ "properties"
1669
+ ]
1670
+ },
1625
1671
  "Microsoft.DocumentDB/databaseAccounts": {
1626
1672
  "properties": [
1627
1673
  "name",
@@ -1,4 +1,65 @@
1
1
  {
2
+ "OS::Barbican::CertificateContainer": {
3
+ "properties": [
4
+ "certificate_ref",
5
+ "intermediates_ref",
6
+ "name",
7
+ "private_key_passphrase_ref",
8
+ "private_key_ref"
9
+ ],
10
+ "full_properties": {
11
+ "certificate_ref": {
12
+ "description": "Reference to certificate.",
13
+ "required": false,
14
+ "type": "string",
15
+ "update_causes": "replacement"
16
+ },
17
+ "intermediates_ref": {
18
+ "description": "Reference to intermediates.",
19
+ "required": false,
20
+ "type": "string",
21
+ "update_causes": "replacement"
22
+ },
23
+ "name": {
24
+ "description": "Human-readable name for the container.",
25
+ "required": false,
26
+ "type": "string",
27
+ "update_causes": "replacement"
28
+ },
29
+ "private_key_passphrase_ref": {
30
+ "description": "Reference to private key passphrase.",
31
+ "required": false,
32
+ "type": "string",
33
+ "update_causes": "replacement"
34
+ },
35
+ "private_key_ref": {
36
+ "description": "Reference to private key.",
37
+ "required": false,
38
+ "type": "string",
39
+ "update_causes": "replacement"
40
+ }
41
+ }
42
+ },
43
+ "OS::Barbican::GenericContainer": {
44
+ "properties": [
45
+ "name",
46
+ "secrets"
47
+ ],
48
+ "full_properties": {
49
+ "name": {
50
+ "description": "Human-readable name for the container.",
51
+ "required": false,
52
+ "type": "string",
53
+ "update_causes": "replacement"
54
+ },
55
+ "secrets": {
56
+ "description": "References to secrets that will be stored in container.",
57
+ "required": false,
58
+ "type": "list",
59
+ "update_causes": "replacement"
60
+ }
61
+ }
62
+ },
2
63
  "OS::Barbican::Order": {
3
64
  "properties": [
4
65
  "algorithm",
@@ -24,13 +85,13 @@
24
85
  "update_causes": "replacement"
25
86
  },
26
87
  "algorithm": {
27
- "description": "The algorithm type used to generate the secret.",
88
+ "description": "The algorithm type used to generate the secret. Required for key and asymmetric types of order.",
28
89
  "required": false,
29
90
  "type": "string",
30
91
  "update_causes": "replacement"
31
92
  },
32
93
  "bit_length": {
33
- "description": "The bit-length of the secret.",
94
+ "description": "The bit-length of the secret. Required for key and asymmetric types of order.",
34
95
  "required": false,
35
96
  "type": "integer",
36
97
  "update_causes": "replacement"
@@ -60,7 +121,7 @@
60
121
  "update_causes": "replacement"
61
122
  },
62
123
  "pass_phrase": {
63
- "description": "The passphrase the created key.",
124
+ "description": "The passphrase the created key. Can be set only for asymmetric type of order.",
64
125
  "required": false,
65
126
  "type": "string",
66
127
  "update_causes": "replacement"
@@ -78,7 +139,7 @@
78
139
  "update_causes": "replacement"
79
140
  },
80
141
  "request_data": {
81
- "description": "The content of the CSR.",
142
+ "description": "The content of the CSR. Only for certificate orders.",
82
143
  "required": false,
83
144
  "type": "string",
84
145
  "update_causes": "replacement"
@@ -103,6 +164,40 @@
103
164
  }
104
165
  }
105
166
  },
167
+ "OS::Barbican::RSAContainer": {
168
+ "properties": [
169
+ "name",
170
+ "private_key_passphrase_ref",
171
+ "private_key_ref",
172
+ "public_key_ref"
173
+ ],
174
+ "full_properties": {
175
+ "name": {
176
+ "description": "Human-readable name for the container.",
177
+ "required": false,
178
+ "type": "string",
179
+ "update_causes": "replacement"
180
+ },
181
+ "private_key_passphrase_ref": {
182
+ "description": "Reference to private key passphrase.",
183
+ "required": false,
184
+ "type": "string",
185
+ "update_causes": "replacement"
186
+ },
187
+ "private_key_ref": {
188
+ "description": "Reference to private key.",
189
+ "required": false,
190
+ "type": "string",
191
+ "update_causes": "replacement"
192
+ },
193
+ "public_key_ref": {
194
+ "description": "Reference to public key.",
195
+ "required": false,
196
+ "type": "string",
197
+ "update_causes": "replacement"
198
+ }
199
+ }
200
+ },
106
201
  "OS::Barbican::Secret": {
107
202
  "properties": [
108
203
  "algorithm",
@@ -283,7 +378,7 @@
283
378
  "update_causes": "none"
284
379
  },
285
380
  "time_constraints": {
286
- "description": "Describe time constraints for the alarm. Only evaluate the alarm if the time at evaluation is within this time constraint. Start point(s) of the constraint are specified with a cron expression,whereas its duration is given in seconds.",
381
+ "description": "Describe time constraints for the alarm. Only evaluate the alarm if the time at evaluation is within this time constraint. Start point(s) of the constraint are specified with a cron expression, whereas its duration is given in seconds.",
287
382
  "required": false,
288
383
  "type": "list",
289
384
  "update_causes": "replacement"
@@ -359,7 +454,7 @@
359
454
  "update_causes": "none"
360
455
  },
361
456
  "time_constraints": {
362
- "description": "Describe time constraints for the alarm. Only evaluate the alarm if the time at evaluation is within this time constraint. Start point(s) of the constraint are specified with a cron expression,whereas its duration is given in seconds.",
457
+ "description": "Describe time constraints for the alarm. Only evaluate the alarm if the time at evaluation is within this time constraint. Start point(s) of the constraint are specified with a cron expression, whereas its duration is given in seconds.",
363
458
  "required": false,
364
459
  "type": "list",
365
460
  "update_causes": "replacement"
@@ -397,7 +492,7 @@
397
492
  "update_causes": "none"
398
493
  },
399
494
  "aggregation_method": {
400
- "description": "The aggregation method to compare to the threshold",
495
+ "description": "The aggregation method to compare to the threshold.",
401
496
  "required": false,
402
497
  "type": "string",
403
498
  "update_causes": "none"
@@ -463,7 +558,7 @@
463
558
  "update_causes": "none"
464
559
  },
465
560
  "time_constraints": {
466
- "description": "Describe time constraints for the alarm. Only evaluate the alarm if the time at evaluation is within this time constraint. Start point(s) of the constraint are specified with a cron expression,whereas its duration is given in seconds.",
561
+ "description": "Describe time constraints for the alarm. Only evaluate the alarm if the time at evaluation is within this time constraint. Start point(s) of the constraint are specified with a cron expression, whereas its duration is given in seconds.",
467
562
  "required": false,
468
563
  "type": "list",
469
564
  "update_causes": "replacement"
@@ -497,13 +592,13 @@
497
592
  "update_causes": "none"
498
593
  },
499
594
  "query": {
500
- "description": "The query to filter the metrics",
595
+ "description": "The query to filter the metrics.",
501
596
  "required": true,
502
597
  "type": "string",
503
598
  "update_causes": "none"
504
599
  },
505
600
  "resource_type": {
506
- "description": "Resource type",
601
+ "description": "Resource type.",
507
602
  "required": true,
508
603
  "type": "string",
509
604
  "update_causes": "none"
@@ -515,7 +610,7 @@
515
610
  "update_causes": "none"
516
611
  },
517
612
  "aggregation_method": {
518
- "description": "The aggregation method to compare to the threshold",
613
+ "description": "The aggregation method to compare to the threshold.",
519
614
  "required": false,
520
615
  "type": "string",
521
616
  "update_causes": "none"
@@ -581,7 +676,7 @@
581
676
  "update_causes": "none"
582
677
  },
583
678
  "time_constraints": {
584
- "description": "Describe time constraints for the alarm. Only evaluate the alarm if the time at evaluation is within this time constraint. Start point(s) of the constraint are specified with a cron expression,whereas its duration is given in seconds.",
679
+ "description": "Describe time constraints for the alarm. Only evaluate the alarm if the time at evaluation is within this time constraint. Start point(s) of the constraint are specified with a cron expression, whereas its duration is given in seconds.",
585
680
  "required": false,
586
681
  "type": "list",
587
682
  "update_causes": "replacement"
@@ -615,13 +710,13 @@
615
710
  "update_causes": "none"
616
711
  },
617
712
  "resource_id": {
618
- "description": "Id of a resource",
713
+ "description": "Id of a resource.",
619
714
  "required": true,
620
715
  "type": "string",
621
716
  "update_causes": "none"
622
717
  },
623
718
  "resource_type": {
624
- "description": "Resource type",
719
+ "description": "Resource type.",
625
720
  "required": true,
626
721
  "type": "string",
627
722
  "update_causes": "none"
@@ -633,7 +728,7 @@
633
728
  "update_causes": "none"
634
729
  },
635
730
  "aggregation_method": {
636
- "description": "The aggregation method to compare to the threshold",
731
+ "description": "The aggregation method to compare to the threshold.",
637
732
  "required": false,
638
733
  "type": "string",
639
734
  "update_causes": "none"
@@ -699,7 +794,7 @@
699
794
  "update_causes": "none"
700
795
  },
701
796
  "time_constraints": {
702
- "description": "Describe time constraints for the alarm. Only evaluate the alarm if the time at evaluation is within this time constraint. Start point(s) of the constraint are specified with a cron expression,whereas its duration is given in seconds.",
797
+ "description": "Describe time constraints for the alarm. Only evaluate the alarm if the time at evaluation is within this time constraint. Start point(s) of the constraint are specified with a cron expression, whereas its duration is given in seconds.",
703
798
  "required": false,
704
799
  "type": "list",
705
800
  "update_causes": "replacement"
@@ -1293,7 +1388,7 @@
1293
1388
  "update_causes": "replacement"
1294
1389
  },
1295
1390
  "removal_policies": {
1296
- "description": "Policies for removal of resources on update",
1391
+ "description": "Policies for removal of resources on update.",
1297
1392
  "required": false,
1298
1393
  "type": "list",
1299
1394
  "update_causes": "none"
@@ -1618,7 +1713,7 @@
1618
1713
  "update_causes": "none"
1619
1714
  },
1620
1715
  "input_key": {
1621
- "description": "Name of key to use for substituting inputs during deployment",
1716
+ "description": "Name of key to use for substituting inputs during deployment.",
1622
1717
  "required": false,
1623
1718
  "type": "string",
1624
1719
  "update_causes": "replacement"
@@ -1674,7 +1769,7 @@
1674
1769
  "update_causes": "none"
1675
1770
  },
1676
1771
  "input_key": {
1677
- "description": "Name of key to use for substituting inputs during deployment",
1772
+ "description": "Name of key to use for substituting inputs during deployment.",
1678
1773
  "required": false,
1679
1774
  "type": "string",
1680
1775
  "update_causes": "replacement"
@@ -1725,7 +1820,7 @@
1725
1820
  "update_causes": "replacement"
1726
1821
  },
1727
1822
  "timeout": {
1728
- "description": "The maximum number of seconds to wait for the resource to signal completion. Once the timeout is reached, creation of the signal resource will fail.",
1823
+ "description": "The maximum number of seconds to wait for the resource to signal completion. Once the timeout is reached, creation of the signal resource will fail.",
1729
1824
  "required": true,
1730
1825
  "type": "number",
1731
1826
  "update_causes": "replacement"
@@ -1750,6 +1845,7 @@
1750
1845
  "action_wait_secs",
1751
1846
  "attr_wait_secs",
1752
1847
  "client_name",
1848
+ "constraint_prop_secs",
1753
1849
  "entity_name",
1754
1850
  "fail",
1755
1851
  "update_replace",
@@ -1775,6 +1871,12 @@
1775
1871
  "type": "string",
1776
1872
  "update_causes": "none"
1777
1873
  },
1874
+ "constraint_prop_secs": {
1875
+ "description": "Number value for delay during resolve constraint.",
1876
+ "required": false,
1877
+ "type": "number",
1878
+ "update_causes": "none"
1879
+ },
1778
1880
  "entity_name": {
1779
1881
  "description": "Client entity to poll.",
1780
1882
  "required": false,
@@ -1788,7 +1890,7 @@
1788
1890
  "update_causes": "none"
1789
1891
  },
1790
1892
  "update_replace": {
1791
- "description": "Value which can be set to trigger update replace for the particular resource",
1893
+ "description": "Value which can be set to trigger update replace for the particular resource.",
1792
1894
  "required": false,
1793
1895
  "type": "boolean",
1794
1896
  "update_causes": "none"
@@ -1800,7 +1902,7 @@
1800
1902
  "update_causes": "none"
1801
1903
  },
1802
1904
  "wait_secs": {
1803
- "description": "Seconds to wait after an action (-1 is infinite)",
1905
+ "description": "Seconds to wait after an action (-1 is infinite).",
1804
1906
  "required": false,
1805
1907
  "type": "number",
1806
1908
  "update_causes": "none"
@@ -2116,13 +2218,13 @@
2116
2218
  "update_causes": "none"
2117
2219
  },
2118
2220
  "enabled": {
2119
- "description": "Keystone user is enabled or disabled",
2221
+ "description": "Keystone user is enabled or disabled.",
2120
2222
  "required": false,
2121
2223
  "type": "boolean",
2122
2224
  "update_causes": "none"
2123
2225
  },
2124
2226
  "groups": {
2125
- "description": "keystone user groups.",
2227
+ "description": "Keystone user groups.",
2126
2228
  "required": false,
2127
2229
  "type": "list",
2128
2230
  "update_causes": "none"
@@ -2545,7 +2647,8 @@
2545
2647
  "driver_handles_share_servers",
2546
2648
  "extra_specs",
2547
2649
  "is_public",
2548
- "name"
2650
+ "name",
2651
+ "snapshot_support"
2549
2652
  ],
2550
2653
  "full_properties": {
2551
2654
  "driver_handles_share_servers": {
@@ -2571,6 +2674,12 @@
2571
2674
  "required": false,
2572
2675
  "type": "boolean",
2573
2676
  "update_causes": "replacement"
2677
+ },
2678
+ "snapshot_support": {
2679
+ "description": "Boolean extra spec that used for filtering of backends by their capability to create share snapshots.",
2680
+ "required": false,
2681
+ "type": "boolean",
2682
+ "update_causes": "replacement"
2574
2683
  }
2575
2684
  }
2576
2685
  },
@@ -2677,7 +2786,7 @@
2677
2786
  "update_causes": "none"
2678
2787
  },
2679
2788
  "use_request_body_as_input": {
2680
- "description": "Defines the method in which the request body for signaling a workflow would be parsed. In case this property is set to True, the body would be parsed as a simple json where each key is a workflow input, in other cases body would be parsed expecting a specific json format with two keys: “input” and “params",
2789
+ "description": "Defines the method in which the request body for signaling a workflow would be parsed. In case this property is set to True, the body would be parsed as a simple json where each key is a workflow input, in other cases body would be parsed expecting a specific json format with two keys: “input” and “params”.",
2681
2790
  "required": false,
2682
2791
  "type": "boolean",
2683
2792
  "update_causes": "none"
@@ -2752,17 +2861,17 @@
2752
2861
  "type": "string",
2753
2862
  "update_causes": "none"
2754
2863
  },
2755
- "shared": {
2756
- "description": "Whether this firewall should be shared across all tenants. NOTE: The default policy setting in Neutron restricts usage of this property to administrative users only.",
2757
- "required": false,
2758
- "type": "boolean",
2759
- "update_causes": "none"
2760
- },
2761
2864
  "value_specs": {
2762
2865
  "description": "Extra parameters to include in the request. Parameters are often specific to installed hardware or extensions.",
2763
2866
  "required": false,
2764
2867
  "type": "map",
2765
2868
  "update_causes": "none"
2869
+ },
2870
+ "shared": {
2871
+ "description": "Whether this firewall should be shared across all tenants. NOTE: The default policy setting in Neutron restricts usage of this property to administrative users only.",
2872
+ "required": false,
2873
+ "type": "boolean",
2874
+ "update_causes": "none"
2766
2875
  }
2767
2876
  }
2768
2877
  },
@@ -3241,6 +3350,316 @@
3241
3350
  }
3242
3351
  }
3243
3352
  },
3353
+ "OS::Neutron::LBaaS::HealthMonitor": {
3354
+ "properties": [
3355
+ "admin_state_up",
3356
+ "delay",
3357
+ "expected_codes",
3358
+ "http_method",
3359
+ "max_retries",
3360
+ "pool",
3361
+ "tenant_id",
3362
+ "timeout",
3363
+ "type",
3364
+ "url_path"
3365
+ ],
3366
+ "full_properties": {
3367
+ "delay": {
3368
+ "description": "The minimum time in seconds between regular connections of the member.",
3369
+ "required": true,
3370
+ "type": "integer",
3371
+ "update_causes": "none"
3372
+ },
3373
+ "max_retries": {
3374
+ "description": "Number of permissible connection failures before changing the member status to INACTIVE.",
3375
+ "required": true,
3376
+ "type": "integer",
3377
+ "update_causes": "none"
3378
+ },
3379
+ "pool": {
3380
+ "description": "ID or name of the load balancing pool.",
3381
+ "required": true,
3382
+ "type": "string",
3383
+ "update_causes": "replacement"
3384
+ },
3385
+ "timeout": {
3386
+ "description": "Maximum number of seconds for a monitor to wait for a connection to be established before it times out.",
3387
+ "required": true,
3388
+ "type": "integer",
3389
+ "update_causes": "none"
3390
+ },
3391
+ "type": {
3392
+ "description": "One of predefined health monitor types.",
3393
+ "required": true,
3394
+ "type": "string",
3395
+ "update_causes": "replacement"
3396
+ },
3397
+ "admin_state_up": {
3398
+ "description": "The administrative state of the health monitor.",
3399
+ "required": false,
3400
+ "type": "boolean",
3401
+ "update_causes": "none"
3402
+ },
3403
+ "expected_codes": {
3404
+ "description": "The HTTP status codes expected in response from the member to declare it healthy. Specify one of the following values: a single value, such as 200. a list, such as 200, 202. a range, such as 200-204.",
3405
+ "required": false,
3406
+ "type": "string",
3407
+ "update_causes": "none"
3408
+ },
3409
+ "http_method": {
3410
+ "description": "The HTTP method used for requests by the monitor of type HTTP.",
3411
+ "required": false,
3412
+ "type": "string",
3413
+ "update_causes": "none"
3414
+ },
3415
+ "tenant_id": {
3416
+ "description": "ID of the tenant who owns the health monitor.",
3417
+ "required": false,
3418
+ "type": "string",
3419
+ "update_causes": "replacement"
3420
+ },
3421
+ "url_path": {
3422
+ "description": "The HTTP path used in the HTTP request used by the monitor to test a member health. A valid value is a string the begins with a forward slash (/).",
3423
+ "required": false,
3424
+ "type": "string",
3425
+ "update_causes": "none"
3426
+ }
3427
+ }
3428
+ },
3429
+ "OS::Neutron::LBaaS::Listener": {
3430
+ "properties": [
3431
+ "admin_state_up",
3432
+ "connection_limit",
3433
+ "default_tls_container_ref",
3434
+ "description",
3435
+ "loadbalancer",
3436
+ "name",
3437
+ "protocol",
3438
+ "protocol_port",
3439
+ "sni_container_refs",
3440
+ "tenant_id"
3441
+ ],
3442
+ "full_properties": {
3443
+ "loadbalancer": {
3444
+ "description": "ID or name of the load balancer with which listener is associated.",
3445
+ "required": true,
3446
+ "type": "string",
3447
+ "update_causes": "replacement"
3448
+ },
3449
+ "protocol": {
3450
+ "description": "Protocol on which to listen for the client traffic.",
3451
+ "required": true,
3452
+ "type": "string",
3453
+ "update_causes": "replacement"
3454
+ },
3455
+ "protocol_port": {
3456
+ "description": "TCP or UDP port on which to listen for client traffic.",
3457
+ "required": true,
3458
+ "type": "integer",
3459
+ "update_causes": "replacement"
3460
+ },
3461
+ "admin_state_up": {
3462
+ "description": "The administrative state of this listener.",
3463
+ "required": false,
3464
+ "type": "boolean",
3465
+ "update_causes": "none"
3466
+ },
3467
+ "connection_limit": {
3468
+ "description": "The maximum number of connections permitted for this load balancer. Defaults to -1, which is infinite.",
3469
+ "required": false,
3470
+ "type": "integer",
3471
+ "update_causes": "none"
3472
+ },
3473
+ "default_tls_container_ref": {
3474
+ "description": "Default TLS container reference to retrieve TLS information.",
3475
+ "required": false,
3476
+ "type": "string",
3477
+ "update_causes": "none"
3478
+ },
3479
+ "description": {
3480
+ "description": "Description of this listener.",
3481
+ "required": false,
3482
+ "type": "string",
3483
+ "update_causes": "none"
3484
+ },
3485
+ "name": {
3486
+ "description": "Name of this listener.",
3487
+ "required": false,
3488
+ "type": "string",
3489
+ "update_causes": "none"
3490
+ },
3491
+ "sni_container_refs": {
3492
+ "description": "List of TLS container references for SNI.",
3493
+ "required": false,
3494
+ "type": "list",
3495
+ "update_causes": "none"
3496
+ },
3497
+ "tenant_id": {
3498
+ "description": "The ID of the tenant who owns the listener.",
3499
+ "required": false,
3500
+ "type": "string",
3501
+ "update_causes": "replacement"
3502
+ }
3503
+ }
3504
+ },
3505
+ "OS::Neutron::LBaaS::LoadBalancer": {
3506
+ "properties": [
3507
+ "admin_state_up",
3508
+ "description",
3509
+ "name",
3510
+ "provider",
3511
+ "tenant_id",
3512
+ "vip_address",
3513
+ "vip_subnet"
3514
+ ],
3515
+ "full_properties": {
3516
+ "vip_subnet": {
3517
+ "description": "The name or ID of the subnet on which to allocate the VIP address.",
3518
+ "required": true,
3519
+ "type": "string",
3520
+ "update_causes": "replacement"
3521
+ },
3522
+ "admin_state_up": {
3523
+ "description": "The administrative state of this Load Balancer.",
3524
+ "required": false,
3525
+ "type": "boolean",
3526
+ "update_causes": "none"
3527
+ },
3528
+ "description": {
3529
+ "description": "Description of this Load Balancer.",
3530
+ "required": false,
3531
+ "type": "string",
3532
+ "update_causes": "none"
3533
+ },
3534
+ "name": {
3535
+ "description": "Name of this Load Balancer.",
3536
+ "required": false,
3537
+ "type": "string",
3538
+ "update_causes": "none"
3539
+ },
3540
+ "provider": {
3541
+ "description": "Provider for this Load Balancer.",
3542
+ "required": false,
3543
+ "type": "string",
3544
+ "update_causes": "replacement"
3545
+ },
3546
+ "tenant_id": {
3547
+ "description": "The ID of the tenant who owns the Load Balancer. Only administrative users can specify a tenant ID other than their own.",
3548
+ "required": false,
3549
+ "type": "string",
3550
+ "update_causes": "replacement"
3551
+ },
3552
+ "vip_address": {
3553
+ "description": "IP address for the VIP.",
3554
+ "required": false,
3555
+ "type": "string",
3556
+ "update_causes": "replacement"
3557
+ }
3558
+ }
3559
+ },
3560
+ "OS::Neutron::LBaaS::Pool": {
3561
+ "properties": [
3562
+ "admin_state_up",
3563
+ "description",
3564
+ "lb_algorithm",
3565
+ "listener",
3566
+ "name",
3567
+ "protocol",
3568
+ "session_persistence"
3569
+ ],
3570
+ "full_properties": {
3571
+ "lb_algorithm": {
3572
+ "description": "The algorithm used to distribute load between the members of the pool.",
3573
+ "required": true,
3574
+ "type": "string",
3575
+ "update_causes": "none"
3576
+ },
3577
+ "listener": {
3578
+ "description": "Listner name or ID to be associated with this pool.",
3579
+ "required": true,
3580
+ "type": "string",
3581
+ "update_causes": "replacement"
3582
+ },
3583
+ "protocol": {
3584
+ "description": "Protocol of the pool.",
3585
+ "required": true,
3586
+ "type": "string",
3587
+ "update_causes": "replacement"
3588
+ },
3589
+ "admin_state_up": {
3590
+ "description": "The administrative state of this pool.",
3591
+ "required": false,
3592
+ "type": "boolean",
3593
+ "update_causes": "none"
3594
+ },
3595
+ "description": {
3596
+ "description": "Description of this pool.",
3597
+ "required": false,
3598
+ "type": "string",
3599
+ "update_causes": "none"
3600
+ },
3601
+ "name": {
3602
+ "description": "Name of this pool.",
3603
+ "required": false,
3604
+ "type": "string",
3605
+ "update_causes": "none"
3606
+ },
3607
+ "session_persistence": {
3608
+ "description": "Configuration of session persistence.",
3609
+ "required": false,
3610
+ "type": "map",
3611
+ "update_causes": "replacement"
3612
+ }
3613
+ }
3614
+ },
3615
+ "OS::Neutron::LBaaS::PoolMember": {
3616
+ "properties": [
3617
+ "address",
3618
+ "admin_state_up",
3619
+ "pool",
3620
+ "protocol_port",
3621
+ "subnet",
3622
+ "weight"
3623
+ ],
3624
+ "full_properties": {
3625
+ "address": {
3626
+ "description": "IP address of the pool member on the pool network.",
3627
+ "required": true,
3628
+ "type": "string",
3629
+ "update_causes": "replacement"
3630
+ },
3631
+ "pool": {
3632
+ "description": "Name or ID of the load balancing pool.",
3633
+ "required": true,
3634
+ "type": "string",
3635
+ "update_causes": "replacement"
3636
+ },
3637
+ "protocol_port": {
3638
+ "description": "Port on which the pool member listens for requests or connections.",
3639
+ "required": true,
3640
+ "type": "integer",
3641
+ "update_causes": "replacement"
3642
+ },
3643
+ "admin_state_up": {
3644
+ "description": "The administrative state of the pool member.",
3645
+ "required": false,
3646
+ "type": "boolean",
3647
+ "update_causes": "none"
3648
+ },
3649
+ "subnet": {
3650
+ "description": "Subnet name or ID of this member.",
3651
+ "required": false,
3652
+ "type": "string",
3653
+ "update_causes": "replacement"
3654
+ },
3655
+ "weight": {
3656
+ "description": "Weight of pool member in the pool (default to 1).",
3657
+ "required": false,
3658
+ "type": "integer",
3659
+ "update_causes": "none"
3660
+ }
3661
+ }
3662
+ },
3244
3663
  "OS::Neutron::LoadBalancer": {
3245
3664
  "properties": [
3246
3665
  "members",
@@ -3360,7 +3779,7 @@
3360
3779
  "update_causes": "none"
3361
3780
  },
3362
3781
  "port_security_enabled": {
3363
- "description": "Flag to enable/disable port security on the network. It provides the default value for the attribute of the ports created on this network",
3782
+ "description": "Flag to enable/disable port security on the network. It provides the default value for the attribute of the ports created on this network.",
3364
3783
  "required": false,
3365
3784
  "type": "boolean",
3366
3785
  "update_causes": "none"
@@ -3530,19 +3949,44 @@
3530
3949
  },
3531
3950
  "OS::Neutron::Port": {
3532
3951
  "properties": [
3952
+ "admin_state_up",
3953
+ "allowed_address_pairs",
3954
+ "binding:vnic_type",
3533
3955
  "device_id",
3534
3956
  "device_owner",
3535
3957
  "fixed_ips",
3958
+ "mac_address",
3536
3959
  "name",
3537
3960
  "network",
3961
+ "port_security_enabled",
3962
+ "qos_policy",
3538
3963
  "replacement_policy",
3539
- "security_groups"
3964
+ "security_groups",
3965
+ "value_specs"
3540
3966
  ],
3541
3967
  "full_properties": {
3542
3968
  "network": {
3543
- "description": "Network this port belongs to. If you plan to use current port to assign Floating IP, you should specify fixed_ips with subnet. Note if this changes to a different network update, the port will be replaced",
3969
+ "description": "Network this port belongs to. If you plan to use current port to assign Floating IP, you should specify fixed_ips with subnet. Note if this changes to a different network update, the port will be replaced.",
3544
3970
  "required": true,
3545
3971
  "type": "string",
3972
+ "update_causes": "replacement"
3973
+ },
3974
+ "admin_state_up": {
3975
+ "description": "The administrative state of this port.",
3976
+ "required": false,
3977
+ "type": "boolean",
3978
+ "update_causes": "none"
3979
+ },
3980
+ "allowed_address_pairs": {
3981
+ "description": "Additional MAC/IP address pairs allowed to pass through the port.",
3982
+ "required": false,
3983
+ "type": "list",
3984
+ "update_causes": "replacement"
3985
+ },
3986
+ "binding:vnic_type": {
3987
+ "description": "The vnic type to be bound on the neutron port. To support SR-IOV PCI passthrough networking, you can request that the neutron port to be realized as normal (virtual nic), direct (pci passthrough), or macvtap (virtual interface with a tap-like software interface). Note that this only works for Neutron deployments that support the bindings extension.",
3988
+ "required": false,
3989
+ "type": "string",
3546
3990
  "update_causes": "none"
3547
3991
  },
3548
3992
  "device_id": {
@@ -3552,7 +3996,7 @@
3552
3996
  "update_causes": "none"
3553
3997
  },
3554
3998
  "device_owner": {
3555
- "description": "Name of the network owning the port. The value is typically network:floatingip or network:router_interface or network:dhcp",
3999
+ "description": "Name of the network owning the port. The value is typically network:floatingip or network:router_interface or network:dhcp.",
3556
4000
  "required": false,
3557
4001
  "type": "string",
3558
4002
  "update_causes": "none"
@@ -3563,14 +4007,26 @@
3563
4007
  "type": "list",
3564
4008
  "update_causes": "none"
3565
4009
  },
4010
+ "mac_address": {
4011
+ "description": "MAC address to give to this port.",
4012
+ "required": false,
4013
+ "type": "string",
4014
+ "update_causes": "replacement"
4015
+ },
3566
4016
  "name": {
3567
4017
  "description": "A symbolic name for this port.",
3568
4018
  "required": false,
3569
4019
  "type": "string",
3570
4020
  "update_causes": "none"
3571
4021
  },
3572
- "replacement_policy": {
3573
- "description": "Policy on how to respond to a stack-update for this resource. REPLACE_ALWAYS will replace the port regardless of any property changes. AUTO will update the existing port for any changed update-allowed property.",
4022
+ "port_security_enabled": {
4023
+ "description": "Flag to enable/disable port security on the port. When disable this feature(set it to False), there will be no packages filtering, like security-group and address-pairs.",
4024
+ "required": false,
4025
+ "type": "boolean",
4026
+ "update_causes": "none"
4027
+ },
4028
+ "qos_policy": {
4029
+ "description": "The name or ID of QoS policy to attach to this port.",
3574
4030
  "required": false,
3575
4031
  "type": "string",
3576
4032
  "update_causes": "none"
@@ -3580,6 +4036,18 @@
3580
4036
  "required": false,
3581
4037
  "type": "list",
3582
4038
  "update_causes": "none"
4039
+ },
4040
+ "value_specs": {
4041
+ "description": "Extra parameters to include in the request.",
4042
+ "required": false,
4043
+ "type": "map",
4044
+ "update_causes": "none"
4045
+ },
4046
+ "replacement_policy": {
4047
+ "description": "Policy on how to respond to a stack-update for this resource. REPLACE_ALWAYS will replace the port regardless of any property changes. AUTO will update the existing port for any changed update-allowed property.",
4048
+ "required": false,
4049
+ "type": "string",
4050
+ "update_causes": "none"
3583
4051
  }
3584
4052
  }
3585
4053
  },
@@ -3589,6 +4057,7 @@
3589
4057
  "name",
3590
4058
  "network_type",
3591
4059
  "physical_network",
4060
+ "router_external",
3592
4061
  "segmentation_id",
3593
4062
  "shared"
3594
4063
  ],
@@ -3617,6 +4086,12 @@
3617
4086
  "type": "string",
3618
4087
  "update_causes": "none"
3619
4088
  },
4089
+ "router_external": {
4090
+ "description": "Whether the network contains an external router.",
4091
+ "required": false,
4092
+ "type": "boolean",
4093
+ "update_causes": "none"
4094
+ },
3620
4095
  "segmentation_id": {
3621
4096
  "description": "A string specifying the segmentation id for the network.",
3622
4097
  "required": false,
@@ -3905,10 +4380,10 @@
3905
4380
  "update_causes": "none"
3906
4381
  },
3907
4382
  "host_routes": {
3908
- "description": "List value expected.",
4383
+ "description": "A list of host route dictionaries for the subnet.",
3909
4384
  "required": false,
3910
- "type": "can",
3911
- "update_causes": "unknown"
4385
+ "type": "list",
4386
+ "update_causes": "none"
3912
4387
  },
3913
4388
  "ip_version": {
3914
4389
  "description": "The IP version, which is 4 or 6.",
@@ -3917,13 +4392,13 @@
3917
4392
  "update_causes": "replacement"
3918
4393
  },
3919
4394
  "ipv6_address_mode": {
3920
- "description": "IPv6 address mode. dhcpv6-stateful, dhcpv6-stateless, or slaac.",
4395
+ "description": "IPv6 address mode.",
3921
4396
  "required": false,
3922
4397
  "type": "string",
3923
4398
  "update_causes": "replacement"
3924
4399
  },
3925
4400
  "ipv6_ra_mode": {
3926
- "description": "IPv6 RA (Router Advertisement) mode. dhcpv6-stateful, dhcpv6-stateless, or slaac.",
4401
+ "description": "IPv6 RA (Router Advertisement) mode.",
3927
4402
  "required": false,
3928
4403
  "type": "string",
3929
4404
  "update_causes": "replacement"
@@ -3999,7 +4474,7 @@
3999
4474
  "update_causes": "none"
4000
4475
  },
4001
4476
  "is_default": {
4002
- "description": "Whether this is default IPv4/IPv6 subnet pool.There can only be one default subnet pool for each IP family.Note that the default policy setting restricts administrative users to set this to True",
4477
+ "description": "Whether this is default IPv4/IPv6 subnet pool. There can only be one default subnet pool for each IP family. Note that the default policy setting restricts administrative users to set this to True.",
4003
4478
  "required": false,
4004
4479
  "type": "boolean",
4005
4480
  "update_causes": "none"
@@ -4023,7 +4498,7 @@
4023
4498
  "update_causes": "none"
4024
4499
  },
4025
4500
  "shared": {
4026
- "description": "Whether the subnet pool will be shared across all tenants.Note that the default policy setting restricts usage of this attribute to administrative users only.",
4501
+ "description": "Whether the subnet pool will be shared across all tenants. Note that the default policy setting restricts usage of this attribute to administrative users only.",
4027
4502
  "required": false,
4028
4503
  "type": "boolean",
4029
4504
  "update_causes": "replacement"
@@ -4120,7 +4595,7 @@
4120
4595
  "update_causes": "none"
4121
4596
  },
4122
4597
  "is_public": {
4123
- "description": "Scope of flavor accessibility. Public or private.Default value is True, means public, shared across all projects.",
4598
+ "description": "Scope of flavor accessibility. Public or private. Default value is True, means public, shared across all projects.",
4124
4599
  "required": false,
4125
4600
  "type": "boolean",
4126
4601
  "update_causes": "replacement"
@@ -4255,7 +4730,8 @@
4255
4730
  "security_groups",
4256
4731
  "software_config_transport",
4257
4732
  "user_data",
4258
- "user_data_format"
4733
+ "user_data_format",
4734
+ "user_data_update_policy"
4259
4735
  ],
4260
4736
  "full_properties": {
4261
4737
  "flavor": {
@@ -4313,7 +4789,7 @@
4313
4789
  "update_causes": "none"
4314
4790
  },
4315
4791
  "image_update_policy": {
4316
- "description": "Policy on how to apply an image-id update; either by requesting a server rebuild or by replacing the entire server",
4792
+ "description": "Policy on how to apply an image-id update; either by requesting a server rebuild or by replacing the entire server.",
4317
4793
  "required": false,
4318
4794
  "type": "string",
4319
4795
  "update_causes": "none"
@@ -4325,7 +4801,7 @@
4325
4801
  "update_causes": "replacement"
4326
4802
  },
4327
4803
  "metadata": {
4328
- "description": "Arbitrary key/value metadata to store for this server. Both keys and values must be 255 characters or less. Non-string values will be serialized to JSON (and the serialized string must be 255 characters or less).",
4804
+ "description": "Arbitrary key/value metadata to store for this server. Both keys and values must be 255 characters or less. Non-string values will be serialized to JSON (and the serialized string must be 255 characters or less).",
4329
4805
  "required": false,
4330
4806
  "type": "map",
4331
4807
  "update_causes": "none"
@@ -4376,13 +4852,19 @@
4376
4852
  "description": "User data script to be executed by cloud-init.",
4377
4853
  "required": false,
4378
4854
  "type": "string",
4379
- "update_causes": "replacement"
4855
+ "update_causes": "none"
4380
4856
  },
4381
4857
  "user_data_format": {
4382
4858
  "description": "How the user_data should be formatted for the server. For HEAT_CFNTOOLS, the user_data is bundled as part of the heat-cfntools cloud-init boot configuration data. For RAW the user_data is passed to Nova unmodified. For SOFTWARE_CONFIG user_data is bundled as part of the software config data, and metadata is derived from any associated SoftwareDeployment resources.",
4383
4859
  "required": false,
4384
4860
  "type": "string",
4385
4861
  "update_causes": "replacement"
4862
+ },
4863
+ "user_data_update_policy": {
4864
+ "description": "Policy on how to apply a user_data update; either by ignorning it or by replacing the entire server.",
4865
+ "required": false,
4866
+ "type": "string",
4867
+ "update_causes": "none"
4386
4868
  }
4387
4869
  }
4388
4870
  },
@@ -4642,7 +5124,7 @@
4642
5124
  ],
4643
5125
  "full_properties": {
4644
5126
  "url": {
4645
- "description": "URL for the job binary. Must be in the format swift://<container>/<path> or internal-db://<uuid>",
5127
+ "description": "URL for the job binary. Must be in the format swift://<container>/<path> or internal-db://<uuid>.",
4646
5128
  "required": true,
4647
5129
  "type": "string",
4648
5130
  "update_causes": "none"
@@ -4868,15 +5350,77 @@
4868
5350
  }
4869
5351
  }
4870
5352
  },
5353
+ "OS::Senlin::Node": {
5354
+ "properties": [
5355
+ "metadata",
5356
+ "name",
5357
+ "profile"
5358
+ ],
5359
+ "full_properties": {
5360
+ "profile": {
5361
+ "description": "Name or ID of senlin profile to create this node.",
5362
+ "required": true,
5363
+ "type": "string",
5364
+ "update_causes": "none"
5365
+ },
5366
+ "metadata": {
5367
+ "description": "Metadata key-values defined for node.",
5368
+ "required": false,
5369
+ "type": "map",
5370
+ "update_causes": "none"
5371
+ },
5372
+ "name": {
5373
+ "description": "Name of the senlin node. By default, physical resource name is used.",
5374
+ "required": false,
5375
+ "type": "string",
5376
+ "update_causes": "none"
5377
+ }
5378
+ }
5379
+ },
5380
+ "OS::Senlin::Policy": {
5381
+ "properties": [
5382
+ "bindings",
5383
+ "name",
5384
+ "properties",
5385
+ "type"
5386
+ ],
5387
+ "full_properties": {
5388
+ "type": {
5389
+ "description": "The type of senlin policy.",
5390
+ "required": true,
5391
+ "type": "string",
5392
+ "update_causes": "replacement"
5393
+ },
5394
+ "bindings": {
5395
+ "description": "A list of clusters to which this policy is attached.",
5396
+ "required": false,
5397
+ "type": "list",
5398
+ "update_causes": "none"
5399
+ },
5400
+ "name": {
5401
+ "description": "Name of the senlin policy. By default, physical resource name is used.",
5402
+ "required": false,
5403
+ "type": "string",
5404
+ "update_causes": "none"
5405
+ },
5406
+ "properties": {
5407
+ "description": "Properties of this policy.",
5408
+ "required": false,
5409
+ "type": "map",
5410
+ "update_causes": "replacement"
5411
+ }
5412
+ }
5413
+ },
4871
5414
  "OS::Senlin::Profile": {
4872
5415
  "properties": [
4873
5416
  "metadata",
4874
5417
  "name",
4875
- "spec"
5418
+ "properties",
5419
+ "type"
4876
5420
  ],
4877
5421
  "full_properties": {
4878
- "spec": {
4879
- "description": "The spec template content for Senlin profile, should be either in YAML or JSON format.",
5422
+ "type": {
5423
+ "description": "The type of profile.",
4880
5424
  "required": true,
4881
5425
  "type": "string",
4882
5426
  "update_causes": "replacement"
@@ -4892,6 +5436,53 @@
4892
5436
  "required": false,
4893
5437
  "type": "string",
4894
5438
  "update_causes": "none"
5439
+ },
5440
+ "properties": {
5441
+ "description": "Properties for profile.",
5442
+ "required": false,
5443
+ "type": "map",
5444
+ "update_causes": "replacement"
5445
+ }
5446
+ }
5447
+ },
5448
+ "OS::Senlin::Receiver": {
5449
+ "properties": [
5450
+ "action",
5451
+ "cluster",
5452
+ "name",
5453
+ "params",
5454
+ "type"
5455
+ ],
5456
+ "full_properties": {
5457
+ "action": {
5458
+ "description": "The action to be executed when the receiver is signaled.",
5459
+ "required": true,
5460
+ "type": "string",
5461
+ "update_causes": "replacement"
5462
+ },
5463
+ "cluster": {
5464
+ "description": "Name or ID of target cluster.",
5465
+ "required": true,
5466
+ "type": "string",
5467
+ "update_causes": "replacement"
5468
+ },
5469
+ "name": {
5470
+ "description": "Name of the senlin receiver. By default, physical resource name is used.",
5471
+ "required": false,
5472
+ "type": "string",
5473
+ "update_causes": "replacement"
5474
+ },
5475
+ "params": {
5476
+ "description": "The parameters passed to action when the receiver is signaled.",
5477
+ "required": false,
5478
+ "type": "map",
5479
+ "update_causes": "replacement"
5480
+ },
5481
+ "type": {
5482
+ "description": "Type of receiver.",
5483
+ "required": false,
5484
+ "type": "string",
5485
+ "update_causes": "replacement"
4895
5486
  }
4896
5487
  }
4897
5488
  },
@@ -4969,13 +5560,13 @@
4969
5560
  "description": "Reference to a flavor for creating DB instance.",
4970
5561
  "required": true,
4971
5562
  "type": "string",
4972
- "update_causes": "replacement"
5563
+ "update_causes": "none"
4973
5564
  },
4974
5565
  "size": {
4975
5566
  "description": "Database volume size in GB.",
4976
5567
  "required": true,
4977
5568
  "type": "integer",
4978
- "update_causes": "replacement"
5569
+ "update_causes": "none"
4979
5570
  },
4980
5571
  "availability_zone": {
4981
5572
  "description": "Name of the availability zone for DB instance.",
@@ -4987,7 +5578,7 @@
4987
5578
  "description": "List of databases to be created on DB instance creation.",
4988
5579
  "required": false,
4989
5580
  "type": "list",
4990
- "update_causes": "replacement"
5581
+ "update_causes": "none"
4991
5582
  },
4992
5583
  "datastore_type": {
4993
5584
  "description": "Name of registered datastore type.",
@@ -5005,7 +5596,7 @@
5005
5596
  "description": "Name of the DB instance to create.",
5006
5597
  "required": false,
5007
5598
  "type": "string",
5008
- "update_causes": "replacement"
5599
+ "update_causes": "none"
5009
5600
  },
5010
5601
  "networks": {
5011
5602
  "description": "List of network interfaces to create on instance.",
@@ -5035,7 +5626,7 @@
5035
5626
  "description": "List of users to be created on DB instance creation.",
5036
5627
  "required": false,
5037
5628
  "type": "list",
5038
- "update_causes": "replacement"
5629
+ "update_causes": "none"
5039
5630
  }
5040
5631
  }
5041
5632
  },