@microsoft/terraform-cdk-constructs 1.2.0 → 1.3.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 (291) hide show
  1. package/.jsii +54846 -26661
  2. package/API.md +72091 -23784
  3. package/lib/azure-actiongroup/index.d.ts +0 -10
  4. package/lib/azure-actiongroup/index.js +1 -11
  5. package/lib/azure-actiongroup/lib/action-group.d.ts +0 -10
  6. package/lib/azure-actiongroup/lib/action-group.js +6 -32
  7. package/lib/azure-actiongroup/lib/index.d.ts +1 -4
  8. package/lib/azure-actiongroup/lib/index.js +2 -5
  9. package/lib/azure-activitylogalert/index.d.ts +0 -10
  10. package/lib/azure-activitylogalert/index.js +1 -11
  11. package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +0 -10
  12. package/lib/azure-activitylogalert/lib/activity-log-alert.js +6 -32
  13. package/lib/azure-activitylogalert/lib/index.d.ts +1 -4
  14. package/lib/azure-activitylogalert/lib/index.js +2 -5
  15. package/lib/azure-aks/index.d.ts +0 -8
  16. package/lib/azure-aks/index.js +1 -11
  17. package/lib/azure-aks/lib/aks-cluster.d.ts +4 -13
  18. package/lib/azure-aks/lib/aks-cluster.js +13 -36
  19. package/lib/azure-aks/lib/index.d.ts +1 -10
  20. package/lib/azure-aks/lib/index.js +2 -21
  21. package/lib/azure-diagnosticsettings/index.d.ts +0 -6
  22. package/lib/azure-diagnosticsettings/index.js +1 -7
  23. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +0 -10
  24. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +6 -32
  25. package/lib/azure-diagnosticsettings/lib/index.d.ts +1 -7
  26. package/lib/azure-diagnosticsettings/lib/index.js +2 -8
  27. package/lib/azure-dnsforwardingruleset/index.d.ts +1 -0
  28. package/lib/azure-dnsforwardingruleset/index.js +18 -0
  29. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.d.ts +24 -0
  30. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.js +206 -0
  31. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +174 -0
  32. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +214 -0
  33. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.d.ts +24 -0
  34. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.js +242 -0
  35. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +193 -0
  36. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +193 -0
  37. package/lib/azure-dnsforwardingruleset/lib/index.d.ts +6 -0
  38. package/lib/azure-dnsforwardingruleset/lib/index.js +23 -0
  39. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.d.ts +24 -0
  40. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.js +199 -0
  41. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +160 -0
  42. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +178 -0
  43. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +9 -0
  44. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +133 -0
  45. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.d.ts +9 -0
  46. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +350 -0
  47. package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.d.ts +9 -0
  48. package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +397 -0
  49. package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.d.ts +9 -0
  50. package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +285 -0
  51. package/lib/azure-dnsresolver/index.d.ts +1 -0
  52. package/lib/azure-dnsresolver/index.js +18 -0
  53. package/lib/azure-dnsresolver/lib/dns-resolver-schemas.d.ts +24 -0
  54. package/lib/azure-dnsresolver/lib/dns-resolver-schemas.js +218 -0
  55. package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +170 -0
  56. package/lib/azure-dnsresolver/lib/dns-resolver.js +236 -0
  57. package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.d.ts +24 -0
  58. package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.js +261 -0
  59. package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +189 -0
  60. package/lib/azure-dnsresolver/lib/inbound-endpoint.js +243 -0
  61. package/lib/azure-dnsresolver/lib/index.d.ts +6 -0
  62. package/lib/azure-dnsresolver/lib/index.js +23 -0
  63. package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.d.ts +24 -0
  64. package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.js +231 -0
  65. package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +175 -0
  66. package/lib/azure-dnsresolver/lib/outbound-endpoint.js +234 -0
  67. package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +14 -0
  68. package/lib/azure-dnsresolver/test/dns-resolver.integ.js +117 -0
  69. package/lib/azure-dnsresolver/test/dns-resolver.spec.d.ts +9 -0
  70. package/lib/azure-dnsresolver/test/dns-resolver.spec.js +353 -0
  71. package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +9 -0
  72. package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +151 -0
  73. package/lib/azure-dnsresolver/test/inbound-endpoint.spec.d.ts +9 -0
  74. package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +441 -0
  75. package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +9 -0
  76. package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +149 -0
  77. package/lib/azure-dnsresolver/test/outbound-endpoint.spec.d.ts +9 -0
  78. package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +301 -0
  79. package/lib/azure-dnszone/index.d.ts +1 -0
  80. package/lib/azure-dnszone/index.js +18 -0
  81. package/lib/azure-dnszone/lib/dns-zone-schemas.d.ts +24 -0
  82. package/lib/azure-dnszone/lib/dns-zone-schemas.js +191 -0
  83. package/lib/azure-dnszone/lib/dns-zone.d.ts +182 -0
  84. package/lib/azure-dnszone/lib/dns-zone.js +228 -0
  85. package/lib/azure-dnszone/lib/index.d.ts +2 -0
  86. package/lib/azure-dnszone/lib/index.js +19 -0
  87. package/lib/azure-dnszone/test/dns-zone.integ.d.ts +9 -0
  88. package/lib/azure-dnszone/test/dns-zone.integ.js +85 -0
  89. package/lib/azure-dnszone/test/dns-zone.spec.d.ts +9 -0
  90. package/lib/azure-dnszone/test/dns-zone.spec.js +285 -0
  91. package/lib/azure-metricalert/index.d.ts +0 -10
  92. package/lib/azure-metricalert/index.js +1 -11
  93. package/lib/azure-metricalert/lib/index.d.ts +1 -4
  94. package/lib/azure-metricalert/lib/index.js +2 -5
  95. package/lib/azure-metricalert/lib/metric-alert.d.ts +0 -10
  96. package/lib/azure-metricalert/lib/metric-alert.js +6 -32
  97. package/lib/azure-networkinterface/index.d.ts +0 -3
  98. package/lib/azure-networkinterface/index.js +1 -4
  99. package/lib/azure-networkinterface/lib/index.d.ts +1 -5
  100. package/lib/azure-networkinterface/lib/index.js +2 -5
  101. package/lib/azure-networkinterface/lib/network-interface.d.ts +4 -9
  102. package/lib/azure-networkinterface/lib/network-interface.js +14 -29
  103. package/lib/azure-networkinterface/test/network-interface.integ.js +20 -6
  104. package/lib/azure-networksecuritygroup/index.d.ts +0 -5
  105. package/lib/azure-networksecuritygroup/index.js +1 -6
  106. package/lib/azure-networksecuritygroup/lib/index.d.ts +2 -5
  107. package/lib/azure-networksecuritygroup/lib/index.js +17 -14
  108. package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +4 -13
  109. package/lib/azure-networksecuritygroup/lib/network-security-group.js +14 -36
  110. package/lib/azure-policyassignment/index.d.ts +1 -0
  111. package/lib/azure-policyassignment/index.js +18 -0
  112. package/lib/azure-policyassignment/lib/index.d.ts +2 -0
  113. package/lib/azure-policyassignment/lib/index.js +19 -0
  114. package/lib/azure-policyassignment/lib/policy-assignment-schemas.d.ts +25 -0
  115. package/lib/azure-policyassignment/lib/policy-assignment-schemas.js +260 -0
  116. package/lib/azure-policyassignment/lib/policy-assignment.d.ts +342 -0
  117. package/lib/azure-policyassignment/lib/policy-assignment.js +228 -0
  118. package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +13 -0
  119. package/lib/azure-policyassignment/test/policy-assignment.integ.js +153 -0
  120. package/lib/azure-policyassignment/test/policy-assignment.spec.d.ts +9 -0
  121. package/lib/azure-policyassignment/test/policy-assignment.spec.js +651 -0
  122. package/lib/azure-policydefinition/index.d.ts +1 -0
  123. package/lib/azure-policydefinition/index.js +18 -0
  124. package/lib/azure-policydefinition/lib/index.d.ts +2 -0
  125. package/lib/azure-policydefinition/lib/index.js +19 -0
  126. package/lib/azure-policydefinition/lib/policy-definition-schemas.d.ts +25 -0
  127. package/lib/azure-policydefinition/lib/policy-definition-schemas.js +210 -0
  128. package/lib/azure-policydefinition/lib/policy-definition.d.ts +260 -0
  129. package/lib/azure-policydefinition/lib/policy-definition.js +199 -0
  130. package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +9 -0
  131. package/lib/azure-policydefinition/test/policy-definition.integ.js +137 -0
  132. package/lib/azure-policydefinition/test/policy-definition.spec.d.ts +9 -0
  133. package/lib/azure-policydefinition/test/policy-definition.spec.js +596 -0
  134. package/lib/azure-privatednszone/index.d.ts +1 -0
  135. package/lib/azure-privatednszone/index.js +18 -0
  136. package/lib/azure-privatednszone/lib/index.d.ts +2 -0
  137. package/lib/azure-privatednszone/lib/index.js +19 -0
  138. package/lib/azure-privatednszone/lib/private-dns-zone-schemas.d.ts +24 -0
  139. package/lib/azure-privatednszone/lib/private-dns-zone-schemas.js +254 -0
  140. package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +178 -0
  141. package/lib/azure-privatednszone/lib/private-dns-zone.js +272 -0
  142. package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +9 -0
  143. package/lib/azure-privatednszone/test/private-dns-zone.integ.js +84 -0
  144. package/lib/azure-privatednszone/test/private-dns-zone.spec.d.ts +9 -0
  145. package/lib/azure-privatednszone/test/private-dns-zone.spec.js +341 -0
  146. package/lib/azure-privatednszonelink/index.d.ts +1 -0
  147. package/lib/azure-privatednszonelink/index.js +18 -0
  148. package/lib/azure-privatednszonelink/lib/index.d.ts +2 -0
  149. package/lib/azure-privatednszonelink/lib/index.js +19 -0
  150. package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.d.ts +24 -0
  151. package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.js +262 -0
  152. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +202 -0
  153. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +250 -0
  154. package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +9 -0
  155. package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +110 -0
  156. package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.d.ts +9 -0
  157. package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +465 -0
  158. package/lib/azure-publicipaddress/index.d.ts +0 -5
  159. package/lib/azure-publicipaddress/index.js +1 -6
  160. package/lib/azure-publicipaddress/lib/index.d.ts +2 -9
  161. package/lib/azure-publicipaddress/lib/index.js +17 -17
  162. package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +4 -13
  163. package/lib/azure-publicipaddress/lib/public-ip-address.js +14 -36
  164. package/lib/azure-resourcegroup/index.d.ts +0 -37
  165. package/lib/azure-resourcegroup/index.js +1 -39
  166. package/lib/azure-resourcegroup/lib/index.d.ts +1 -44
  167. package/lib/azure-resourcegroup/lib/index.js +2 -43
  168. package/lib/azure-resourcegroup/lib/resource-group.d.ts +9 -23
  169. package/lib/azure-resourcegroup/lib/resource-group.js +23 -56
  170. package/lib/azure-resourcegroup/test/resource-group.spec.js +13 -19
  171. package/lib/azure-roleassignment/index.d.ts +1 -0
  172. package/lib/azure-roleassignment/index.js +18 -0
  173. package/lib/azure-roleassignment/lib/index.d.ts +2 -0
  174. package/lib/azure-roleassignment/lib/index.js +19 -0
  175. package/lib/azure-roleassignment/lib/role-assignment-schemas.d.ts +25 -0
  176. package/lib/azure-roleassignment/lib/role-assignment-schemas.js +238 -0
  177. package/lib/azure-roleassignment/lib/role-assignment.d.ts +294 -0
  178. package/lib/azure-roleassignment/lib/role-assignment.js +257 -0
  179. package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +12 -0
  180. package/lib/azure-roleassignment/test/role-assignment.integ.js +101 -0
  181. package/lib/azure-roleassignment/test/role-assignment.spec.d.ts +9 -0
  182. package/lib/azure-roleassignment/test/role-assignment.spec.js +633 -0
  183. package/lib/azure-roledefinition/index.d.ts +1 -0
  184. package/lib/azure-roledefinition/index.js +18 -0
  185. package/lib/azure-roledefinition/lib/index.d.ts +2 -0
  186. package/lib/azure-roledefinition/lib/index.js +19 -0
  187. package/lib/azure-roledefinition/lib/role-definition-schemas.d.ts +25 -0
  188. package/lib/azure-roledefinition/lib/role-definition-schemas.js +195 -0
  189. package/lib/azure-roledefinition/lib/role-definition.d.ts +236 -0
  190. package/lib/azure-roledefinition/lib/role-definition.js +192 -0
  191. package/lib/azure-roledefinition/test/role-definition.integ.d.ts +12 -0
  192. package/lib/azure-roledefinition/test/role-definition.integ.js +142 -0
  193. package/lib/azure-roledefinition/test/role-definition.spec.d.ts +9 -0
  194. package/lib/azure-roledefinition/test/role-definition.spec.js +946 -0
  195. package/lib/azure-storageaccount/index.d.ts +0 -19
  196. package/lib/azure-storageaccount/index.js +1 -20
  197. package/lib/azure-storageaccount/lib/index.d.ts +1 -7
  198. package/lib/azure-storageaccount/lib/index.js +2 -8
  199. package/lib/azure-storageaccount/lib/storage-account.d.ts +4 -9
  200. package/lib/azure-storageaccount/lib/storage-account.js +15 -29
  201. package/lib/azure-subnet/index.d.ts +0 -3
  202. package/lib/azure-subnet/index.js +1 -4
  203. package/lib/azure-subnet/lib/index.d.ts +1 -4
  204. package/lib/azure-subnet/lib/index.js +2 -5
  205. package/lib/azure-subnet/lib/subnet.d.ts +3 -14
  206. package/lib/azure-subnet/lib/subnet.js +28 -47
  207. package/lib/azure-subnet/test/subnet.integ.js +19 -7
  208. package/lib/azure-subnet/test/subnet.spec.js +1 -2
  209. package/lib/azure-virtualmachine/index.d.ts +0 -6
  210. package/lib/azure-virtualmachine/index.js +1 -7
  211. package/lib/azure-virtualmachine/lib/index.d.ts +1 -10
  212. package/lib/azure-virtualmachine/lib/index.js +2 -21
  213. package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +4 -13
  214. package/lib/azure-virtualmachine/lib/virtual-machine.js +15 -36
  215. package/lib/azure-virtualnetwork/index.d.ts +0 -9
  216. package/lib/azure-virtualnetwork/index.js +1 -11
  217. package/lib/azure-virtualnetwork/lib/index.d.ts +2 -9
  218. package/lib/azure-virtualnetwork/lib/index.js +17 -20
  219. package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +4 -13
  220. package/lib/azure-virtualnetwork/lib/virtual-network.js +15 -36
  221. package/lib/azure-virtualnetworkmanager/index.d.ts +1 -0
  222. package/lib/azure-virtualnetworkmanager/index.js +18 -0
  223. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.d.ts +48 -0
  224. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.js +265 -0
  225. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +185 -0
  226. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +206 -0
  227. package/lib/azure-virtualnetworkmanager/lib/index.d.ts +14 -0
  228. package/lib/azure-virtualnetworkmanager/lib/index.js +31 -0
  229. package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.d.ts +32 -0
  230. package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.js +189 -0
  231. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.d.ts +32 -0
  232. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.js +201 -0
  233. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +135 -0
  234. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +163 -0
  235. package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +139 -0
  236. package/lib/azure-virtualnetworkmanager/lib/network-group.js +158 -0
  237. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.d.ts +32 -0
  238. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.js +182 -0
  239. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +144 -0
  240. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +164 -0
  241. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.d.ts +38 -0
  242. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.js +206 -0
  243. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +142 -0
  244. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +162 -0
  245. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.d.ts +39 -0
  246. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.js +359 -0
  247. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +221 -0
  248. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +204 -0
  249. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.d.ts +32 -0
  250. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.js +236 -0
  251. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +337 -0
  252. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +283 -0
  253. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +25 -0
  254. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +402 -0
  255. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.d.ts +9 -0
  256. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +1652 -0
  257. package/lib/azure-vmss/index.d.ts +0 -5
  258. package/lib/azure-vmss/index.js +1 -6
  259. package/lib/azure-vmss/lib/index.d.ts +0 -7
  260. package/lib/azure-vmss/lib/index.js +1 -21
  261. package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +5 -13
  262. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +29 -53
  263. package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.d.ts +10 -0
  264. package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +218 -0
  265. package/lib/core-azure/lib/azapi/azapi-resource.d.ts +178 -26
  266. package/lib/core-azure/lib/azapi/azapi-resource.js +328 -90
  267. package/lib/core-azure/lib/azapi/azapi-resource.spec.js +2 -2
  268. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
  269. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
  270. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +5 -3
  271. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
  272. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
  273. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
  274. package/lib/core-azure/lib/azapi/resource-schema-validator.d.ts +118 -0
  275. package/lib/core-azure/lib/azapi/resource-schema-validator.js +236 -0
  276. package/lib/core-azure/lib/azapi/resource-version-manager.d.ts +103 -0
  277. package/lib/core-azure/lib/azapi/resource-version-manager.js +168 -0
  278. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +11 -6
  279. package/lib/core-azure/lib/index.d.ts +2 -2
  280. package/lib/core-azure/lib/index.js +5 -5
  281. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  282. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  283. package/lib/index.d.ts +19 -0
  284. package/lib/index.js +21 -2
  285. package/lib/testing/index.js +2 -2
  286. package/lib/testing/lib/cleanup.d.ts +1 -0
  287. package/lib/testing/lib/cleanup.js +19 -12
  288. package/lib/testing/lib/metadata.js +19 -16
  289. package/package.json +1 -1
  290. package/scripts/cleanup-test-resources.ts +22 -4
  291. package/scripts/generate-index.js +25 -8
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
- /**
3
- * Azure Public IP Address construct exports
4
- *
5
- * This module exports the Public IP Address construct and related interfaces
6
- * for use in Terraform CDK applications.
7
- */
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
8
16
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.PUBLIC_IP_ADDRESS_VERSION_2024_10_01 = exports.PUBLIC_IP_ADDRESS_VERSION_2024_07_01 = exports.PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01 = exports.PUBLIC_IP_ADDRESS_SCHEMA_2024_07_01 = exports.ALL_PUBLIC_IP_ADDRESS_VERSIONS = exports.PUBLIC_IP_ADDRESS_TYPE = exports.PublicIPAddress = void 0;
10
- var public_ip_address_1 = require("./public-ip-address");
11
- Object.defineProperty(exports, "PublicIPAddress", { enumerable: true, get: function () { return public_ip_address_1.PublicIPAddress; } });
12
- var public_ip_address_schemas_1 = require("./public-ip-address-schemas");
13
- Object.defineProperty(exports, "PUBLIC_IP_ADDRESS_TYPE", { enumerable: true, get: function () { return public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_TYPE; } });
14
- Object.defineProperty(exports, "ALL_PUBLIC_IP_ADDRESS_VERSIONS", { enumerable: true, get: function () { return public_ip_address_schemas_1.ALL_PUBLIC_IP_ADDRESS_VERSIONS; } });
15
- Object.defineProperty(exports, "PUBLIC_IP_ADDRESS_SCHEMA_2024_07_01", { enumerable: true, get: function () { return public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_SCHEMA_2024_07_01; } });
16
- Object.defineProperty(exports, "PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01", { enumerable: true, get: function () { return public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01; } });
17
- Object.defineProperty(exports, "PUBLIC_IP_ADDRESS_VERSION_2024_07_01", { enumerable: true, get: function () { return public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_VERSION_2024_07_01; } });
18
- Object.defineProperty(exports, "PUBLIC_IP_ADDRESS_VERSION_2024_10_01", { enumerable: true, get: function () { return public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_VERSION_2024_10_01; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcHVibGljaXBhZGRyZXNzL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7OztBQUVILHlEQUFzRDtBQUE3QyxvSEFBQSxlQUFlLE9BQUE7QUFPeEIseUVBT3FDO0FBTm5DLG1JQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDJJQUFBLDhCQUE4QixPQUFBO0FBQzlCLGdKQUFBLG1DQUFtQyxPQUFBO0FBQ25DLGdKQUFBLG1DQUFtQyxPQUFBO0FBQ25DLGlKQUFBLG9DQUFvQyxPQUFBO0FBQ3BDLGlKQUFBLG9DQUFvQyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBenVyZSBQdWJsaWMgSVAgQWRkcmVzcyBjb25zdHJ1Y3QgZXhwb3J0c1xuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgdGhlIFB1YmxpYyBJUCBBZGRyZXNzIGNvbnN0cnVjdCBhbmQgcmVsYXRlZCBpbnRlcmZhY2VzXG4gKiBmb3IgdXNlIGluIFRlcnJhZm9ybSBDREsgYXBwbGljYXRpb25zLlxuICovXG5cbmV4cG9ydCB7IFB1YmxpY0lQQWRkcmVzcyB9IGZyb20gXCIuL3B1YmxpYy1pcC1hZGRyZXNzXCI7XG5leHBvcnQgdHlwZSB7XG4gIFB1YmxpY0lQQWRkcmVzc1Byb3BzLFxuICBQdWJsaWNJUEFkZHJlc3NTa3UsXG4gIFB1YmxpY0lQQWRkcmVzc0Ruc1NldHRpbmdzLFxufSBmcm9tIFwiLi9wdWJsaWMtaXAtYWRkcmVzc1wiO1xuXG5leHBvcnQge1xuICBQVUJMSUNfSVBfQUREUkVTU19UWVBFLFxuICBBTExfUFVCTElDX0lQX0FERFJFU1NfVkVSU0lPTlMsXG4gIFBVQkxJQ19JUF9BRERSRVNTX1NDSEVNQV8yMDI0XzA3XzAxLFxuICBQVUJMSUNfSVBfQUREUkVTU19TQ0hFTUFfMjAyNF8xMF8wMSxcbiAgUFVCTElDX0lQX0FERFJFU1NfVkVSU0lPTl8yMDI0XzA3XzAxLFxuICBQVUJMSUNfSVBfQUREUkVTU19WRVJTSU9OXzIwMjRfMTBfMDEsXG59IGZyb20gXCIuL3B1YmxpYy1pcC1hZGRyZXNzLXNjaGVtYXNcIjtcbiJdfQ==
17
+ __exportStar(require("./public-ip-address-schemas"), exports);
18
+ __exportStar(require("./public-ip-address"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcHVibGljaXBhZGRyZXNzL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOERBQTRDO0FBQzVDLHNEQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3B1YmxpYy1pcC1hZGRyZXNzLXNjaGVtYXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3B1YmxpYy1pcC1hZGRyZXNzXCI7XG4iXX0=
@@ -172,15 +172,6 @@ export interface PublicIPAddressProps extends AzapiResourceProps {
172
172
  * @stability stable
173
173
  */
174
174
  export declare class PublicIPAddress extends AzapiResource {
175
- /**
176
- * Static initialization flag to ensure schemas are registered only once
177
- */
178
- private static schemasRegistered;
179
- /**
180
- * Ensures that Public IP Address schemas are registered with the ApiVersionManager
181
- * This is called once during the first PublicIPAddress instantiation
182
- */
183
- private static ensureSchemasRegistered;
184
175
  /**
185
176
  * The input properties for this Public IP Address instance
186
177
  */
@@ -189,10 +180,6 @@ export declare class PublicIPAddress extends AzapiResource {
189
180
  readonly nameOutput: cdktf.TerraformOutput;
190
181
  readonly locationOutput: cdktf.TerraformOutput;
191
182
  readonly tagsOutput: cdktf.TerraformOutput;
192
- readonly id: string;
193
- readonly tags: {
194
- [key: string]: string;
195
- };
196
183
  /**
197
184
  * Creates a new Azure Public IP Address using the AzapiResource framework
198
185
  *
@@ -219,6 +206,10 @@ export declare class PublicIPAddress extends AzapiResource {
219
206
  * Uses the framework's schema resolution to get the appropriate schema
220
207
  */
221
208
  protected apiSchema(): ApiSchema;
209
+ /**
210
+ * Indicates that location is required for Public IP Addresses
211
+ */
212
+ protected requiresLocation(): boolean;
222
213
  /**
223
214
  * Creates the resource body for the Azure API call
224
215
  * Transforms the input properties into the JSON format expected by Azure REST API
@@ -25,7 +25,6 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
25
25
  const cdktf = require("cdktf");
26
26
  const public_ip_address_schemas_1 = require("./public-ip-address-schemas");
27
27
  const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
28
- const api_version_manager_1 = require("../../core-azure/lib/version-manager/api-version-manager");
29
28
  /**
30
29
  * Azure Public IP Address implementation
31
30
  *
@@ -86,28 +85,7 @@ const api_version_manager_1 = require("../../core-azure/lib/version-manager/api-
86
85
  * @stability stable
87
86
  */
88
87
  class PublicIPAddress extends azapi_resource_1.AzapiResource {
89
- /**
90
- * Ensures that Public IP Address schemas are registered with the ApiVersionManager
91
- * This is called once during the first PublicIPAddress instantiation
92
- */
93
- static ensureSchemasRegistered() {
94
- if (PublicIPAddress.schemasRegistered) {
95
- return;
96
- }
97
- const apiVersionManager = api_version_manager_1.ApiVersionManager.instance();
98
- try {
99
- // Register all Public IP Address versions
100
- apiVersionManager.registerResourceType(public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_TYPE, public_ip_address_schemas_1.ALL_PUBLIC_IP_ADDRESS_VERSIONS);
101
- PublicIPAddress.schemasRegistered = true;
102
- console.log(`Registered ${public_ip_address_schemas_1.ALL_PUBLIC_IP_ADDRESS_VERSIONS.length} API versions for ${public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_TYPE}`);
103
- }
104
- catch (error) {
105
- console.warn(`Failed to register Public IP Address schemas: ${error}. ` +
106
- `This may indicate the schemas are already registered or there's a configuration issue.`);
107
- // Don't throw here as the schemas might already be registered
108
- PublicIPAddress.schemasRegistered = true;
109
- }
110
- }
88
+ // Public properties that match the original PublicIPAddress interface
111
89
  /**
112
90
  * Creates a new Azure Public IP Address using the AzapiResource framework
113
91
  *
@@ -120,14 +98,9 @@ class PublicIPAddress extends azapi_resource_1.AzapiResource {
120
98
  * @param props - Configuration properties for the Public IP Address
121
99
  */
122
100
  constructor(scope, id, props) {
123
- // Ensure schemas are registered before calling super
124
- PublicIPAddress.ensureSchemasRegistered();
125
- // Call the parent constructor with the props
126
101
  super(scope, id, props);
127
102
  this.props = props;
128
103
  // Extract properties from the AZAPI resource outputs using Terraform interpolation
129
- this.id = `\${${this.terraformResource.fqn}.id}`;
130
- this.tags = props.tags || {};
131
104
  // Create Terraform outputs for easy access and referencing from other resources
132
105
  this.idOutput = new cdktf.TerraformOutput(this, "id", {
133
106
  value: this.id,
@@ -176,6 +149,12 @@ class PublicIPAddress extends azapi_resource_1.AzapiResource {
176
149
  apiSchema() {
177
150
  return this.resolveSchema();
178
151
  }
152
+ /**
153
+ * Indicates that location is required for Public IP Addresses
154
+ */
155
+ requiresLocation() {
156
+ return true;
157
+ }
179
158
  /**
180
159
  * Creates the resource body for the Azure API call
181
160
  * Transforms the input properties into the JSON format expected by Azure REST API
@@ -183,8 +162,8 @@ class PublicIPAddress extends azapi_resource_1.AzapiResource {
183
162
  createResourceBody(props) {
184
163
  const typedProps = props;
185
164
  return {
186
- location: typedProps.location || "eastus",
187
- tags: typedProps.tags || {},
165
+ location: this.location,
166
+ tags: this.allTags(),
188
167
  sku: typedProps.sku,
189
168
  zones: typedProps.zones,
190
169
  properties: {
@@ -259,9 +238,8 @@ class PublicIPAddress extends azapi_resource_1.AzapiResource {
259
238
  }
260
239
  exports.PublicIPAddress = PublicIPAddress;
261
240
  _a = JSII_RTTI_SYMBOL_1;
262
- PublicIPAddress[_a] = { fqn: "@microsoft/terraform-cdk-constructs.PublicIPAddress", version: "1.2.0" };
263
- /**
264
- * Static initialization flag to ensure schemas are registered only once
265
- */
266
- PublicIPAddress.schemasRegistered = false;
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWlwLWFkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcHVibGljaXBhZGRyZXNzL2xpYi9wdWJsaWMtaXAtYWRkcmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFFSCwrQkFBK0I7QUFFL0IsMkVBR3FDO0FBQ3JDLDhFQUdtRDtBQUNuRCxrR0FBNkY7QUEyRzdGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMERHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLDhCQUFhO0lBTWhEOzs7T0FHRztJQUNLLE1BQU0sQ0FBQyx1QkFBdUI7UUFDcEMsSUFBSSxlQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN0QyxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0saUJBQWlCLEdBQUcsdUNBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFdkQsSUFBSSxDQUFDO1lBQ0gsMENBQTBDO1lBQzFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUNwQyxrREFBc0IsRUFDdEIsMERBQThCLENBQy9CLENBQUM7WUFFRixlQUFlLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBRXpDLE9BQU8sQ0FBQyxHQUFHLENBQ1QsY0FBYywwREFBOEIsQ0FBQyxNQUFNLHFCQUFxQixrREFBc0IsRUFBRSxDQUNqRyxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsSUFBSSxDQUNWLGlEQUFpRCxLQUFLLElBQUk7Z0JBQ3hELHdGQUF3RixDQUMzRixDQUFDO1lBQ0YsOERBQThEO1lBQzlELGVBQWUsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFpQkQ7Ozs7Ozs7Ozs7T0FVRztJQUNILFlBQVksS0FBZ0IsRUFBRSxF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SUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLHlCQUF5QjtJQUN6QixnRkFBZ0Y7SUFFaEY7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzlDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7YUFDekMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBbE9ILDBDQW1PQzs7O0FBbE9DOztHQUVHO0FBQ1ksaUNBQWlCLEdBQUcsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBenVyZSBQdWJsaWMgSVAgQWRkcmVzcyBpbXBsZW1lbnRhdGlvbiB1c2luZyBBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSB1bmlmaWVkIGltcGxlbWVudGF0aW9uIGZvciBBenVyZSBQdWJsaWMgSVAgQWRkcmVzc2VzIHRoYXRcbiAqIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIG1hbmFnZW1lbnQsIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmQgcHJvcGVydHlcbiAqIHRyYW5zZm9ybWF0aW9uIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDI0LTA3LTAxIChBY3RpdmUpXG4gKiAtIDIwMjQtMTAtMDEgKEFjdGl2ZSlcbiAqIC0gMjAyNS0wMS0wMSAoQWN0aXZlLCBMYXRlc3QpXG4gKlxuICogRmVhdHVyZXM6XG4gKiAtIEF1dG9tYXRpYyBsYXRlc3QgdmVyc2lvbiByZXNvbHV0aW9uIHdoZW4gbm8gdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAqIC0gRXhwbGljaXQgdmVyc2lvbiBwaW5uaW5nIGZvciBzdGFiaWxpdHkgcmVxdWlyZW1lbnRzXG4gKiAtIFNjaGVtYS1kcml2ZW4gdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb25cbiAqIC0gRnVsbCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gKiAtIEpTSUkgY29tcGxpYW5jZSBmb3IgbXVsdGktbGFuZ3VhZ2Ugc3VwcG9ydFxuICovXG5cbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9QVUJMSUNfSVBfQUREUkVTU19WRVJTSU9OUyxcbiAgUFVCTElDX0lQX0FERFJFU1NfVFlQRSxcbn0gZnJvbSBcIi4vcHVibGljLWlwLWFkZHJlc3Mtc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVZlcnNpb25NYW5hZ2VyIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9hcGktdmVyc2lvbi1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBBcGlTY2hlbWEgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8qKlxuICogU0tVIGNvbmZpZ3VyYXRpb24gZm9yIFB1YmxpYyBJUCBBZGRyZXNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGljSVBBZGRyZXNzU2t1IHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIFNLVVxuICAgKiBAZXhhbXBsZSBcIkJhc2ljXCIsIFwiU3RhbmRhcmRcIlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaWVyIG9mIHRoZSBTS1VcbiAgICogQGV4YW1wbGUgXCJSZWdpb25hbFwiLCBcIkdsb2JhbFwiXG4gICAqL1xuICByZWFkb25seSB0aWVyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEROUyBzZXR0aW5ncyBjb25maWd1cmF0aW9uIGZvciBQdWJsaWMgSVAgQWRkcmVzc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFB1YmxpY0lQQWRkcmVzc0Ruc1NldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBkb21haW4gbmFtZSBsYWJlbFxuICAgKiBUaGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgZG9tYWluIG5hbWUgbGFiZWwgYW5kIHJlZ2lvbmFsaXplZCBETlMgem9uZVxuICAgKiBtYWtlIHVwIHRoZSBmdWxseSBxdWFsaWZpZWQgZG9tYWluIG5hbWUgKEZRRE4pIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHVibGljIElQXG4gICAqL1xuICByZWFkb25seSBkb21haW5OYW1lTGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBGdWxseSBRdWFsaWZpZWQgRG9tYWluIE5hbWVcbiAgICogVGhpcyBpcyB0aGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgZG9tYWluTmFtZUxhYmVsIGFuZCB0aGUgcmVnaW9uYWxpemVkIEROUyB6b25lXG4gICAqL1xuICByZWFkb25seSBmcWRuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmV2ZXJzZSBGUUROXG4gICAqIEEgdXNlci12aXNpYmxlLCBmdWxseSBxdWFsaWZpZWQgZG9tYWluIG5hbWUgdGhhdCByZXNvbHZlcyB0byB0aGlzIHB1YmxpYyBJUCBhZGRyZXNzXG4gICAqL1xuICByZWFkb25seSByZXZlcnNlRnFkbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgQXp1cmUgUHVibGljIElQIEFkZHJlc3NcbiAqXG4gKiBFeHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB3aXRoIFB1YmxpYyBJUCBBZGRyZXNzIHNwZWNpZmljIHByb3BlcnRpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNJUEFkZHJlc3NQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBTS1Ugb2YgdGhlIHB1YmxpYyBJUCBhZGRyZXNzXG4gICAqIFN0YW5kYXJkIFNLVSBzdXBwb3J0cyB6b25lcyBhbmQgaGFzIFNMQSBndWFyYW50ZWVzXG4gICAqIEJhc2ljIFNLVSBkb2VzIG5vdCBzdXBwb3J0IHpvbmVzXG4gICAqL1xuICByZWFkb25seSBza3U/OiBQdWJsaWNJUEFkZHJlc3NTa3U7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBJUCBhbGxvY2F0aW9uIG1ldGhvZFxuICAgKiAtIFN0YXRpYzogSVAgYWRkcmVzcyBpcyBhbGxvY2F0ZWQgaW1tZWRpYXRlbHkgYW5kIGRvZXNuJ3QgY2hhbmdlXG4gICAqIC0gRHluYW1pYzogSVAgYWRkcmVzcyBpcyBhbGxvY2F0ZWQgd2hlbiBhc3NvY2lhdGVkIHdpdGggYSByZXNvdXJjZVxuICAgKiBOb3RlOiBTdGFuZGFyZCBTS1UgcmVxdWlyZXMgU3RhdGljIGFsbG9jYXRpb25cbiAgICogQGRlZmF1bHRWYWx1ZSBcIkR5bmFtaWNcIlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgSVAgYWRkcmVzcyB2ZXJzaW9uXG4gICAqIEBkZWZhdWx0VmFsdWUgXCJJUHY0XCJcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0lQQWRkcmVzc1ZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEROUyBzZXR0aW5ncyBmb3IgdGhlIHB1YmxpYyBJUCBhZGRyZXNzXG4gICAqIE9wdGlvbmFsIC0gY29uZmlndXJlcyBETlMgbGFiZWwgZm9yIHRoZSBwdWJsaWMgSVBcbiAgICovXG4gIHJlYWRvbmx5IGRuc1NldHRpbmdzPzogUHVibGljSVBBZGRyZXNzRG5zU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIElkbGUgdGltZW91dCBpbiBtaW51dGVzXG4gICAqIFZhbGlkIHJhbmdlOiA0LTMwIG1pbnV0ZXNcbiAgICogQGRlZmF1bHRWYWx1ZSA0XG4gICAqL1xuICByZWFkb25seSBpZGxlVGltZW91dEluTWludXRlcz86IG51bWJlcjtcblxuICAvKipcbiAgICogQXZhaWxhYmlsaXR5IHpvbmVzIGZvciB0aGUgcHVibGljIElQIGFkZHJlc3NcbiAgICogT25seSBzdXBwb3J0ZWQgd2l0aCBTdGFuZGFyZCBTS1VcbiAgICogQGV4YW1wbGUgW1wiMVwiXSwgW1wiMlwiXSwgW1wiM1wiXSwgW1wiMVwiLCBcIjJcIiwgXCIzXCJdXG4gICAqL1xuICByZWFkb25seSB6b25lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBncm91cCBJRCB3aGVyZSB0aGUgUHVibGljIElQIHdpbGwgYmUgY3JlYXRlZFxuICAgKiBPcHRpb25hbCAtIHdpbGwgdXNlIHRoZSBzdWJzY3JpcHRpb24gc2NvcGUgaWYgbm90IHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUdyb3VwSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgcnVsZXMgdG8gaWdub3JlIGNoYW5nZXNcbiAgICogVXNlZnVsIGZvciBwcm9wZXJ0aWVzIHRoYXQgYXJlIGV4dGVybmFsbHkgbWFuYWdlZFxuICAgKlxuICAgKiBAZXhhbXBsZSBbXCJ0YWdzXCJdXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVDaGFuZ2VzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogQXp1cmUgUHVibGljIElQIEFkZHJlc3MgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgc2luZ2xlLCB2ZXJzaW9uLWF3YXJlIGltcGxlbWVudGF0aW9uIHRoYXQgcmVwbGFjZXNcbiAqIHZlcnNpb24tc3BlY2lmaWMgUHVibGljIElQIEFkZHJlc3MgY2xhc3Nlcy4gSXQgYXV0b21hdGljYWxseSBoYW5kbGVzIHZlcnNpb25cbiAqIHJlc29sdXRpb24sIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmQgcHJvcGVydHkgdHJhbnNmb3JtYXRpb24gd2hpbGUgbWFpbnRhaW5pbmdcbiAqIGZ1bGwgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQmFzaWMgdXNhZ2Ugd2l0aCBhdXRvbWF0aWMgdmVyc2lvbiByZXNvbHV0aW9uIChTdGFuZGFyZCBTdGF0aWMgSVApOlxuICogY29uc3QgcHVibGljSXAgPSBuZXcgUHVibGljSVBBZGRyZXNzKHRoaXMsIFwicHVibGljSXBcIiwge1xuICogICBuYW1lOiBcIm15LXB1YmxpYy1pcFwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgc2t1OiB7XG4gKiAgICAgbmFtZTogXCJTdGFuZGFyZFwiLFxuICogICAgIHRpZXI6IFwiUmVnaW9uYWxcIlxuICogICB9LFxuICogICBwdWJsaWNJUEFsbG9jYXRpb25NZXRob2Q6IFwiU3RhdGljXCJcbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBCYXNpYyBEeW5hbWljIElQOlxuICogY29uc3QgcHVibGljSXAgPSBuZXcgUHVibGljSVBBZGRyZXNzKHRoaXMsIFwicHVibGljSXBcIiwge1xuICogICBuYW1lOiBcIm15LXB1YmxpYy1pcFwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgc2t1OiB7XG4gKiAgICAgbmFtZTogXCJCYXNpY1wiXG4gKiAgIH0sXG4gKiAgIHB1YmxpY0lQQWxsb2NhdGlvbk1ldGhvZDogXCJEeW5hbWljXCJcbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBQdWJsaWMgSVAgd2l0aCBETlMgbGFiZWw6XG4gKiBjb25zdCBwdWJsaWNJcCA9IG5ldyBQdWJsaWNJUEFkZHJlc3ModGhpcywgXCJwdWJsaWNJcFwiLCB7XG4gKiAgIG5hbWU6IFwibXktcHVibGljLWlwXCIsXG4gKiAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICogICBza3U6IHtcbiAqICAgICBuYW1lOiBcIlN0YW5kYXJkXCJcbiAqICAgfSxcbiAqICAgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kOiBcIlN0YXRpY1wiLFxuICogICBkbnNTZXR0aW5nczoge1xuICogICAgIGRvbWFpbk5hbWVMYWJlbDogXCJteWFwcFwiXG4gKiAgIH1cbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBab25hbCBQdWJsaWMgSVA6XG4gKiBjb25zdCBwdWJsaWNJcCA9IG5ldyBQdWJsaWNJUEFkZHJlc3ModGhpcywgXCJwdWJsaWNJcFwiLCB7XG4gKiAgIG5hbWU6IFwibXktcHVibGljLWlwXCIsXG4gKiAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICogICBza3U6IHtcbiAqICAgICBuYW1lOiBcIlN0YW5kYXJkXCJcbiAqICAgfSxcbiAqICAgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kOiBcIlN0YXRpY1wiLFxuICogICB6b25lczogW1wiMVwiXVxuICogfSk7XG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIFB1YmxpY0lQQWRkcmVzcyBleHRlbmRzIEF6YXBpUmVzb3VyY2Uge1xuICAvKipcbiAgICogU3RhdGljIGluaXRpYWxpemF0aW9uIGZsYWcgdG8gZW5zdXJlIHNjaGVtYXMgYXJlIHJlZ2lzdGVyZWQgb25seSBvbmNlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBzY2hlbWFzUmVnaXN0ZXJlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFbnN1cmVzIHRoYXQgUHVibGljIElQIEFkZHJlc3Mgc2NoZW1hcyBhcmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBBcGlWZXJzaW9uTWFuYWdlclxuICAgKiBUaGlzIGlzIGNhbGxlZCBvbmNlIGR1cmluZyB0aGUgZmlyc3QgUHVibGljSVBBZGRyZXNzIGluc3RhbnRpYXRpb25cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGVuc3VyZVNjaGVtYXNSZWdpc3RlcmVkKCk6IHZvaWQge1xuICAgIGlmIChQdWJsaWNJUEFkZHJlc3Muc2NoZW1hc1JlZ2lzdGVyZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhcGlWZXJzaW9uTWFuYWdlciA9IEFwaVZlcnNpb25NYW5hZ2VyLmluc3RhbmNlKCk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gUmVnaXN0ZXIgYWxsIFB1YmxpYyBJUCBBZGRyZXNzIHZlcnNpb25zXG4gICAgICBhcGlWZXJzaW9uTWFuYWdlci5yZWdpc3RlclJlc291cmNlVHlwZShcbiAgICAgICAgUFVCTElDX0lQX0FERFJFU1NfVFlQRSxcbiAgICAgICAgQUxMX1BVQkxJQ19JUF9BRERSRVNTX1ZFUlNJT05TLFxuICAgICAgKTtcblxuICAgICAgUHVibGljSVBBZGRyZXNzLnNjaGVtYXNSZWdpc3RlcmVkID0gdHJ1ZTtcblxuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBSZWdpc3RlcmVkICR7QUxMX1BVQkxJQ19JUF9BRERSRVNTX1ZFUlNJT05TLmxlbmd0aH0gQVBJIHZlcnNpb25zIGZvciAke1BVQkxJQ19JUF9BRERSRVNTX1RZUEV9YCxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYEZhaWxlZCB0byByZWdpc3RlciBQdWJsaWMgSVAgQWRkcmVzcyBzY2hlbWFzOiAke2Vycm9yfS4gYCArXG4gICAgICAgICAgYFRoaXMgbWF5IGluZGljYXRlIHRoZSBzY2hlbWFzIGFyZSBhbHJlYWR5IHJlZ2lzdGVyZWQgb3IgdGhlcmUncyBhIGNvbmZpZ3VyYXRpb24gaXNzdWUuYCxcbiAgICAgICk7XG4gICAgICAvLyBEb24ndCB0aHJvdyBoZXJlIGFzIHRoZSBzY2hlbWFzIG1pZ2h0IGFscmVhZHkgYmUgcmVnaXN0ZXJlZFxuICAgICAgUHVibGljSVBBZGRyZXNzLnNjaGVtYXNSZWdpc3RlcmVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IHByb3BlcnRpZXMgZm9yIHRoaXMgUHVibGljIElQIEFkZHJlc3MgaW5zdGFuY2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9wczogUHVibGljSVBBZGRyZXNzUHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IGxvY2F0aW9uT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSB0YWdzT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgLy8gUHVibGljIHByb3BlcnRpZXMgdGhhdCBtYXRjaCB0aGUgb3JpZ2luYWwgUHVibGljSVBBZGRyZXNzIGludGVyZmFjZVxuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRhZ3M6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQXp1cmUgUHVibGljIElQIEFkZHJlc3MgdXNpbmcgdGhlIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gICAqXG4gICAqIFRoZSBjb25zdHJ1Y3RvciBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgdmVyc2lvbiByZXNvbHV0aW9uLCBzY2hlbWEgcmVnaXN0cmF0aW9uLFxuICAgKiB2YWxpZGF0aW9uLCBhbmQgcmVzb3VyY2UgY3JlYXRpb24uIEl0IG1haW50YWlucyBmdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICogd2l0aCBleGlzdGluZyBQdWJsaWMgSVAgQWRkcmVzcyBpbXBsZW1lbnRhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIFB1YmxpYyBJUCBBZGRyZXNzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGljSVBBZGRyZXNzUHJvcHMpIHtcbiAgICAvLyBFbnN1cmUgc2NoZW1hcyBhcmUgcmVnaXN0ZXJlZCBiZWZvcmUgY2FsbGluZyBzdXBlclxuICAgIFB1YmxpY0lQQWRkcmVzcy5lbnN1cmVTY2hlbWFzUmVnaXN0ZXJlZCgpO1xuXG4gICAgLy8gQ2FsbCB0aGUgcGFyZW50IGNvbnN0cnVjdG9yIHdpdGggdGhlIHByb3BzXG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBFeHRyYWN0IHByb3BlcnRpZXMgZnJvbSB0aGUgQVpBUEkgcmVzb3VyY2Ugb3V0cHV0cyB1c2luZyBUZXJyYWZvcm0gaW50ZXJwb2xhdGlvblxuICAgIHRoaXMuaWQgPSBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59LmlkfWA7XG4gICAgdGhpcy50YWdzID0gcHJvcHMudGFncyB8fCB7fTtcblxuICAgIC8vIENyZWF0ZSBUZXJyYWZvcm0gb3V0cHV0cyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nIGZyb20gb3RoZXIgcmVzb3VyY2VzXG4gICAgdGhpcy5pZE91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJpZFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBJRCBvZiB0aGUgUHVibGljIElQIEFkZHJlc3NcIixcbiAgICB9KTtcblxuICAgIHRoaXMubmFtZU91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgIHZhbHVlOiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm5hbWV9YCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBuYW1lIG9mIHRoZSBQdWJsaWMgSVAgQWRkcmVzc1wiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2NhdGlvbk91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJsb2NhdGlvblwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5sb2NhdGlvbn1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGxvY2F0aW9uIG9mIHRoZSBQdWJsaWMgSVAgQWRkcmVzc1wiLFxuICAgIH0pO1xuXG4gICAgdGhpcy50YWdzT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcInRhZ3NcIiwge1xuICAgICAgdmFsdWU6IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0udGFnc31gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHRhZ3MgYXNzaWduZWQgdG8gdGhlIFB1YmxpYyBJUCBBZGRyZXNzXCIsXG4gICAgfSk7XG5cbiAgICAvLyBPdmVycmlkZSBsb2dpY2FsIElEcyB0byBtYXRjaCBvcmlnaW5hbCBuYW1pbmcgY29udmVudGlvblxuICAgIHRoaXMuaWRPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJpZFwiKTtcbiAgICB0aGlzLm5hbWVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJuYW1lXCIpO1xuICAgIHRoaXMubG9jYXRpb25PdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJsb2NhdGlvblwiKTtcbiAgICB0aGlzLnRhZ3NPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJ0YWdzXCIpO1xuXG4gICAgLy8gQXBwbHkgaWdub3JlIGNoYW5nZXMgaWYgc3BlY2lmaWVkXG4gICAgdGhpcy5fYXBwbHlJZ25vcmVDaGFuZ2VzKCk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBSRVFVSVJFRCBBQlNUUkFDVCBNRVRIT0RTIEZST00gVmVyc2lvbmVkQXphcGlSZXNvdXJjZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkZWZhdWx0IEFQSSB2ZXJzaW9uIHRvIHVzZSB3aGVuIG5vIGV4cGxpY2l0IHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gICAqIFJldHVybnMgdGhlIG1vc3QgcmVjZW50IHN0YWJsZSB2ZXJzaW9uIGFzIHRoZSBkZWZhdWx0XG4gICAqL1xuICBwcm90ZWN0ZWQgZGVmYXVsdFZlcnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCIyMDI0LTEwLTAxXCI7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQXp1cmUgcmVzb3VyY2UgdHlwZSBmb3IgUHVibGljIElQIEFkZHJlc3Nlc1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlc291cmNlVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBQVUJMSUNfSVBfQUREUkVTU19UWVBFO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEFQSSBzY2hlbWEgZm9yIHRoZSByZXNvbHZlZCB2ZXJzaW9uXG4gICAqIFVzZXMgdGhlIGZyYW1ld29yaydzIHNjaGVtYSByZXNvbHV0aW9uIHRvIGdldCB0aGUgYXBwcm9wcmlhdGUgc2NoZW1hXG4gICAqL1xuICBwcm90ZWN0ZWQgYXBpU2NoZW1hKCk6IEFwaVNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNjaGVtYSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIHJlc291cmNlIGJvZHkgZm9yIHRoZSBBenVyZSBBUEkgY2FsbFxuICAgKiBUcmFuc2Zvcm1zIHRoZSBpbnB1dCBwcm9wZXJ0aWVzIGludG8gdGhlIEpTT04gZm9ybWF0IGV4cGVjdGVkIGJ5IEF6dXJlIFJFU1QgQVBJXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2VCb2R5KHByb3BzOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHR5cGVkUHJvcHMgPSBwcm9wcyBhcyBQdWJsaWNJUEFkZHJlc3NQcm9wcztcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYXRpb246IHR5cGVkUHJvcHMubG9jYXRpb24gfHwgXCJlYXN0dXNcIixcbiAgICAgIHRhZ3M6IHR5cGVkUHJvcHMudGFncyB8fCB7fSxcbiAgICAgIHNrdTogdHlwZWRQcm9wcy5za3UsXG4gICAgICB6b25lczogdHlwZWRQcm9wcy56b25lcyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kOlxuICAgICAgICAgIHR5cGVkUHJvcHMucHVibGljSVBBbGxvY2F0aW9uTWV0aG9kIHx8IFwiRHluYW1pY1wiLFxuICAgICAgICBwdWJsaWNJUEFkZHJlc3NWZXJzaW9uOiB0eXBlZFByb3BzLnB1YmxpY0lQQWRkcmVzc1ZlcnNpb24gfHwgXCJJUHY0XCIsXG4gICAgICAgIGRuc1NldHRpbmdzOiB0eXBlZFByb3BzLmRuc1NldHRpbmdzLFxuICAgICAgICBpZGxlVGltZW91dEluTWludXRlczogdHlwZWRQcm9wcy5pZGxlVGltZW91dEluTWludXRlcyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBVQkxJQyBNRVRIT0RTIEZPUiBQVUJMSUMgSVAgQUREUkVTUyBPUEVSQVRJT05TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc3Vic2NyaXB0aW9uIElEIGZyb20gdGhlIFB1YmxpYyBJUCBBZGRyZXNzIElEXG4gICAqIEV4dHJhY3RzIHRoZSBzdWJzY3JpcHRpb24gSUQgZnJvbSB0aGUgQXp1cmUgcmVzb3VyY2UgSUQgZm9ybWF0XG4gICAqL1xuICBwdWJsaWMgZ2V0IHN1YnNjcmlwdGlvbklkKCk6IHN0cmluZyB7XG4gICAgY29uc3QgaWRQYXJ0cyA9IHRoaXMuaWQuc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbkluZGV4ID0gaWRQYXJ0cy5pbmRleE9mKFwic3Vic2NyaXB0aW9uc1wiKTtcbiAgICBpZiAoc3Vic2NyaXB0aW9uSW5kZXggIT09IC0xICYmIHN1YnNjcmlwdGlvbkluZGV4ICsgMSA8IGlkUGFydHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gaWRQYXJ0c1tzdWJzY3JpcHRpb25JbmRleCArIDFdO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIlVuYWJsZSB0byBleHRyYWN0IHN1YnNjcmlwdGlvbiBJRCBmcm9tIFB1YmxpYyBJUCBBZGRyZXNzIElEXCIsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGZ1bGwgcmVzb3VyY2UgaWRlbnRpZmllciBmb3IgdXNlIGluIG90aGVyIEF6dXJlIHJlc291cmNlc1xuICAgKiBBbGlhcyBmb3IgdGhlIGlkIHByb3BlcnR5IHRvIG1hdGNoIG9yaWdpbmFsIGludGVyZmFjZVxuICAgKi9cbiAgcHVibGljIGdldCByZXNvdXJjZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBJUCBhZGRyZXNzIG91dHB1dCB2YWx1ZVxuICAgKiBSZXR1cm5zIHRoZSBUZXJyYWZvcm0gaW50ZXJwb2xhdGlvbiBzdHJpbmcgZm9yIHRoZSBJUCBhZGRyZXNzXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlwQWRkcmVzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm91dHB1dC5wcm9wZXJ0aWVzLmlwQWRkcmVzc31gO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHRhZyB0byB0aGUgUHVibGljIElQIEFkZHJlc3NcbiAgICogTm90ZTogVGhpcyBtb2RpZmllcyB0aGUgY29uc3RydWN0IHByb3BzIGJ1dCByZXF1aXJlcyBhIG5ldyBkZXBsb3ltZW50IHRvIHRha2UgZWZmZWN0XG4gICAqL1xuICBwdWJsaWMgYWRkVGFnKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnRhZ3MpIHtcbiAgICAgICh0aGlzLnByb3BzIGFzIGFueSkudGFncyA9IHt9O1xuICAgIH1cbiAgICB0aGlzLnByb3BzLnRhZ3MhW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYSB0YWcgZnJvbSB0aGUgUHVibGljIElQIEFkZHJlc3NcbiAgICogTm90ZTogVGhpcyBtb2RpZmllcyB0aGUgY29uc3RydWN0IHByb3BzIGJ1dCByZXF1aXJlcyBhIG5ldyBkZXBsb3ltZW50IHRvIHRha2UgZWZmZWN0XG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlVGFnKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMudGFncyAmJiB0aGlzLnByb3BzLnRhZ3Nba2V5XSkge1xuICAgICAgZGVsZXRlIHRoaXMucHJvcHMudGFnc1trZXldO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBSSVZBVEUgSEVMUEVSIE1FVEhPRFNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogQXBwbGllcyBpZ25vcmUgY2hhbmdlcyBsaWZlY3ljbGUgcnVsZXMgaWYgc3BlY2lmaWVkIGluIHByb3BzXG4gICAqL1xuICBwcml2YXRlIF9hcHBseUlnbm9yZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyAmJiB0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5hZGRPdmVycmlkZShcImxpZmVjeWNsZVwiLCB7XG4gICAgICAgIGlnbm9yZV9jaGFuZ2VzOiB0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
241
+ PublicIPAddress[_a] = { fqn: "@microsoft/terraform-cdk-constructs.PublicIPAddress", version: "1.3.0" };
242
+ (() => {
243
+ azapi_resource_1.AzapiResource.registerSchemas(public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_TYPE, public_ip_address_schemas_1.ALL_PUBLIC_IP_ADDRESS_VERSIONS);
244
+ })();
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWlwLWFkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcHVibGljaXBhZGRyZXNzL2xpYi9wdWJsaWMtaXAtYWRkcmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFFSCwrQkFBK0I7QUFFL0IsMkVBR3FDO0FBQ3JDLDhFQUdtRDtBQTJHbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwREc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsOEJBQWE7SUFtQmhELHNFQUFzRTtJQUV0RTs7Ozs7Ozs7OztPQVVHO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixtRkFBbUY7UUFFbkYsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEQsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2QsV0FBVyxFQUFFLGlDQUFpQztTQUMvQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3hELEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFFBQVE7WUFDL0MsV0FBVyxFQUFFLG1DQUFtQztTQUNqRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2hFLEtBQUssRUFBRSxNQUFN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SUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBYSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUyxDQUFDLEdBQVc7UUFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYseUJBQXlCO0lBQ3pCLGdGQUFnRjtJQUVoRjs7T0FFRztJQUNLLG1CQUFtQjtRQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDOUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTthQUN6QyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs7QUFsTUgsMENBbU1DOzs7QUFsTUM7SUFDRSw4QkFBYSxDQUFDLGVBQWUsQ0FDM0Isa0RBQXNCLEVBQ3RCLDBEQUE4QixDQUMvQixDQUFDO0FBQ0osQ0FBQyxHQUFBLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF6dXJlIFB1YmxpYyBJUCBBZGRyZXNzIGltcGxlbWVudGF0aW9uIHVzaW5nIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIEF6dXJlIFB1YmxpYyBJUCBBZGRyZXNzZXMgdGhhdFxuICogYXV0b21hdGljYWxseSBoYW5kbGVzIHZlcnNpb24gbWFuYWdlbWVudCwgc2NoZW1hIHZhbGlkYXRpb24sIGFuZCBwcm9wZXJ0eVxuICogdHJhbnNmb3JtYXRpb24gYWNyb3NzIGFsbCBzdXBwb3J0ZWQgQVBJIHZlcnNpb25zLlxuICpcbiAqIFN1cHBvcnRlZCBBUEkgVmVyc2lvbnM6XG4gKiAtIDIwMjQtMDctMDEgKEFjdGl2ZSlcbiAqIC0gMjAyNC0xMC0wMSAoQWN0aXZlKVxuICogLSAyMDI1LTAxLTAxIChBY3RpdmUsIExhdGVzdClcbiAqXG4gKiBGZWF0dXJlczpcbiAqIC0gQXV0b21hdGljIGxhdGVzdCB2ZXJzaW9uIHJlc29sdXRpb24gd2hlbiBubyB2ZXJzaW9uIGlzIHNwZWNpZmllZFxuICogLSBFeHBsaWNpdCB2ZXJzaW9uIHBpbm5pbmcgZm9yIHN0YWJpbGl0eSByZXF1aXJlbWVudHNcbiAqIC0gU2NoZW1hLWRyaXZlbiB2YWxpZGF0aW9uIGFuZCB0cmFuc2Zvcm1hdGlvblxuICogLSBGdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAqIC0gSlNJSSBjb21wbGlhbmNlIGZvciBtdWx0aS1sYW5ndWFnZSBzdXBwb3J0XG4gKi9cblxuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQUxMX1BVQkxJQ19JUF9BRERSRVNTX1ZFUlNJT05TLFxuICBQVUJMSUNfSVBfQUREUkVTU19UWVBFLFxufSBmcm9tIFwiLi9wdWJsaWMtaXAtYWRkcmVzcy1zY2hlbWFzXCI7XG5pbXBvcnQge1xuICBBemFwaVJlc291cmNlLFxuICBBemFwaVJlc291cmNlUHJvcHMsXG59IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi9hemFwaS9hemFwaS1yZXNvdXJjZVwiO1xuaW1wb3J0IHsgQXBpU2NoZW1hIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vKipcbiAqIFNLVSBjb25maWd1cmF0aW9uIGZvciBQdWJsaWMgSVAgQWRkcmVzc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFB1YmxpY0lQQWRkcmVzc1NrdSB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBTS1VcbiAgICogQGV4YW1wbGUgXCJCYXNpY1wiLCBcIlN0YW5kYXJkXCJcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGllciBvZiB0aGUgU0tVXG4gICAqIEBleGFtcGxlIFwiUmVnaW9uYWxcIiwgXCJHbG9iYWxcIlxuICAgKi9cbiAgcmVhZG9ubHkgdGllcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBETlMgc2V0dGluZ3MgY29uZmlndXJhdGlvbiBmb3IgUHVibGljIElQIEFkZHJlc3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNJUEFkZHJlc3NEbnNTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIG5hbWUgbGFiZWxcbiAgICogVGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIGRvbWFpbiBuYW1lIGxhYmVsIGFuZCByZWdpb25hbGl6ZWQgRE5TIHpvbmVcbiAgICogbWFrZSB1cCB0aGUgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lIChGUUROKSBhc3NvY2lhdGVkIHdpdGggdGhlIHB1YmxpYyBJUFxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZUxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgRnVsbHkgUXVhbGlmaWVkIERvbWFpbiBOYW1lXG4gICAqIFRoaXMgaXMgdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIGRvbWFpbk5hbWVMYWJlbCBhbmQgdGhlIHJlZ2lvbmFsaXplZCBETlMgem9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZnFkbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJldmVyc2UgRlFETlxuICAgKiBBIHVzZXItdmlzaWJsZSwgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lIHRoYXQgcmVzb2x2ZXMgdG8gdGhpcyBwdWJsaWMgSVAgYWRkcmVzc1xuICAgKi9cbiAgcmVhZG9ubHkgcmV2ZXJzZUZxZG4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIEF6dXJlIFB1YmxpYyBJUCBBZGRyZXNzXG4gKlxuICogRXh0ZW5kcyBBemFwaVJlc291cmNlUHJvcHMgd2l0aCBQdWJsaWMgSVAgQWRkcmVzcyBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGljSVBBZGRyZXNzUHJvcHMgZXh0ZW5kcyBBemFwaVJlc291cmNlUHJvcHMge1xuICAvKipcbiAgICogU0tVIG9mIHRoZSBwdWJsaWMgSVAgYWRkcmVzc1xuICAgKiBTdGFuZGFyZCBTS1Ugc3VwcG9ydHMgem9uZXMgYW5kIGhhcyBTTEEgZ3VhcmFudGVlc1xuICAgKiBCYXNpYyBTS1UgZG9lcyBub3Qgc3VwcG9ydCB6b25lc1xuICAgKi9cbiAgcmVhZG9ubHkgc2t1PzogUHVibGljSVBBZGRyZXNzU2t1O1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgSVAgYWxsb2NhdGlvbiBtZXRob2RcbiAgICogLSBTdGF0aWM6IElQIGFkZHJlc3MgaXMgYWxsb2NhdGVkIGltbWVkaWF0ZWx5IGFuZCBkb2Vzbid0IGNoYW5nZVxuICAgKiAtIER5bmFtaWM6IElQIGFkZHJlc3MgaXMgYWxsb2NhdGVkIHdoZW4gYXNzb2NpYXRlZCB3aXRoIGEgcmVzb3VyY2VcbiAgICogTm90ZTogU3RhbmRhcmQgU0tVIHJlcXVpcmVzIFN0YXRpYyBhbGxvY2F0aW9uXG4gICAqIEBkZWZhdWx0VmFsdWUgXCJEeW5hbWljXCJcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0lQQWxsb2NhdGlvbk1ldGhvZD86IHN0cmluZztcblxuICAvKipcbiAgICogUHVibGljIElQIGFkZHJlc3MgdmVyc2lvblxuICAgKiBAZGVmYXVsdFZhbHVlIFwiSVB2NFwiXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNJUEFkZHJlc3NWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBETlMgc2V0dGluZ3MgZm9yIHRoZSBwdWJsaWMgSVAgYWRkcmVzc1xuICAgKiBPcHRpb25hbCAtIGNvbmZpZ3VyZXMgRE5TIGxhYmVsIGZvciB0aGUgcHVibGljIElQXG4gICAqL1xuICByZWFkb25seSBkbnNTZXR0aW5ncz86IFB1YmxpY0lQQWRkcmVzc0Ruc1NldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBJZGxlIHRpbWVvdXQgaW4gbWludXRlc1xuICAgKiBWYWxpZCByYW5nZTogNC0zMCBtaW51dGVzXG4gICAqIEBkZWZhdWx0VmFsdWUgNFxuICAgKi9cbiAgcmVhZG9ubHkgaWRsZVRpbWVvdXRJbk1pbnV0ZXM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEF2YWlsYWJpbGl0eSB6b25lcyBmb3IgdGhlIHB1YmxpYyBJUCBhZGRyZXNzXG4gICAqIE9ubHkgc3VwcG9ydGVkIHdpdGggU3RhbmRhcmQgU0tVXG4gICAqIEBleGFtcGxlIFtcIjFcIl0sIFtcIjJcIl0sIFtcIjNcIl0sIFtcIjFcIiwgXCIyXCIsIFwiM1wiXVxuICAgKi9cbiAgcmVhZG9ubHkgem9uZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUmVzb3VyY2UgZ3JvdXAgSUQgd2hlcmUgdGhlIFB1YmxpYyBJUCB3aWxsIGJlIGNyZWF0ZWRcbiAgICogT3B0aW9uYWwgLSB3aWxsIHVzZSB0aGUgc3Vic2NyaXB0aW9uIHNjb3BlIGlmIG5vdCBwcm92aWRlZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VHcm91cElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlmZWN5Y2xlIHJ1bGVzIHRvIGlnbm9yZSBjaGFuZ2VzXG4gICAqIFVzZWZ1bCBmb3IgcHJvcGVydGllcyB0aGF0IGFyZSBleHRlcm5hbGx5IG1hbmFnZWRcbiAgICpcbiAgICogQGV4YW1wbGUgW1widGFnc1wiXVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlQ2hhbmdlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEF6dXJlIFB1YmxpYyBJUCBBZGRyZXNzIGltcGxlbWVudGF0aW9uXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHNpbmdsZSwgdmVyc2lvbi1hd2FyZSBpbXBsZW1lbnRhdGlvbiB0aGF0IHJlcGxhY2VzXG4gKiB2ZXJzaW9uLXNwZWNpZmljIFB1YmxpYyBJUCBBZGRyZXNzIGNsYXNzZXMuIEl0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uXG4gKiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIHdoaWxlIG1haW50YWluaW5nXG4gKiBmdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIHVzYWdlIHdpdGggYXV0b21hdGljIHZlcnNpb24gcmVzb2x1dGlvbiAoU3RhbmRhcmQgU3RhdGljIElQKTpcbiAqIGNvbnN0IHB1YmxpY0lwID0gbmV3IFB1YmxpY0lQQWRkcmVzcyh0aGlzLCBcInB1YmxpY0lwXCIsIHtcbiAqICAgbmFtZTogXCJteS1wdWJsaWMtaXBcIixcbiAqICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gKiAgIHNrdToge1xuICogICAgIG5hbWU6IFwiU3RhbmRhcmRcIixcbiAqICAgICB0aWVyOiBcIlJlZ2lvbmFsXCJcbiAqICAgfSxcbiAqICAgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kOiBcIlN0YXRpY1wiXG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQmFzaWMgRHluYW1pYyBJUDpcbiAqIGNvbnN0IHB1YmxpY0lwID0gbmV3IFB1YmxpY0lQQWRkcmVzcyh0aGlzLCBcInB1YmxpY0lwXCIsIHtcbiAqICAgbmFtZTogXCJteS1wdWJsaWMtaXBcIixcbiAqICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gKiAgIHNrdToge1xuICogICAgIG5hbWU6IFwiQmFzaWNcIlxuICogICB9LFxuICogICBwdWJsaWNJUEFsbG9jYXRpb25NZXRob2Q6IFwiRHluYW1pY1wiXG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gUHVibGljIElQIHdpdGggRE5TIGxhYmVsOlxuICogY29uc3QgcHVibGljSXAgPSBuZXcgUHVibGljSVBBZGRyZXNzKHRoaXMsIFwicHVibGljSXBcIiwge1xuICogICBuYW1lOiBcIm15LXB1YmxpYy1pcFwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgc2t1OiB7XG4gKiAgICAgbmFtZTogXCJTdGFuZGFyZFwiXG4gKiAgIH0sXG4gKiAgIHB1YmxpY0lQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAqICAgZG5zU2V0dGluZ3M6IHtcbiAqICAgICBkb21haW5OYW1lTGFiZWw6IFwibXlhcHBcIlxuICogICB9XG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gWm9uYWwgUHVibGljIElQOlxuICogY29uc3QgcHVibGljSXAgPSBuZXcgUHVibGljSVBBZGRyZXNzKHRoaXMsIFwicHVibGljSXBcIiwge1xuICogICBuYW1lOiBcIm15LXB1YmxpYy1pcFwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgc2t1OiB7XG4gKiAgICAgbmFtZTogXCJTdGFuZGFyZFwiXG4gKiAgIH0sXG4gKiAgIHB1YmxpY0lQQWxsb2NhdGlvbk1ldGhvZDogXCJTdGF0aWNcIixcbiAqICAgem9uZXM6IFtcIjFcIl1cbiAqIH0pO1xuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBQdWJsaWNJUEFkZHJlc3MgZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIFBVQkxJQ19JUF9BRERSRVNTX1RZUEUsXG4gICAgICBBTExfUFVCTElDX0lQX0FERFJFU1NfVkVSU0lPTlMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgcHJvcGVydGllcyBmb3IgdGhpcyBQdWJsaWMgSVAgQWRkcmVzcyBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBQdWJsaWNJUEFkZHJlc3NQcm9wcztcblxuICAvLyBPdXRwdXQgcHJvcGVydGllcyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nXG4gIHB1YmxpYyByZWFkb25seSBpZE91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZU91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbG9jYXRpb25PdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IHRhZ3NPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcblxuICAvLyBQdWJsaWMgcHJvcGVydGllcyB0aGF0IG1hdGNoIHRoZSBvcmlnaW5hbCBQdWJsaWNJUEFkZHJlc3MgaW50ZXJmYWNlXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQXp1cmUgUHVibGljIElQIEFkZHJlc3MgdXNpbmcgdGhlIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gICAqXG4gICAqIFRoZSBjb25zdHJ1Y3RvciBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgdmVyc2lvbiByZXNvbHV0aW9uLCBzY2hlbWEgcmVnaXN0cmF0aW9uLFxuICAgKiB2YWxpZGF0aW9uLCBhbmQgcmVzb3VyY2UgY3JlYXRpb24uIEl0IG1haW50YWlucyBmdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICogd2l0aCBleGlzdGluZyBQdWJsaWMgSVAgQWRkcmVzcyBpbXBsZW1lbnRhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIFB1YmxpYyBJUCBBZGRyZXNzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHVibGljSVBBZGRyZXNzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIC8vIEV4dHJhY3QgcHJvcGVydGllcyBmcm9tIHRoZSBBWkFQSSByZXNvdXJjZSBvdXRwdXRzIHVzaW5nIFRlcnJhZm9ybSBpbnRlcnBvbGF0aW9uXG5cbiAgICAvLyBDcmVhdGUgVGVycmFmb3JtIG91dHB1dHMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZyBmcm9tIG90aGVyIHJlc291cmNlc1xuICAgIHRoaXMuaWRPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwiaWRcIiwge1xuICAgICAgdmFsdWU6IHRoaXMuaWQsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgSUQgb2YgdGhlIFB1YmxpYyBJUCBBZGRyZXNzXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5uYW1lfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgUHVibGljIElQIEFkZHJlc3NcIixcbiAgICB9KTtcblxuICAgIHRoaXMubG9jYXRpb25PdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibG9jYXRpb25cIiwge1xuICAgICAgdmFsdWU6IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ubG9jYXRpb259YCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBsb2NhdGlvbiBvZiB0aGUgUHVibGljIElQIEFkZHJlc3NcIixcbiAgICB9KTtcblxuICAgIHRoaXMudGFnc091dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJ0YWdzXCIsIHtcbiAgICAgIHZhbHVlOiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59LnRhZ3N9YCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSB0YWdzIGFzc2lnbmVkIHRvIHRoZSBQdWJsaWMgSVAgQWRkcmVzc1wiLFxuICAgIH0pO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHMgdG8gbWF0Y2ggb3JpZ2luYWwgbmFtaW5nIGNvbnZlbnRpb25cbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgICB0aGlzLmxvY2F0aW9uT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibG9jYXRpb25cIik7XG4gICAgdGhpcy50YWdzT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwidGFnc1wiKTtcblxuICAgIC8vIEFwcGx5IGlnbm9yZSBjaGFuZ2VzIGlmIHNwZWNpZmllZFxuICAgIHRoaXMuX2FwcGx5SWdub3JlQ2hhbmdlcygpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUkVRVUlSRUQgQUJTVFJBQ1QgTUVUSE9EUyBGUk9NIFZlcnNpb25lZEF6YXBpUmVzb3VyY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGVmYXVsdCBBUEkgdmVyc2lvbiB0byB1c2Ugd2hlbiBubyBleHBsaWNpdCB2ZXJzaW9uIGlzIHNwZWNpZmllZFxuICAgKiBSZXR1cm5zIHRoZSBtb3N0IHJlY2VudCBzdGFibGUgdmVyc2lvbiBhcyB0aGUgZGVmYXVsdFxuICAgKi9cbiAgcHJvdGVjdGVkIGRlZmF1bHRWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiMjAyNC0xMC0wMVwiO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEF6dXJlIHJlc291cmNlIHR5cGUgZm9yIFB1YmxpYyBJUCBBZGRyZXNzZXNcbiAgICovXG4gIHByb3RlY3RlZCByZXNvdXJjZVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gUFVCTElDX0lQX0FERFJFU1NfVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKiBVc2VzIHRoZSBmcmFtZXdvcmsncyBzY2hlbWEgcmVzb2x1dGlvbiB0byBnZXQgdGhlIGFwcHJvcHJpYXRlIHNjaGVtYVxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCBsb2NhdGlvbiBpcyByZXF1aXJlZCBmb3IgUHVibGljIElQIEFkZHJlc3Nlc1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlcXVpcmVzTG9jYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgcmVzb3VyY2UgYm9keSBmb3IgdGhlIEF6dXJlIEFQSSBjYWxsXG4gICAqIFRyYW5zZm9ybXMgdGhlIGlucHV0IHByb3BlcnRpZXMgaW50byB0aGUgSlNPTiBmb3JtYXQgZXhwZWN0ZWQgYnkgQXp1cmUgUkVTVCBBUElcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZUJvZHkocHJvcHM6IGFueSk6IGFueSB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIFB1YmxpY0lQQWRkcmVzc1Byb3BzO1xuICAgIHJldHVybiB7XG4gICAgICBsb2NhdGlvbjogdGhpcy5sb2NhdGlvbixcbiAgICAgIHRhZ3M6IHRoaXMuYWxsVGFncygpLFxuICAgICAgc2t1OiB0eXBlZFByb3BzLnNrdSxcbiAgICAgIHpvbmVzOiB0eXBlZFByb3BzLnpvbmVzLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBwdWJsaWNJUEFsbG9jYXRpb25NZXRob2Q6XG4gICAgICAgICAgdHlwZWRQcm9wcy5wdWJsaWNJUEFsbG9jYXRpb25NZXRob2QgfHwgXCJEeW5hbWljXCIsXG4gICAgICAgIHB1YmxpY0lQQWRkcmVzc1ZlcnNpb246IHR5cGVkUHJvcHMucHVibGljSVBBZGRyZXNzVmVyc2lvbiB8fCBcIklQdjRcIixcbiAgICAgICAgZG5zU2V0dGluZ3M6IHR5cGVkUHJvcHMuZG5zU2V0dGluZ3MsXG4gICAgICAgIGlkbGVUaW1lb3V0SW5NaW51dGVzOiB0eXBlZFByb3BzLmlkbGVUaW1lb3V0SW5NaW51dGVzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFVCTElDIE1FVEhPRFMgRk9SIFBVQkxJQyBJUCBBRERSRVNTIE9QRVJBVElPTlNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0IHRoZSBzdWJzY3JpcHRpb24gSUQgZnJvbSB0aGUgUHVibGljIElQIEFkZHJlc3MgSURcbiAgICogRXh0cmFjdHMgdGhlIHN1YnNjcmlwdGlvbiBJRCBmcm9tIHRoZSBBenVyZSByZXNvdXJjZSBJRCBmb3JtYXRcbiAgICovXG4gIHB1YmxpYyBnZXQgc3Vic2NyaXB0aW9uSWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBpZFBhcnRzID0gdGhpcy5pZC5zcGxpdChcIi9cIik7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uSW5kZXggPSBpZFBhcnRzLmluZGV4T2YoXCJzdWJzY3JpcHRpb25zXCIpO1xuICAgIGlmIChzdWJzY3JpcHRpb25JbmRleCAhPT0gLTEgJiYgc3Vic2NyaXB0aW9uSW5kZXggKyAxIDwgaWRQYXJ0cy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBpZFBhcnRzW3N1YnNjcmlwdGlvbkluZGV4ICsgMV07XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiVW5hYmxlIHRvIGV4dHJhY3Qgc3Vic2NyaXB0aW9uIElEIGZyb20gUHVibGljIElQIEFkZHJlc3MgSURcIixcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZnVsbCByZXNvdXJjZSBpZGVudGlmaWVyIGZvciB1c2UgaW4gb3RoZXIgQXp1cmUgcmVzb3VyY2VzXG4gICAqIEFsaWFzIGZvciB0aGUgaWQgcHJvcGVydHkgdG8gbWF0Y2ggb3JpZ2luYWwgaW50ZXJmYWNlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJlc291cmNlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIElQIGFkZHJlc3Mgb3V0cHV0IHZhbHVlXG4gICAqIFJldHVybnMgdGhlIFRlcnJhZm9ybSBpbnRlcnBvbGF0aW9uIHN0cmluZyBmb3IgdGhlIElQIGFkZHJlc3NcbiAgICovXG4gIHB1YmxpYyBnZXQgaXBBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ub3V0cHV0LnByb3BlcnRpZXMuaXBBZGRyZXNzfWA7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgdGFnIHRvIHRoZSBQdWJsaWMgSVAgQWRkcmVzc1xuICAgKiBOb3RlOiBUaGlzIG1vZGlmaWVzIHRoZSBjb25zdHJ1Y3QgcHJvcHMgYnV0IHJlcXVpcmVzIGEgbmV3IGRlcGxveW1lbnQgdG8gdGFrZSBlZmZlY3RcbiAgICovXG4gIHB1YmxpYyBhZGRUYWcoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucHJvcHMudGFncykge1xuICAgICAgKHRoaXMucHJvcHMgYXMgYW55KS50YWdzID0ge307XG4gICAgfVxuICAgIHRoaXMucHJvcHMudGFncyFba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIHRhZyBmcm9tIHRoZSBQdWJsaWMgSVAgQWRkcmVzc1xuICAgKiBOb3RlOiBUaGlzIG1vZGlmaWVzIHRoZSBjb25zdHJ1Y3QgcHJvcHMgYnV0IHJlcXVpcmVzIGEgbmV3IGRlcGxveW1lbnQgdG8gdGFrZSBlZmZlY3RcbiAgICovXG4gIHB1YmxpYyByZW1vdmVUYWcoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy50YWdzICYmIHRoaXMucHJvcHMudGFnc1trZXldKSB7XG4gICAgICBkZWxldGUgdGhpcy5wcm9wcy50YWdzW2tleV07XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFJJVkFURSBIRUxQRVIgTUVUSE9EU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGlnbm9yZSBjaGFuZ2VzIGxpZmVjeWNsZSBydWxlcyBpZiBzcGVjaWZpZWQgaW4gcHJvcHNcbiAgICovXG4gIHByaXZhdGUgX2FwcGx5SWdub3JlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzICYmIHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRlcnJhZm9ybVJlc291cmNlLmFkZE92ZXJyaWRlKFwibGlmZWN5Y2xlXCIsIHtcbiAgICAgICAgaWdub3JlX2NoYW5nZXM6IHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,38 +1 @@
1
- /**
2
- * Azure ResourceGroup Constructs using VersionedAzapiResource Framework
3
- *
4
- * This module provides a unified AZAPI-based ResourceGroup implementation that replaces
5
- * all version-specific implementations with a single, version-aware class:
6
- *
7
- * - Unified implementation using VersionedAzapiResource framework
8
- * - Automatic latest version resolution (2025-03-01)
9
- * - Support for explicit version pinning for stability
10
- * - Schema-driven validation and transformation
11
- * - Full backward compatibility with existing interfaces
12
- * - Replaces 504 lines of duplicated code with a single implementation
13
- * - JSII-compliant design for multi-language support
14
- *
15
- * Usage Examples:
16
- * ```typescript
17
- * // Automatic latest version (recommended)
18
- * import { ResourceGroup } from "@microsoft/terraform-cdk-constructs/azure-resourcegroup";
19
- * const rg = new ResourceGroup(this, "rg", {
20
- * name: "my-resource-group",
21
- * location: "eastus",
22
- * tags: { environment: "production" }
23
- * });
24
- *
25
- * // Explicit version pinning
26
- * const rg = new ResourceGroup(this, "rg", {
27
- * name: "my-resource-group",
28
- * location: "eastus",
29
- * apiVersion: "2024-11-01", // Pin to specific version
30
- * tags: { environment: "production" }
31
- * });
32
- * ```
33
- *
34
- * Migration Note: This unified implementation automatically handles version management
35
- * and provides the same interface as the previous version-specific implementations.
36
- * Existing code will continue to work without changes.
37
- */
38
1
  export * from "./lib";
@@ -1,41 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * Azure ResourceGroup Constructs using VersionedAzapiResource Framework
4
- *
5
- * This module provides a unified AZAPI-based ResourceGroup implementation that replaces
6
- * all version-specific implementations with a single, version-aware class:
7
- *
8
- * - Unified implementation using VersionedAzapiResource framework
9
- * - Automatic latest version resolution (2025-03-01)
10
- * - Support for explicit version pinning for stability
11
- * - Schema-driven validation and transformation
12
- * - Full backward compatibility with existing interfaces
13
- * - Replaces 504 lines of duplicated code with a single implementation
14
- * - JSII-compliant design for multi-language support
15
- *
16
- * Usage Examples:
17
- * ```typescript
18
- * // Automatic latest version (recommended)
19
- * import { ResourceGroup } from "@microsoft/terraform-cdk-constructs/azure-resourcegroup";
20
- * const rg = new ResourceGroup(this, "rg", {
21
- * name: "my-resource-group",
22
- * location: "eastus",
23
- * tags: { environment: "production" }
24
- * });
25
- *
26
- * // Explicit version pinning
27
- * const rg = new ResourceGroup(this, "rg", {
28
- * name: "my-resource-group",
29
- * location: "eastus",
30
- * apiVersion: "2024-11-01", // Pin to specific version
31
- * tags: { environment: "production" }
32
- * });
33
- * ```
34
- *
35
- * Migration Note: This unified implementation automatically handles version management
36
- * and provides the same interface as the previous version-specific implementations.
37
- * Existing code will continue to work without changes.
38
- */
39
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
40
3
  if (k2 === undefined) k2 = k;
41
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -51,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
51
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
52
15
  };
53
16
  Object.defineProperty(exports, "__esModule", { value: true });
54
- // Export unified implementation from lib
55
17
  __exportStar(require("./lib"), exports);
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtcmVzb3VyY2Vncm91cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9DRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILHlDQUF5QztBQUN6Qyx3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF6dXJlIFJlc291cmNlR3JvdXAgQ29uc3RydWN0cyB1c2luZyBWZXJzaW9uZWRBemFwaVJlc291cmNlIEZyYW1ld29ya1xuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgdW5pZmllZCBBWkFQSS1iYXNlZCBSZXNvdXJjZUdyb3VwIGltcGxlbWVudGF0aW9uIHRoYXQgcmVwbGFjZXNcbiAqIGFsbCB2ZXJzaW9uLXNwZWNpZmljIGltcGxlbWVudGF0aW9ucyB3aXRoIGEgc2luZ2xlLCB2ZXJzaW9uLWF3YXJlIGNsYXNzOlxuICpcbiAqIC0gVW5pZmllZCBpbXBsZW1lbnRhdGlvbiB1c2luZyBWZXJzaW9uZWRBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiAoMjAyNS0wMy0wMSlcbiAqIC0gU3VwcG9ydCBmb3IgZXhwbGljaXQgdmVyc2lvbiBwaW5uaW5nIGZvciBzdGFiaWxpdHlcbiAqIC0gU2NoZW1hLWRyaXZlbiB2YWxpZGF0aW9uIGFuZCB0cmFuc2Zvcm1hdGlvblxuICogLSBGdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBleGlzdGluZyBpbnRlcmZhY2VzXG4gKiAtIFJlcGxhY2VzIDUwNCBsaW5lcyBvZiBkdXBsaWNhdGVkIGNvZGUgd2l0aCBhIHNpbmdsZSBpbXBsZW1lbnRhdGlvblxuICogLSBKU0lJLWNvbXBsaWFudCBkZXNpZ24gZm9yIG11bHRpLWxhbmd1YWdlIHN1cHBvcnRcbiAqXG4gKiBVc2FnZSBFeGFtcGxlczpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEF1dG9tYXRpYyBsYXRlc3QgdmVyc2lvbiAocmVjb21tZW5kZWQpXG4gKiBpbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBtaWNyb3NvZnQvdGVycmFmb3JtLWNkay1jb25zdHJ1Y3RzL2F6dXJlLXJlc291cmNlZ3JvdXBcIjtcbiAqIGNvbnN0IHJnID0gbmV3IFJlc291cmNlR3JvdXAodGhpcywgXCJyZ1wiLCB7XG4gKiAgIG5hbWU6IFwibXktcmVzb3VyY2UtZ3JvdXBcIixcbiAqICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gKiAgIHRhZ3M6IHsgZW52aXJvbm1lbnQ6IFwicHJvZHVjdGlvblwiIH1cbiAqIH0pO1xuICpcbiAqIC8vIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZ1xuICogY29uc3QgcmcgPSBuZXcgUmVzb3VyY2VHcm91cCh0aGlzLCBcInJnXCIsIHtcbiAqICAgbmFtZTogXCJteS1yZXNvdXJjZS1ncm91cFwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgYXBpVmVyc2lvbjogXCIyMDI0LTExLTAxXCIsIC8vIFBpbiB0byBzcGVjaWZpYyB2ZXJzaW9uXG4gKiAgIHRhZ3M6IHsgZW52aXJvbm1lbnQ6IFwicHJvZHVjdGlvblwiIH1cbiAqIH0pO1xuICogYGBgXG4gKlxuICogTWlncmF0aW9uIE5vdGU6IFRoaXMgdW5pZmllZCBpbXBsZW1lbnRhdGlvbiBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgdmVyc2lvbiBtYW5hZ2VtZW50XG4gKiBhbmQgcHJvdmlkZXMgdGhlIHNhbWUgaW50ZXJmYWNlIGFzIHRoZSBwcmV2aW91cyB2ZXJzaW9uLXNwZWNpZmljIGltcGxlbWVudGF0aW9ucy5cbiAqIEV4aXN0aW5nIGNvZGUgd2lsbCBjb250aW51ZSB0byB3b3JrIHdpdGhvdXQgY2hhbmdlcy5cbiAqL1xuXG4vLyBFeHBvcnQgdW5pZmllZCBpbXBsZW1lbnRhdGlvbiBmcm9tIGxpYlxuZXhwb3J0ICogZnJvbSBcIi4vbGliXCI7XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtcmVzb3VyY2Vncm91cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbGliXCI7XG4iXX0=
@@ -1,45 +1,2 @@
1
- /**
2
- * Azure ResourceGroup Constructs using VersionedAzapiResource Framework
3
- *
4
- * This module provides a unified AZAPI-based ResourceGroup implementation:
5
- *
6
- * - Unified implementation using VersionedAzapiResource framework
7
- * - Automatic latest version resolution (2025-03-01)
8
- * - Support for explicit version pinning
9
- * - Schema-driven validation and transformation
10
- * - Full backward compatibility with existing interfaces
11
- *
12
- * The unified approach replaces all version-specific implementations with a single,
13
- * version-aware class that automatically handles version management.
14
- */
15
- export * from "./resource-group";
16
1
  export * from "./resource-group-schemas";
17
- /**
18
- * Unified Azure Resource Group implementation
19
- * Automatically uses the latest API version (2025-03-01) unless explicitly specified
20
- */
21
- export { ResourceGroup } from "./resource-group";
22
- /**
23
- * Alias for ResourceGroup to maintain backward compatibility
24
- * @deprecated Use ResourceGroup instead
25
- */
26
- export { Group } from "./resource-group";
27
- /**
28
- * Properties interface for the unified Resource Group
29
- */
30
- export { ResourceGroupProps } from "./resource-group";
31
- /**
32
- * Alias for ResourceGroupProps to maintain backward compatibility
33
- * @deprecated Use ResourceGroupProps instead
34
- */
35
- export { GroupProps } from "./resource-group";
36
- /**
37
- * Resource body interface for Azure API calls
38
- */
39
- export { ResourceGroupBody } from "./resource-group";
40
- /**
41
- * Alias for ResourceGroupBody to maintain backward compatibility
42
- * @deprecated Use ResourceGroupBody instead
43
- */
44
- export { GroupBody } from "./resource-group";
45
- export { RESOURCE_GROUP_TYPE, ALL_RESOURCE_GROUP_VERSIONS, RESOURCE_GROUP_SCHEMA_2024_11_01, RESOURCE_GROUP_SCHEMA_2025_01_01, RESOURCE_GROUP_SCHEMA_2025_03_01, RESOURCE_GROUP_VERSION_2024_11_01, RESOURCE_GROUP_VERSION_2025_01_01, RESOURCE_GROUP_VERSION_2025_03_01, } from "./resource-group-schemas";
2
+ export * from "./resource-group";
@@ -1,18 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * Azure ResourceGroup Constructs using VersionedAzapiResource Framework
4
- *
5
- * This module provides a unified AZAPI-based ResourceGroup implementation:
6
- *
7
- * - Unified implementation using VersionedAzapiResource framework
8
- * - Automatic latest version resolution (2025-03-01)
9
- * - Support for explicit version pinning
10
- * - Schema-driven validation and transformation
11
- * - Full backward compatibility with existing interfaces
12
- *
13
- * The unified approach replaces all version-specific implementations with a single,
14
- * version-aware class that automatically handles version management.
15
- */
16
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
3
  if (k2 === undefined) k2 = k;
18
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -28,33 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
28
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
29
15
  };
30
16
  Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.RESOURCE_GROUP_VERSION_2025_03_01 = exports.RESOURCE_GROUP_VERSION_2025_01_01 = exports.RESOURCE_GROUP_VERSION_2024_11_01 = exports.RESOURCE_GROUP_SCHEMA_2025_03_01 = exports.RESOURCE_GROUP_SCHEMA_2025_01_01 = exports.RESOURCE_GROUP_SCHEMA_2024_11_01 = exports.ALL_RESOURCE_GROUP_VERSIONS = exports.RESOURCE_GROUP_TYPE = exports.Group = exports.ResourceGroup = void 0;
32
- // Export the unified ResourceGroup implementation
33
- __exportStar(require("./resource-group"), exports);
34
- // Export schemas for advanced usage
35
17
  __exportStar(require("./resource-group-schemas"), exports);
36
- // Backward compatibility exports - these maintain the same interface as before
37
- // but now use the unified implementation under the hood
38
- /**
39
- * Unified Azure Resource Group implementation
40
- * Automatically uses the latest API version (2025-03-01) unless explicitly specified
41
- */
42
- var resource_group_1 = require("./resource-group");
43
- Object.defineProperty(exports, "ResourceGroup", { enumerable: true, get: function () { return resource_group_1.ResourceGroup; } });
44
- /**
45
- * Alias for ResourceGroup to maintain backward compatibility
46
- * @deprecated Use ResourceGroup instead
47
- */
48
- var resource_group_2 = require("./resource-group");
49
- Object.defineProperty(exports, "Group", { enumerable: true, get: function () { return resource_group_2.Group; } });
50
- // Schema exports for advanced usage
51
- var resource_group_schemas_1 = require("./resource-group-schemas");
52
- Object.defineProperty(exports, "RESOURCE_GROUP_TYPE", { enumerable: true, get: function () { return resource_group_schemas_1.RESOURCE_GROUP_TYPE; } });
53
- Object.defineProperty(exports, "ALL_RESOURCE_GROUP_VERSIONS", { enumerable: true, get: function () { return resource_group_schemas_1.ALL_RESOURCE_GROUP_VERSIONS; } });
54
- Object.defineProperty(exports, "RESOURCE_GROUP_SCHEMA_2024_11_01", { enumerable: true, get: function () { return resource_group_schemas_1.RESOURCE_GROUP_SCHEMA_2024_11_01; } });
55
- Object.defineProperty(exports, "RESOURCE_GROUP_SCHEMA_2025_01_01", { enumerable: true, get: function () { return resource_group_schemas_1.RESOURCE_GROUP_SCHEMA_2025_01_01; } });
56
- Object.defineProperty(exports, "RESOURCE_GROUP_SCHEMA_2025_03_01", { enumerable: true, get: function () { return resource_group_schemas_1.RESOURCE_GROUP_SCHEMA_2025_03_01; } });
57
- Object.defineProperty(exports, "RESOURCE_GROUP_VERSION_2024_11_01", { enumerable: true, get: function () { return resource_group_schemas_1.RESOURCE_GROUP_VERSION_2024_11_01; } });
58
- Object.defineProperty(exports, "RESOURCE_GROUP_VERSION_2025_01_01", { enumerable: true, get: function () { return resource_group_schemas_1.RESOURCE_GROUP_VERSION_2025_01_01; } });
59
- Object.defineProperty(exports, "RESOURCE_GROUP_VERSION_2025_03_01", { enumerable: true, get: function () { return resource_group_schemas_1.RESOURCE_GROUP_VERSION_2025_03_01; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcmVzb3VyY2Vncm91cC9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsa0RBQWtEO0FBQ2xELG1EQUFpQztBQUVqQyxvQ0FBb0M7QUFDcEMsMkRBQXlDO0FBRXpDLCtFQUErRTtBQUMvRSx3REFBd0Q7QUFFeEQ7OztHQUdHO0FBQ0gsbURBQWlEO0FBQXhDLCtHQUFBLGFBQWEsT0FBQTtBQUV0Qjs7O0dBR0c7QUFDSCxtREFBeUM7QUFBaEMsdUdBQUEsS0FBSyxPQUFBO0FBd0JkLG9DQUFvQztBQUNwQyxtRUFTa0M7QUFSaEMsNkhBQUEsbUJBQW1CLE9BQUE7QUFDbkIscUlBQUEsMkJBQTJCLE9BQUE7QUFDM0IsMElBQUEsZ0NBQWdDLE9BQUE7QUFDaEMsMElBQUEsZ0NBQWdDLE9BQUE7QUFDaEMsMElBQUEsZ0NBQWdDLE9BQUE7QUFDaEMsMklBQUEsaUNBQWlDLE9BQUE7QUFDakMsMklBQUEsaUNBQWlDLE9BQUE7QUFDakMsMklBQUEsaUNBQWlDLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF6dXJlIFJlc291cmNlR3JvdXAgQ29uc3RydWN0cyB1c2luZyBWZXJzaW9uZWRBemFwaVJlc291cmNlIEZyYW1ld29ya1xuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgdW5pZmllZCBBWkFQSS1iYXNlZCBSZXNvdXJjZUdyb3VwIGltcGxlbWVudGF0aW9uOlxuICpcbiAqIC0gVW5pZmllZCBpbXBsZW1lbnRhdGlvbiB1c2luZyBWZXJzaW9uZWRBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiAoMjAyNS0wMy0wMSlcbiAqIC0gU3VwcG9ydCBmb3IgZXhwbGljaXQgdmVyc2lvbiBwaW5uaW5nXG4gKiAtIFNjaGVtYS1kcml2ZW4gdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb25cbiAqIC0gRnVsbCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcgaW50ZXJmYWNlc1xuICpcbiAqIFRoZSB1bmlmaWVkIGFwcHJvYWNoIHJlcGxhY2VzIGFsbCB2ZXJzaW9uLXNwZWNpZmljIGltcGxlbWVudGF0aW9ucyB3aXRoIGEgc2luZ2xlLFxuICogdmVyc2lvbi1hd2FyZSBjbGFzcyB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIG1hbmFnZW1lbnQuXG4gKi9cblxuLy8gRXhwb3J0IHRoZSB1bmlmaWVkIFJlc291cmNlR3JvdXAgaW1wbGVtZW50YXRpb25cbmV4cG9ydCAqIGZyb20gXCIuL3Jlc291cmNlLWdyb3VwXCI7XG5cbi8vIEV4cG9ydCBzY2hlbWFzIGZvciBhZHZhbmNlZCB1c2FnZVxuZXhwb3J0ICogZnJvbSBcIi4vcmVzb3VyY2UtZ3JvdXAtc2NoZW1hc1wiO1xuXG4vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGV4cG9ydHMgLSB0aGVzZSBtYWludGFpbiB0aGUgc2FtZSBpbnRlcmZhY2UgYXMgYmVmb3JlXG4vLyBidXQgbm93IHVzZSB0aGUgdW5pZmllZCBpbXBsZW1lbnRhdGlvbiB1bmRlciB0aGUgaG9vZFxuXG4vKipcbiAqIFVuaWZpZWQgQXp1cmUgUmVzb3VyY2UgR3JvdXAgaW1wbGVtZW50YXRpb25cbiAqIEF1dG9tYXRpY2FsbHkgdXNlcyB0aGUgbGF0ZXN0IEFQSSB2ZXJzaW9uICgyMDI1LTAzLTAxKSB1bmxlc3MgZXhwbGljaXRseSBzcGVjaWZpZWRcbiAqL1xuZXhwb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCIuL3Jlc291cmNlLWdyb3VwXCI7XG5cbi8qKlxuICogQWxpYXMgZm9yIFJlc291cmNlR3JvdXAgdG8gbWFpbnRhaW4gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICogQGRlcHJlY2F0ZWQgVXNlIFJlc291cmNlR3JvdXAgaW5zdGVhZFxuICovXG5leHBvcnQgeyBHcm91cCB9IGZyb20gXCIuL3Jlc291cmNlLWdyb3VwXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBpbnRlcmZhY2UgZm9yIHRoZSB1bmlmaWVkIFJlc291cmNlIEdyb3VwXG4gKi9cbmV4cG9ydCB7IFJlc291cmNlR3JvdXBQcm9wcyB9IGZyb20gXCIuL3Jlc291cmNlLWdyb3VwXCI7XG5cbi8qKlxuICogQWxpYXMgZm9yIFJlc291cmNlR3JvdXBQcm9wcyB0byBtYWludGFpbiBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gKiBAZGVwcmVjYXRlZCBVc2UgUmVzb3VyY2VHcm91cFByb3BzIGluc3RlYWRcbiAqL1xuZXhwb3J0IHsgR3JvdXBQcm9wcyB9IGZyb20gXCIuL3Jlc291cmNlLWdyb3VwXCI7XG5cbi8qKlxuICogUmVzb3VyY2UgYm9keSBpbnRlcmZhY2UgZm9yIEF6dXJlIEFQSSBjYWxsc1xuICovXG5leHBvcnQgeyBSZXNvdXJjZUdyb3VwQm9keSB9IGZyb20gXCIuL3Jlc291cmNlLWdyb3VwXCI7XG5cbi8qKlxuICogQWxpYXMgZm9yIFJlc291cmNlR3JvdXBCb2R5IHRvIG1haW50YWluIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAqIEBkZXByZWNhdGVkIFVzZSBSZXNvdXJjZUdyb3VwQm9keSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCB7IEdyb3VwQm9keSB9IGZyb20gXCIuL3Jlc291cmNlLWdyb3VwXCI7XG5cbi8vIFNjaGVtYSBleHBvcnRzIGZvciBhZHZhbmNlZCB1c2FnZVxuZXhwb3J0IHtcbiAgUkVTT1VSQ0VfR1JPVVBfVFlQRSxcbiAgQUxMX1JFU09VUkNFX0dST1VQX1ZFUlNJT05TLFxuICBSRVNPVVJDRV9HUk9VUF9TQ0hFTUFfMjAyNF8xMV8wMSxcbiAgUkVTT1VSQ0VfR1JPVVBfU0NIRU1BXzIwMjVfMDFfMDEsXG4gIFJFU09VUkNFX0dST1VQX1NDSEVNQV8yMDI1XzAzXzAxLFxuICBSRVNPVVJDRV9HUk9VUF9WRVJTSU9OXzIwMjRfMTFfMDEsXG4gIFJFU09VUkNFX0dST1VQX1ZFUlNJT05fMjAyNV8wMV8wMSxcbiAgUkVTT1VSQ0VfR1JPVVBfVkVSU0lPTl8yMDI1XzAzXzAxLFxufSBmcm9tIFwiLi9yZXNvdXJjZS1ncm91cC1zY2hlbWFzXCI7XG4iXX0=
18
+ __exportStar(require("./resource-group"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcmVzb3VyY2Vncm91cC9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJEQUF5QztBQUN6QyxtREFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9yZXNvdXJjZS1ncm91cC1zY2hlbWFzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXNvdXJjZS1ncm91cFwiO1xuIl19
@@ -96,15 +96,6 @@ export interface ResourceGroupBody {
96
96
  * @stability stable
97
97
  */
98
98
  export declare class ResourceGroup extends AzapiResource {
99
- /**
100
- * Static initialization flag to ensure schemas are registered only once
101
- */
102
- private static schemasRegistered;
103
- /**
104
- * Ensures that Resource Group schemas are registered with the ApiVersionManager
105
- * This is called once during the first ResourceGroup instantiation
106
- */
107
- private static ensureSchemasRegistered;
108
99
  /**
109
100
  * The input properties for this Resource Group instance
110
101
  */
@@ -113,10 +104,6 @@ export declare class ResourceGroup extends AzapiResource {
113
104
  readonly locationOutput: cdktf.TerraformOutput;
114
105
  readonly nameOutput: cdktf.TerraformOutput;
115
106
  readonly tagsOutput: cdktf.TerraformOutput;
116
- readonly id: string;
117
- readonly tags: {
118
- [key: string]: string;
119
- };
120
107
  /**
121
108
  * Creates a new Azure Resource Group using the VersionedAzapiResource framework
122
109
  *
@@ -143,11 +130,20 @@ export declare class ResourceGroup extends AzapiResource {
143
130
  * Uses the framework's schema resolution to get the appropriate schema
144
131
  */
145
132
  protected apiSchema(): ApiSchema;
133
+ /**
134
+ * Indicates that location is required for Resource Groups
135
+ */
136
+ protected requiresLocation(): boolean;
146
137
  /**
147
138
  * Creates the resource body for the Azure API call
148
139
  * Transforms the input properties into the JSON format expected by Azure REST API
149
140
  */
150
141
  protected createResourceBody(props: any): any;
142
+ /**
143
+ * Resolves the parent ID for Resource Groups
144
+ * Resource Groups are top-level resources with subscription as parent
145
+ */
146
+ protected resolveParentId(_props: any): string;
151
147
  /**
152
148
  * Get the subscription ID from the Resource Group ID
153
149
  * Extracts the subscription ID from the Azure resource ID format
@@ -158,16 +154,6 @@ export declare class ResourceGroup extends AzapiResource {
158
154
  * Alias for the id property to match original interface
159
155
  */
160
156
  get resourceId(): string;
161
- /**
162
- * Add a tag to the Resource Group
163
- * Note: This modifies the construct props but requires a new deployment to take effect
164
- */
165
- addTag(key: string, value: string): void;
166
- /**
167
- * Remove a tag from the Resource Group
168
- * Note: This modifies the construct props but requires a new deployment to take effect
169
- */
170
- removeTag(key: string): void;
171
157
  /**
172
158
  * Applies ignore changes lifecycle rules if specified in props
173
159
  */