@microsoft/terraform-cdk-constructs 1.8.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/.jsii +60376 -32133
  2. package/API.md +72290 -37038
  3. package/lib/azure-actiongroup/lib/action-group.js +1 -1
  4. package/lib/azure-activitylogalert/lib/activity-log-alert.js +1 -1
  5. package/lib/azure-aks/lib/aks-cluster.js +1 -1
  6. package/lib/azure-applicationinsights/index.d.ts +7 -0
  7. package/lib/azure-applicationinsights/index.js +24 -0
  8. package/lib/azure-applicationinsights/lib/application-insights-schemas.d.ts +29 -0
  9. package/lib/azure-applicationinsights/lib/application-insights-schemas.js +162 -0
  10. package/lib/azure-applicationinsights/lib/application-insights.d.ts +206 -0
  11. package/lib/azure-applicationinsights/lib/application-insights.js +209 -0
  12. package/lib/azure-applicationinsights/lib/index.d.ts +5 -0
  13. package/lib/azure-applicationinsights/lib/index.js +22 -0
  14. package/lib/azure-applicationinsights/test/application-insights.integ.d.ts +9 -0
  15. package/lib/azure-applicationinsights/test/application-insights.integ.js +84 -0
  16. package/lib/azure-applicationinsights/test/application-insights.spec.d.ts +8 -0
  17. package/lib/azure-applicationinsights/test/application-insights.spec.js +209 -0
  18. package/lib/azure-containerapps/index.d.ts +1 -0
  19. package/lib/azure-containerapps/index.js +18 -0
  20. package/lib/azure-containerapps/lib/container-app-environment-schemas.d.ts +50 -0
  21. package/lib/azure-containerapps/lib/container-app-environment-schemas.js +522 -0
  22. package/lib/azure-containerapps/lib/container-app-environment.d.ts +374 -0
  23. package/lib/azure-containerapps/lib/container-app-environment.js +310 -0
  24. package/lib/azure-containerapps/lib/container-app-schemas.d.ts +48 -0
  25. package/lib/azure-containerapps/lib/container-app-schemas.js +466 -0
  26. package/lib/azure-containerapps/lib/container-app.d.ts +925 -0
  27. package/lib/azure-containerapps/lib/container-app.js +320 -0
  28. package/lib/azure-containerapps/lib/index.d.ts +4 -0
  29. package/lib/azure-containerapps/lib/index.js +21 -0
  30. package/lib/azure-containerapps/test/container-app-environment.integ.d.ts +10 -0
  31. package/lib/azure-containerapps/test/container-app-environment.integ.js +82 -0
  32. package/lib/azure-containerapps/test/container-app-environment.spec.d.ts +9 -0
  33. package/lib/azure-containerapps/test/container-app-environment.spec.js +412 -0
  34. package/lib/azure-containerapps/test/container-app.integ.d.ts +10 -0
  35. package/lib/azure-containerapps/test/container-app.integ.js +119 -0
  36. package/lib/azure-containerapps/test/container-app.spec.d.ts +9 -0
  37. package/lib/azure-containerapps/test/container-app.spec.js +839 -0
  38. package/lib/azure-containerregistry/index.d.ts +1 -0
  39. package/lib/azure-containerregistry/index.js +18 -0
  40. package/lib/azure-containerregistry/lib/container-registry-schemas.d.ts +32 -0
  41. package/lib/azure-containerregistry/lib/container-registry-schemas.js +316 -0
  42. package/lib/azure-containerregistry/lib/container-registry.d.ts +330 -0
  43. package/lib/azure-containerregistry/lib/container-registry.js +217 -0
  44. package/lib/azure-containerregistry/lib/index.d.ts +2 -0
  45. package/lib/azure-containerregistry/lib/index.js +19 -0
  46. package/lib/azure-containerregistry/test/container-registry.integ.d.ts +9 -0
  47. package/lib/azure-containerregistry/test/container-registry.integ.js +101 -0
  48. package/lib/azure-containerregistry/test/container-registry.spec.d.ts +4 -0
  49. package/lib/azure-containerregistry/test/container-registry.spec.js +425 -0
  50. package/lib/azure-cosmosdb/index.d.ts +1 -0
  51. package/lib/azure-cosmosdb/index.js +18 -0
  52. package/lib/azure-cosmosdb/lib/cosmos-db-schemas.d.ts +40 -0
  53. package/lib/azure-cosmosdb/lib/cosmos-db-schemas.js +330 -0
  54. package/lib/azure-cosmosdb/lib/cosmos-db.d.ts +290 -0
  55. package/lib/azure-cosmosdb/lib/cosmos-db.js +222 -0
  56. package/lib/azure-cosmosdb/lib/index.d.ts +2 -0
  57. package/lib/azure-cosmosdb/lib/index.js +19 -0
  58. package/lib/azure-cosmosdb/test/cosmos-db.integ.d.ts +9 -0
  59. package/lib/azure-cosmosdb/test/cosmos-db.integ.js +98 -0
  60. package/lib/azure-cosmosdb/test/cosmos-db.spec.d.ts +4 -0
  61. package/lib/azure-cosmosdb/test/cosmos-db.spec.js +339 -0
  62. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +1 -1
  63. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +1 -1
  64. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +1 -1
  65. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +1 -1
  66. package/lib/azure-dnsresolver/lib/dns-resolver.js +1 -1
  67. package/lib/azure-dnsresolver/lib/inbound-endpoint.js +1 -1
  68. package/lib/azure-dnsresolver/lib/outbound-endpoint.js +1 -1
  69. package/lib/azure-dnszone/lib/dns-zone.js +1 -1
  70. package/lib/azure-dnszone/lib/records/dns-records.js +10 -10
  71. package/lib/azure-functionapp/index.d.ts +1 -0
  72. package/lib/azure-functionapp/index.js +18 -0
  73. package/lib/azure-functionapp/lib/function-app-schemas.d.ts +32 -0
  74. package/lib/azure-functionapp/lib/function-app-schemas.js +303 -0
  75. package/lib/azure-functionapp/lib/function-app.d.ts +367 -0
  76. package/lib/azure-functionapp/lib/function-app.js +223 -0
  77. package/lib/azure-functionapp/lib/index.d.ts +2 -0
  78. package/lib/azure-functionapp/lib/index.js +19 -0
  79. package/lib/azure-functionapp/test/function-app.integ.d.ts +12 -0
  80. package/lib/azure-functionapp/test/function-app.integ.js +134 -0
  81. package/lib/azure-functionapp/test/function-app.spec.d.ts +4 -0
  82. package/lib/azure-functionapp/test/function-app.spec.js +566 -0
  83. package/lib/azure-keyvault/index.d.ts +1 -0
  84. package/lib/azure-keyvault/index.js +18 -0
  85. package/lib/azure-keyvault/lib/index.d.ts +2 -0
  86. package/lib/azure-keyvault/lib/index.js +19 -0
  87. package/lib/azure-keyvault/lib/key-vault-schemas.d.ts +40 -0
  88. package/lib/azure-keyvault/lib/key-vault-schemas.js +312 -0
  89. package/lib/azure-keyvault/lib/key-vault.d.ts +344 -0
  90. package/lib/azure-keyvault/lib/key-vault.js +243 -0
  91. package/lib/azure-keyvault/test/key-vault.integ.d.ts +9 -0
  92. package/lib/azure-keyvault/test/key-vault.integ.js +108 -0
  93. package/lib/azure-keyvault/test/key-vault.spec.d.ts +4 -0
  94. package/lib/azure-keyvault/test/key-vault.spec.js +264 -0
  95. package/lib/azure-loganalyticsworkspace/index.d.ts +6 -0
  96. package/lib/azure-loganalyticsworkspace/index.js +23 -0
  97. package/lib/azure-loganalyticsworkspace/lib/index.d.ts +5 -0
  98. package/lib/azure-loganalyticsworkspace/lib/index.js +22 -0
  99. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.d.ts +51 -0
  100. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.js +255 -0
  101. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.d.ts +301 -0
  102. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +213 -0
  103. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +9 -0
  104. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +71 -0
  105. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.d.ts +8 -0
  106. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +504 -0
  107. package/lib/azure-metricalert/lib/metric-alert.js +1 -1
  108. package/lib/azure-networkinterface/lib/network-interface.js +1 -1
  109. package/lib/azure-networksecuritygroup/lib/network-security-group.js +1 -1
  110. package/lib/azure-networkwatcher/index.d.ts +14 -0
  111. package/lib/azure-networkwatcher/index.js +31 -0
  112. package/lib/azure-networkwatcher/lib/index.d.ts +5 -0
  113. package/lib/azure-networkwatcher/lib/index.js +22 -0
  114. package/lib/azure-networkwatcher/lib/network-watcher-schemas.d.ts +47 -0
  115. package/lib/azure-networkwatcher/lib/network-watcher-schemas.js +167 -0
  116. package/lib/azure-networkwatcher/lib/network-watcher.d.ts +181 -0
  117. package/lib/azure-networkwatcher/lib/network-watcher.js +187 -0
  118. package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +12 -0
  119. package/lib/azure-networkwatcher/test/network-watcher.integ.js +84 -0
  120. package/lib/azure-networkwatcher/test/network-watcher.spec.d.ts +8 -0
  121. package/lib/azure-networkwatcher/test/network-watcher.spec.js +312 -0
  122. package/lib/azure-policyassignment/lib/policy-assignment.js +1 -1
  123. package/lib/azure-policydefinition/lib/policy-definition.js +1 -1
  124. package/lib/azure-policysetdefinition/index.d.ts +10 -0
  125. package/lib/azure-policysetdefinition/index.js +27 -0
  126. package/lib/azure-policysetdefinition/lib/index.d.ts +5 -0
  127. package/lib/azure-policysetdefinition/lib/index.js +22 -0
  128. package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.d.ts +50 -0
  129. package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.js +255 -0
  130. package/lib/azure-policysetdefinition/lib/policy-set-definition.d.ts +426 -0
  131. package/lib/azure-policysetdefinition/lib/policy-set-definition.js +255 -0
  132. package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +9 -0
  133. package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +56 -0
  134. package/lib/azure-policysetdefinition/test/policy-set-definition.spec.d.ts +8 -0
  135. package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +745 -0
  136. package/lib/azure-privatednszone/lib/private-dns-zone.js +1 -1
  137. package/lib/azure-privatednszone/lib/records/private-dns-records.js +8 -8
  138. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +1 -1
  139. package/lib/azure-publicipaddress/lib/public-ip-address.js +1 -1
  140. package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
  141. package/lib/azure-roleassignment/lib/role-assignment.js +1 -1
  142. package/lib/azure-roledefinition/lib/role-definition.js +1 -1
  143. package/lib/azure-sreagent/index.d.ts +1 -0
  144. package/lib/azure-sreagent/index.js +18 -0
  145. package/lib/azure-sreagent/lib/index.d.ts +2 -0
  146. package/lib/azure-sreagent/lib/index.js +19 -0
  147. package/lib/azure-sreagent/lib/sre-agent-schemas.d.ts +29 -0
  148. package/lib/azure-sreagent/lib/sre-agent-schemas.js +296 -0
  149. package/lib/azure-sreagent/lib/sre-agent.d.ts +208 -0
  150. package/lib/azure-sreagent/lib/sre-agent.js +217 -0
  151. package/lib/azure-sreagent/test/sre-agent.integ.d.ts +9 -0
  152. package/lib/azure-sreagent/test/sre-agent.integ.js +78 -0
  153. package/lib/azure-sreagent/test/sre-agent.spec.d.ts +4 -0
  154. package/lib/azure-sreagent/test/sre-agent.spec.js +216 -0
  155. package/lib/azure-staticwebapp/index.d.ts +1 -0
  156. package/lib/azure-staticwebapp/index.js +18 -0
  157. package/lib/azure-staticwebapp/lib/index.d.ts +2 -0
  158. package/lib/azure-staticwebapp/lib/index.js +19 -0
  159. package/lib/azure-staticwebapp/lib/static-web-app-schemas.d.ts +40 -0
  160. package/lib/azure-staticwebapp/lib/static-web-app-schemas.js +236 -0
  161. package/lib/azure-staticwebapp/lib/static-web-app.d.ts +242 -0
  162. package/lib/azure-staticwebapp/lib/static-web-app.js +232 -0
  163. package/lib/azure-staticwebapp/test/static-web-app.integ.d.ts +9 -0
  164. package/lib/azure-staticwebapp/test/static-web-app.integ.js +76 -0
  165. package/lib/azure-staticwebapp/test/static-web-app.spec.d.ts +15 -0
  166. package/lib/azure-staticwebapp/test/static-web-app.spec.js +293 -0
  167. package/lib/azure-storageaccount/lib/storage-account.js +1 -1
  168. package/lib/azure-subnet/lib/subnet.js +1 -1
  169. package/lib/azure-virtualmachine/lib/virtual-machine.js +1 -1
  170. package/lib/azure-virtualnetwork/lib/virtual-network.js +1 -1
  171. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.js +2 -2
  172. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +4 -2
  173. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +8 -5
  174. package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +109 -1
  175. package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +1 -1
  176. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
  177. package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +1 -1
  178. package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +1 -1
  179. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +1 -1
  180. package/lib/azure-virtualnetworkmanager/lib/network-group.js +1 -1
  181. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +1 -1
  182. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +1 -1
  183. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +1 -1
  184. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +1 -1
  185. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +1 -1
  186. package/lib/core-azure/lib/azapi/azapi-resource.js +2 -2
  187. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
  188. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
  189. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +1 -1
  190. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
  191. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
  192. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
  193. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
  194. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  195. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  196. package/lib/index.d.ts +25 -0
  197. package/lib/index.js +27 -2
  198. package/lib/testing/index.js +2 -2
  199. package/lib/testing/lib/cleanup.js +1 -1
  200. package/lib/testing/lib/metadata.js +1 -1
  201. package/package.json +1 -1
@@ -0,0 +1,40 @@
1
+ /**
2
+ * API schemas for Azure Cosmos DB Database Account across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.DocumentDB/databaseAccounts
5
+ * across all supported API versions. The schemas are used by the VersionedAzapiResource
6
+ * framework for validation, transformation, and version management.
7
+ */
8
+ import { ApiSchema, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
9
+ /**
10
+ * API Schema for Cosmos DB Account version 2023-11-15
11
+ */
12
+ export declare const COSMOS_DB_SCHEMA_2023_11_15: ApiSchema;
13
+ /**
14
+ * API Schema for Cosmos DB Account version 2024-05-15
15
+ */
16
+ export declare const COSMOS_DB_SCHEMA_2024_05_15: ApiSchema;
17
+ /**
18
+ * API Schema for Cosmos DB Account version 2024-08-15
19
+ */
20
+ export declare const COSMOS_DB_SCHEMA_2024_08_15: ApiSchema;
21
+ /**
22
+ * Version configuration for Cosmos DB Account 2023-11-15
23
+ */
24
+ export declare const COSMOS_DB_VERSION_2023_11_15: VersionConfig;
25
+ /**
26
+ * Version configuration for Cosmos DB Account 2024-05-15
27
+ */
28
+ export declare const COSMOS_DB_VERSION_2024_05_15: VersionConfig;
29
+ /**
30
+ * Version configuration for Cosmos DB Account 2024-08-15
31
+ */
32
+ export declare const COSMOS_DB_VERSION_2024_08_15: VersionConfig;
33
+ /**
34
+ * All supported Cosmos DB Account versions for registration
35
+ */
36
+ export declare const ALL_COSMOS_DB_VERSIONS: VersionConfig[];
37
+ /**
38
+ * Resource type constant
39
+ */
40
+ export declare const COSMOS_DB_TYPE = "Microsoft.DocumentDB/databaseAccounts";
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure Cosmos DB Database Account across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.DocumentDB/databaseAccounts
6
+ * across all supported API versions. The schemas are used by the VersionedAzapiResource
7
+ * framework for validation, transformation, and version management.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.COSMOS_DB_TYPE = exports.ALL_COSMOS_DB_VERSIONS = exports.COSMOS_DB_VERSION_2024_08_15 = exports.COSMOS_DB_VERSION_2024_05_15 = exports.COSMOS_DB_VERSION_2023_11_15 = exports.COSMOS_DB_SCHEMA_2024_08_15 = exports.COSMOS_DB_SCHEMA_2024_05_15 = exports.COSMOS_DB_SCHEMA_2023_11_15 = void 0;
11
+ const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
12
+ // =============================================================================
13
+ // COMMON PROPERTY DEFINITIONS
14
+ // =============================================================================
15
+ /**
16
+ * Common property definitions shared across all Cosmos DB Account versions
17
+ */
18
+ const COMMON_PROPERTIES = {
19
+ location: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ description: "The Azure region where the Cosmos DB Account will be created",
23
+ validation: [
24
+ {
25
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
26
+ message: "Location is required for Cosmos DB Accounts",
27
+ },
28
+ {
29
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
30
+ value: "^[a-z0-9]+$",
31
+ message: "Location must contain only lowercase letters and numbers",
32
+ },
33
+ ],
34
+ },
35
+ tags: {
36
+ dataType: version_interfaces_1.PropertyType.OBJECT,
37
+ required: false,
38
+ defaultValue: {},
39
+ description: "A dictionary of tags to apply to the Cosmos DB Account",
40
+ validation: [
41
+ {
42
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
43
+ value: version_interfaces_1.PropertyType.OBJECT,
44
+ message: "Tags must be an object with string key-value pairs",
45
+ },
46
+ ],
47
+ },
48
+ name: {
49
+ dataType: version_interfaces_1.PropertyType.STRING,
50
+ required: true,
51
+ description: "The name of the Cosmos DB Account. Must be globally unique across Azure (3-44 lowercase letters, numbers, and hyphens)",
52
+ validation: [
53
+ {
54
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
55
+ message: "Cosmos DB Account name is required",
56
+ },
57
+ {
58
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
59
+ value: "^[a-z0-9]([a-z0-9-]{1,42}[a-z0-9])?$",
60
+ message: "Cosmos DB Account name must be 3-44 characters of lowercase letters, numbers, and hyphens (cannot start or end with a hyphen)",
61
+ },
62
+ ],
63
+ },
64
+ kind: {
65
+ dataType: version_interfaces_1.PropertyType.STRING,
66
+ required: false,
67
+ defaultValue: "GlobalDocumentDB",
68
+ description: "The kind of Cosmos DB Account (GlobalDocumentDB, MongoDB, Parse)",
69
+ validation: [
70
+ {
71
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
72
+ value: "^(GlobalDocumentDB|MongoDB|Parse)$",
73
+ message: "Kind must be GlobalDocumentDB, MongoDB, or Parse",
74
+ },
75
+ ],
76
+ },
77
+ databaseAccountOfferType: {
78
+ dataType: version_interfaces_1.PropertyType.STRING,
79
+ required: false,
80
+ defaultValue: "Standard",
81
+ description: "The offer type for the Cosmos DB Account (Standard)",
82
+ },
83
+ consistencyPolicy: {
84
+ dataType: version_interfaces_1.PropertyType.OBJECT,
85
+ required: false,
86
+ description: "The consistency policy for the Cosmos DB Account",
87
+ },
88
+ geoLocations: {
89
+ dataType: version_interfaces_1.PropertyType.ARRAY,
90
+ required: false,
91
+ description: "Geo-replication locations for the Cosmos DB Account",
92
+ },
93
+ capabilities: {
94
+ dataType: version_interfaces_1.PropertyType.ARRAY,
95
+ required: false,
96
+ description: "Capabilities to enable on the Cosmos DB Account (e.g. EnableServerless, EnableCassandra, EnableTable, EnableGremlin)",
97
+ },
98
+ publicNetworkAccess: {
99
+ dataType: version_interfaces_1.PropertyType.STRING,
100
+ required: false,
101
+ defaultValue: "Enabled",
102
+ description: "Whether public network access is enabled (Enabled, Disabled)",
103
+ validation: [
104
+ {
105
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
106
+ value: "^(Enabled|Disabled)$",
107
+ message: "publicNetworkAccess must be Enabled or Disabled",
108
+ },
109
+ ],
110
+ },
111
+ enableAutomaticFailover: {
112
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
113
+ required: false,
114
+ defaultValue: false,
115
+ description: "Whether automatic failover is enabled",
116
+ },
117
+ enableMultipleWriteLocations: {
118
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
119
+ required: false,
120
+ defaultValue: false,
121
+ description: "Whether multi-region writes are enabled",
122
+ },
123
+ enableFreeTier: {
124
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
125
+ required: false,
126
+ defaultValue: false,
127
+ description: "Whether the free tier is enabled for the account",
128
+ },
129
+ isVirtualNetworkFilterEnabled: {
130
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
131
+ required: false,
132
+ defaultValue: false,
133
+ description: "Whether virtual network filtering is enabled",
134
+ },
135
+ minimalTlsVersion: {
136
+ dataType: version_interfaces_1.PropertyType.STRING,
137
+ required: false,
138
+ defaultValue: "Tls12",
139
+ description: "The minimum TLS version for the Cosmos DB Account (Tls, Tls11, Tls12)",
140
+ },
141
+ backupPolicy: {
142
+ dataType: version_interfaces_1.PropertyType.OBJECT,
143
+ required: false,
144
+ description: "The backup policy configuration for the Cosmos DB Account",
145
+ },
146
+ identity: {
147
+ dataType: version_interfaces_1.PropertyType.OBJECT,
148
+ required: false,
149
+ description: "Managed identity configuration for the Cosmos DB Account",
150
+ },
151
+ ignoreChanges: {
152
+ dataType: version_interfaces_1.PropertyType.ARRAY,
153
+ required: false,
154
+ description: "Array of property names to ignore during updates",
155
+ validation: [
156
+ {
157
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
158
+ value: version_interfaces_1.PropertyType.ARRAY,
159
+ message: "IgnoreChanges must be an array of strings",
160
+ },
161
+ ],
162
+ },
163
+ };
164
+ const COMMON_REQUIRED = ["location", "name"];
165
+ const COMMON_OPTIONAL = [
166
+ "tags",
167
+ "kind",
168
+ "databaseAccountOfferType",
169
+ "consistencyPolicy",
170
+ "geoLocations",
171
+ "capabilities",
172
+ "publicNetworkAccess",
173
+ "enableAutomaticFailover",
174
+ "enableMultipleWriteLocations",
175
+ "enableFreeTier",
176
+ "isVirtualNetworkFilterEnabled",
177
+ "minimalTlsVersion",
178
+ "backupPolicy",
179
+ "identity",
180
+ "ignoreChanges",
181
+ ];
182
+ const COMMON_VALIDATION_RULES = [
183
+ {
184
+ property: "location",
185
+ rules: [
186
+ {
187
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
188
+ message: "Location is required for Cosmos DB Accounts",
189
+ },
190
+ ],
191
+ },
192
+ {
193
+ property: "name",
194
+ rules: [
195
+ {
196
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
197
+ message: "Name is required for Cosmos DB Accounts",
198
+ },
199
+ ],
200
+ },
201
+ ];
202
+ // =============================================================================
203
+ // VERSION-SPECIFIC SCHEMAS
204
+ // =============================================================================
205
+ /**
206
+ * API Schema for Cosmos DB Account version 2023-11-15
207
+ */
208
+ exports.COSMOS_DB_SCHEMA_2023_11_15 = {
209
+ resourceType: "Microsoft.DocumentDB/databaseAccounts",
210
+ version: "2023-11-15",
211
+ properties: {
212
+ ...COMMON_PROPERTIES,
213
+ },
214
+ required: [...COMMON_REQUIRED],
215
+ optional: [...COMMON_OPTIONAL],
216
+ deprecated: [],
217
+ transformationRules: {},
218
+ validationRules: [...COMMON_VALIDATION_RULES],
219
+ };
220
+ /**
221
+ * API Schema for Cosmos DB Account version 2024-05-15
222
+ */
223
+ exports.COSMOS_DB_SCHEMA_2024_05_15 = {
224
+ resourceType: "Microsoft.DocumentDB/databaseAccounts",
225
+ version: "2024-05-15",
226
+ properties: {
227
+ ...COMMON_PROPERTIES,
228
+ },
229
+ required: [...COMMON_REQUIRED],
230
+ optional: [...COMMON_OPTIONAL],
231
+ deprecated: [],
232
+ transformationRules: {},
233
+ validationRules: [...COMMON_VALIDATION_RULES],
234
+ };
235
+ /**
236
+ * API Schema for Cosmos DB Account version 2024-08-15
237
+ */
238
+ exports.COSMOS_DB_SCHEMA_2024_08_15 = {
239
+ resourceType: "Microsoft.DocumentDB/databaseAccounts",
240
+ version: "2024-08-15",
241
+ properties: {
242
+ ...COMMON_PROPERTIES,
243
+ },
244
+ required: [...COMMON_REQUIRED],
245
+ optional: [...COMMON_OPTIONAL],
246
+ deprecated: [],
247
+ transformationRules: {},
248
+ validationRules: [...COMMON_VALIDATION_RULES],
249
+ };
250
+ // =============================================================================
251
+ // VERSION CONFIGURATIONS
252
+ // =============================================================================
253
+ /**
254
+ * Version configuration for Cosmos DB Account 2023-11-15
255
+ */
256
+ exports.COSMOS_DB_VERSION_2023_11_15 = {
257
+ version: "2023-11-15",
258
+ schema: exports.COSMOS_DB_SCHEMA_2023_11_15,
259
+ supportLevel: version_interfaces_1.VersionSupportLevel.DEPRECATED,
260
+ releaseDate: "2023-11-15",
261
+ deprecationDate: "2024-08-15",
262
+ sunsetDate: undefined,
263
+ breakingChanges: [],
264
+ migrationGuide: "/docs/cosmos-db/migration-2023-11-15",
265
+ changeLog: [
266
+ {
267
+ changeType: "deprecated",
268
+ description: "This version is deprecated. Please migrate to 2024-08-15 for continued support.",
269
+ breaking: false,
270
+ },
271
+ {
272
+ changeType: "added",
273
+ description: "Stable release of Cosmos DB databaseAccounts API",
274
+ breaking: false,
275
+ },
276
+ ],
277
+ };
278
+ /**
279
+ * Version configuration for Cosmos DB Account 2024-05-15
280
+ */
281
+ exports.COSMOS_DB_VERSION_2024_05_15 = {
282
+ version: "2024-05-15",
283
+ schema: exports.COSMOS_DB_SCHEMA_2024_05_15,
284
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
285
+ releaseDate: "2024-05-15",
286
+ deprecationDate: undefined,
287
+ sunsetDate: undefined,
288
+ breakingChanges: [],
289
+ migrationGuide: "/docs/cosmos-db/migration-2024-05-15",
290
+ changeLog: [
291
+ {
292
+ changeType: "updated",
293
+ description: "Adds additional capabilities and continuous backup improvements.",
294
+ breaking: false,
295
+ },
296
+ ],
297
+ };
298
+ /**
299
+ * Version configuration for Cosmos DB Account 2024-08-15
300
+ */
301
+ exports.COSMOS_DB_VERSION_2024_08_15 = {
302
+ version: "2024-08-15",
303
+ schema: exports.COSMOS_DB_SCHEMA_2024_08_15,
304
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
305
+ releaseDate: "2024-08-15",
306
+ deprecationDate: undefined,
307
+ sunsetDate: undefined,
308
+ breakingChanges: [],
309
+ migrationGuide: "/docs/cosmos-db/migration-2024-08-15",
310
+ changeLog: [
311
+ {
312
+ changeType: "updated",
313
+ description: "Latest API version with improved performance, security, and features.",
314
+ breaking: false,
315
+ },
316
+ ],
317
+ };
318
+ /**
319
+ * All supported Cosmos DB Account versions for registration
320
+ */
321
+ exports.ALL_COSMOS_DB_VERSIONS = [
322
+ exports.COSMOS_DB_VERSION_2023_11_15,
323
+ exports.COSMOS_DB_VERSION_2024_05_15,
324
+ exports.COSMOS_DB_VERSION_2024_08_15,
325
+ ];
326
+ /**
327
+ * Resource type constant
328
+ */
329
+ exports.COSMOS_DB_TYPE = "Microsoft.DocumentDB/databaseAccounts";
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zbW9zLWRiLXNjaGVtYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtY29zbW9zZGIvbGliL2Nvc21vcy1kYi1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJHQU80RTtBQUU1RSxnRkFBZ0Y7QUFDaEYsOEJBQThCO0FBQzlCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQTBDO0lBQy9ELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsOERBQThEO1FBQzNFLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO2dCQUNyQyxPQUFPLEVBQUUsNkNBQTZDO2FBQ3ZEO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLGFBQWE7Z0JBQzFDLEtBQUssRUFBRSxhQUFhO2dCQUNwQixPQUFPLEVBQUUsMERBQTBEO2FBQ3BFO1NBQ0Y7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixZQUFZLEVBQUUsRUFBRTtRQUNoQixXQUFXLEVBQUUsd0RBQXdEO1FBQ3JFLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxVQUFVO2dCQUN2QyxLQUFLLEVBQUUsaUNBQVksQ0FBQyxNQUFNO2dCQUMxQixPQUFPLEVBQUUsb0RBQW9EO2FBQzlEO1NBQ0Y7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQ1Qsd0hBQXdIO1FBQzFILFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FB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Q0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBb0I7SUFDckQsb0NBQTRCO0lBQzVCLG9DQUE0QjtJQUM1QixvQ0FBNEI7Q0FDN0IsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxjQUFjLEdBQUcsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBDb3Ntb3MgREIgRGF0YWJhc2UgQWNjb3VudCBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0LkRvY3VtZW50REIvZGF0YWJhc2VBY2NvdW50c1xuICogYWNyb3NzIGFsbCBzdXBwb3J0ZWQgQVBJIHZlcnNpb25zLiBUaGUgc2NoZW1hcyBhcmUgdXNlZCBieSB0aGUgVmVyc2lvbmVkQXphcGlSZXNvdXJjZVxuICogZnJhbWV3b3JrIGZvciB2YWxpZGF0aW9uLCB0cmFuc2Zvcm1hdGlvbiwgYW5kIHZlcnNpb24gbWFuYWdlbWVudC5cbiAqL1xuXG5pbXBvcnQge1xuICBBcGlTY2hlbWEsXG4gIFByb3BlcnR5RGVmaW5pdGlvbixcbiAgUHJvcGVydHlUeXBlLFxuICBWYWxpZGF0aW9uUnVsZVR5cGUsXG4gIFZlcnNpb25Db25maWcsXG4gIFZlcnNpb25TdXBwb3J0TGV2ZWwsXG59IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTU1PTiBQUk9QRVJUWSBERUZJTklUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydHkgZGVmaW5pdGlvbnMgc2hhcmVkIGFjcm9zcyBhbGwgQ29zbW9zIERCIEFjY291bnQgdmVyc2lvbnNcbiAqL1xuY29uc3QgQ09NTU9OX1BST1BFUlRJRVM6IHsgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uIH0gPSB7XG4gIGxvY2F0aW9uOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIEF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgQ29zbW9zIERCIEFjY291bnQgd2lsbCBiZSBjcmVhdGVkXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIkxvY2F0aW9uIGlzIHJlcXVpcmVkIGZvciBDb3Ntb3MgREIgQWNjb3VudHNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXowLTldKyRcIixcbiAgICAgICAgbWVzc2FnZTogXCJMb2NhdGlvbiBtdXN0IGNvbnRhaW4gb25seSBsb3dlcmNhc2UgbGV0dGVycyBhbmQgbnVtYmVyc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB0YWdzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZToge30sXG4gICAgZGVzY3JpcHRpb246IFwiQSBkaWN0aW9uYXJ5IG9mIHRhZ3MgdG8gYXBwbHkgdG8gdGhlIENvc21vcyBEQiBBY2NvdW50XCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgICAgICBtZXNzYWdlOiBcIlRhZ3MgbXVzdCBiZSBhbiBvYmplY3Qgd2l0aCBzdHJpbmcga2V5LXZhbHVlIHBhaXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIG5hbWUgb2YgdGhlIENvc21vcyBEQiBBY2NvdW50LiBNdXN0IGJlIGdsb2JhbGx5IHVuaXF1ZSBhY3Jvc3MgQXp1cmUgKDMtNDQgbG93ZXJjYXNlIGxldHRlcnMsIG51bWJlcnMsIGFuZCBoeXBoZW5zKVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJDb3Ntb3MgREIgQWNjb3VudCBuYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl5bYS16MC05XShbYS16MC05LV17MSw0Mn1bYS16MC05XSk/JFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiQ29zbW9zIERCIEFjY291bnQgbmFtZSBtdXN0IGJlIDMtNDQgY2hhcmFjdGVycyBvZiBsb3dlcmNhc2UgbGV0dGVycywgbnVtYmVycywgYW5kIGh5cGhlbnMgKGNhbm5vdCBzdGFydCBvciBlbmQgd2l0aCBhIGh5cGhlbilcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAga2luZDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IFwiR2xvYmFsRG9jdW1lbnREQlwiLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUga2luZCBvZiBDb3Ntb3MgREIgQWNjb3VudCAoR2xvYmFsRG9jdW1lbnREQiwgTW9uZ29EQiwgUGFyc2UpXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl4oR2xvYmFsRG9jdW1lbnREQnxNb25nb0RCfFBhcnNlKSRcIixcbiAgICAgICAgbWVzc2FnZTogXCJLaW5kIG11c3QgYmUgR2xvYmFsRG9jdW1lbnREQiwgTW9uZ29EQiwgb3IgUGFyc2VcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgZGF0YWJhc2VBY2NvdW50T2ZmZXJUeXBlOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogXCJTdGFuZGFyZFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBvZmZlciB0eXBlIGZvciB0aGUgQ29zbW9zIERCIEFjY291bnQgKFN0YW5kYXJkKVwiLFxuICB9LFxuICBjb25zaXN0ZW5jeVBvbGljeToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJUaGUgY29uc2lzdGVuY3kgcG9saWN5IGZvciB0aGUgQ29zbW9zIERCIEFjY291bnRcIixcbiAgfSxcbiAgZ2VvTG9jYXRpb25zOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiR2VvLXJlcGxpY2F0aW9uIGxvY2F0aW9ucyBmb3IgdGhlIENvc21vcyBEQiBBY2NvdW50XCIsXG4gIH0sXG4gIGNhcGFiaWxpdGllczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJDYXBhYmlsaXRpZXMgdG8gZW5hYmxlIG9uIHRoZSBDb3Ntb3MgREIgQWNjb3VudCAoZS5nLiBFbmFibGVTZXJ2ZXJsZXNzLCBFbmFibGVDYXNzYW5kcmEsIEVuYWJsZVRhYmxlLCBFbmFibGVHcmVtbGluKVwiLFxuICB9LFxuICBwdWJsaWNOZXR3b3JrQWNjZXNzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogXCJFbmFibGVkXCIsXG4gICAgZGVzY3JpcHRpb246IFwiV2hldGhlciBwdWJsaWMgbmV0d29yayBhY2Nlc3MgaXMgZW5hYmxlZCAoRW5hYmxlZCwgRGlzYWJsZWQpXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl4oRW5hYmxlZHxEaXNhYmxlZCkkXCIsXG4gICAgICAgIG1lc3NhZ2U6IFwicHVibGljTmV0d29ya0FjY2VzcyBtdXN0IGJlIEVuYWJsZWQgb3IgRGlzYWJsZWRcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgZW5hYmxlQXV0b21hdGljRmFpbG92ZXI6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiV2hldGhlciBhdXRvbWF0aWMgZmFpbG92ZXIgaXMgZW5hYmxlZFwiLFxuICB9LFxuICBlbmFibGVNdWx0aXBsZVdyaXRlTG9jYXRpb25zOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5CT09MRUFOLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgbXVsdGktcmVnaW9uIHdyaXRlcyBhcmUgZW5hYmxlZFwiLFxuICB9LFxuICBlbmFibGVGcmVlVGllcjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQk9PTEVBTixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHRoZSBmcmVlIHRpZXIgaXMgZW5hYmxlZCBmb3IgdGhlIGFjY291bnRcIixcbiAgfSxcbiAgaXNWaXJ0dWFsTmV0d29ya0ZpbHRlckVuYWJsZWQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiV2hldGhlciB2aXJ0dWFsIG5ldHdvcmsgZmlsdGVyaW5nIGlzIGVuYWJsZWRcIixcbiAgfSxcbiAgbWluaW1hbFRsc1ZlcnNpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBcIlRsczEyXCIsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBtaW5pbXVtIFRMUyB2ZXJzaW9uIGZvciB0aGUgQ29zbW9zIERCIEFjY291bnQgKFRscywgVGxzMTEsIFRsczEyKVwiLFxuICB9LFxuICBiYWNrdXBQb2xpY3k6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIGJhY2t1cCBwb2xpY3kgY29uZmlndXJhdGlvbiBmb3IgdGhlIENvc21vcyBEQiBBY2NvdW50XCIsXG4gIH0sXG4gIGlkZW50aXR5OiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIk1hbmFnZWQgaWRlbnRpdHkgY29uZmlndXJhdGlvbiBmb3IgdGhlIENvc21vcyBEQiBBY2NvdW50XCIsXG4gIH0sXG4gIGlnbm9yZUNoYW5nZXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJBcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyB0byBpZ25vcmUgZHVyaW5nIHVwZGF0ZXNcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICAgICAgbWVzc2FnZTogXCJJZ25vcmVDaGFuZ2VzIG11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5nc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuY29uc3QgQ09NTU9OX1JFUVVJUkVEID0gW1wibG9jYXRpb25cIiwgXCJuYW1lXCJdO1xuXG5jb25zdCBDT01NT05fT1BUSU9OQUwgPSBbXG4gIFwidGFnc1wiLFxuICBcImtpbmRcIixcbiAgXCJkYXRhYmFzZUFjY291bnRPZmZlclR5cGVcIixcbiAgXCJjb25zaXN0ZW5jeVBvbGljeVwiLFxuICBcImdlb0xvY2F0aW9uc1wiLFxuICBcImNhcGFiaWxpdGllc1wiLFxuICBcInB1YmxpY05ldHdvcmtBY2Nlc3NcIixcbiAgXCJlbmFibGVBdXRvbWF0aWNGYWlsb3ZlclwiLFxuICBcImVuYWJsZU11bHRpcGxlV3JpdGVMb2NhdGlvbnNcIixcbiAgXCJlbmFibGVGcmVlVGllclwiLFxuICBcImlzVmlydHVhbE5ldHdvcmtGaWx0ZXJFbmFibGVkXCIsXG4gIFwibWluaW1hbFRsc1ZlcnNpb25cIixcbiAgXCJiYWNrdXBQb2xpY3lcIixcbiAgXCJpZGVudGl0eVwiLFxuICBcImlnbm9yZUNoYW5nZXNcIixcbl07XG5cbmNvbnN0IENPTU1PTl9WQUxJREFUSU9OX1JVTEVTID0gW1xuICB7XG4gICAgcHJvcGVydHk6IFwibG9jYXRpb25cIixcbiAgICBydWxlczogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIkxvY2F0aW9uIGlzIHJlcXVpcmVkIGZvciBDb3Ntb3MgREIgQWNjb3VudHNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIHByb3BlcnR5OiBcIm5hbWVcIixcbiAgICBydWxlczogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIk5hbWUgaXMgcmVxdWlyZWQgZm9yIENvc21vcyBEQiBBY2NvdW50c1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuXTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04tU1BFQ0lGSUMgU0NIRU1BU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZvciBDb3Ntb3MgREIgQWNjb3VudCB2ZXJzaW9uIDIwMjMtMTEtMTVcbiAqL1xuZXhwb3J0IGNvbnN0IENPU01PU19EQl9TQ0hFTUFfMjAyM18xMV8xNTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0LkRvY3VtZW50REIvZGF0YWJhc2VBY2NvdW50c1wiLFxuICB2ZXJzaW9uOiBcIjIwMjMtMTEtMTVcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogWy4uLkNPTU1PTl9SRVFVSVJFRF0sXG4gIG9wdGlvbmFsOiBbLi4uQ09NTU9OX09QVElPTkFMXSxcbiAgZGVwcmVjYXRlZDogW10sXG4gIHRyYW5zZm9ybWF0aW9uUnVsZXM6IHt9LFxuICB2YWxpZGF0aW9uUnVsZXM6IFsuLi5DT01NT05fVkFMSURBVElPTl9SVUxFU10sXG59O1xuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIENvc21vcyBEQiBBY2NvdW50IHZlcnNpb24gMjAyNC0wNS0xNVxuICovXG5leHBvcnQgY29uc3QgQ09TTU9TX0RCX1NDSEVNQV8yMDI0XzA1XzE1OiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuRG9jdW1lbnREQi9kYXRhYmFzZUFjY291bnRzXCIsXG4gIHZlcnNpb246IFwiMjAyNC0wNS0xNVwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLi4uQ09NTU9OX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbLi4uQ09NTU9OX1JFUVVJUkVEXSxcbiAgb3B0aW9uYWw6IFsuLi5DT01NT05fT1BUSU9OQUxdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogWy4uLkNPTU1PTl9WQUxJREFUSU9OX1JVTEVTXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgQ29zbW9zIERCIEFjY291bnQgdmVyc2lvbiAyMDI0LTA4LTE1XG4gKi9cbmV4cG9ydCBjb25zdCBDT1NNT1NfREJfU0NIRU1BXzIwMjRfMDhfMTU6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5Eb2N1bWVudERCL2RhdGFiYXNlQWNjb3VudHNcIixcbiAgdmVyc2lvbjogXCIyMDI0LTA4LTE1XCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAuLi5DT01NT05fUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFsuLi5DT01NT05fUkVRVUlSRURdLFxuICBvcHRpb25hbDogWy4uLkNPTU1PTl9PUFRJT05BTF0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbLi4uQ09NTU9OX1ZBTElEQVRJT05fUlVMRVNdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBDb3Ntb3MgREIgQWNjb3VudCAyMDIzLTExLTE1XG4gKi9cbmV4cG9ydCBjb25zdCBDT1NNT1NfREJfVkVSU0lPTl8yMDIzXzExXzE1OiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjMtMTEtMTVcIixcbiAgc2NoZW1hOiBDT1NNT1NfREJfU0NIRU1BXzIwMjNfMTFfMTUsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5ERVBSRUNBVEVELFxuICByZWxlYXNlRGF0ZTogXCIyMDIzLTExLTE1XCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogXCIyMDI0LTA4LTE1XCIsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3MvY29zbW9zLWRiL21pZ3JhdGlvbi0yMDIzLTExLTE1XCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwiZGVwcmVjYXRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiVGhpcyB2ZXJzaW9uIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSBtaWdyYXRlIHRvIDIwMjQtMDgtMTUgZm9yIGNvbnRpbnVlZCBzdXBwb3J0LlwiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJhZGRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiU3RhYmxlIHJlbGVhc2Ugb2YgQ29zbW9zIERCIGRhdGFiYXNlQWNjb3VudHMgQVBJXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBDb3Ntb3MgREIgQWNjb3VudCAyMDI0LTA1LTE1XG4gKi9cbmV4cG9ydCBjb25zdCBDT1NNT1NfREJfVkVSU0lPTl8yMDI0XzA1XzE1OiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjQtMDUtMTVcIixcbiAgc2NoZW1hOiBDT1NNT1NfREJfU0NIRU1BXzIwMjRfMDVfMTUsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gIHJlbGVhc2VEYXRlOiBcIjIwMjQtMDUtMTVcIixcbiAgZGVwcmVjYXRpb25EYXRlOiB1bmRlZmluZWQsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3MvY29zbW9zLWRiL21pZ3JhdGlvbi0yMDI0LTA1LTE1XCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwidXBkYXRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiQWRkcyBhZGRpdGlvbmFsIGNhcGFiaWxpdGllcyBhbmQgY29udGludW91cyBiYWNrdXAgaW1wcm92ZW1lbnRzLlwiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgQ29zbW9zIERCIEFjY291bnQgMjAyNC0wOC0xNVxuICovXG5leHBvcnQgY29uc3QgQ09TTU9TX0RCX1ZFUlNJT05fMjAyNF8wOF8xNTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDI0LTA4LTE1XCIsXG4gIHNjaGVtYTogQ09TTU9TX0RCX1NDSEVNQV8yMDI0XzA4XzE1LFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTA4LTE1XCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL2Nvc21vcy1kYi9taWdyYXRpb24tMjAyNC0wOC0xNVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcInVwZGF0ZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkxhdGVzdCBBUEkgdmVyc2lvbiB3aXRoIGltcHJvdmVkIHBlcmZvcm1hbmNlLCBzZWN1cml0eSwgYW5kIGZlYXR1cmVzLlwiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIEFsbCBzdXBwb3J0ZWQgQ29zbW9zIERCIEFjY291bnQgdmVyc2lvbnMgZm9yIHJlZ2lzdHJhdGlvblxuICovXG5leHBvcnQgY29uc3QgQUxMX0NPU01PU19EQl9WRVJTSU9OUzogVmVyc2lvbkNvbmZpZ1tdID0gW1xuICBDT1NNT1NfREJfVkVSU0lPTl8yMDIzXzExXzE1LFxuICBDT1NNT1NfREJfVkVSU0lPTl8yMDI0XzA1XzE1LFxuICBDT1NNT1NfREJfVkVSU0lPTl8yMDI0XzA4XzE1LFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBDT1NNT1NfREJfVFlQRSA9IFwiTWljcm9zb2Z0LkRvY3VtZW50REIvZGF0YWJhc2VBY2NvdW50c1wiO1xuIl19