@microsoft/terraform-cdk-constructs 1.0.0 → 1.2.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.
- package/.jsii +60999 -15780
- package/API.md +54947 -10610
- package/README.md +72 -36
- package/docs/monitoring-guide.md +206 -0
- package/docs/testing.md +84 -1
- package/lib/azure-actiongroup/index.d.ts +11 -0
- package/lib/azure-actiongroup/index.js +28 -0
- package/lib/azure-actiongroup/lib/action-group-schemas.d.ts +24 -0
- package/lib/azure-actiongroup/lib/action-group-schemas.js +201 -0
- package/lib/azure-actiongroup/lib/action-group.d.ts +312 -0
- package/lib/azure-actiongroup/lib/action-group.js +201 -0
- package/lib/azure-actiongroup/lib/index.d.ts +5 -0
- package/lib/azure-actiongroup/lib/index.js +22 -0
- package/lib/azure-actiongroup/test/action-group.integ.d.ts +9 -0
- package/lib/azure-actiongroup/test/action-group.integ.js +79 -0
- package/lib/azure-actiongroup/test/action-group.spec.d.ts +8 -0
- package/lib/azure-actiongroup/test/action-group.spec.js +602 -0
- package/lib/azure-activitylogalert/index.d.ts +11 -0
- package/lib/azure-activitylogalert/index.js +28 -0
- package/lib/azure-activitylogalert/lib/activity-log-alert-schemas.d.ts +24 -0
- package/lib/azure-activitylogalert/lib/activity-log-alert-schemas.js +182 -0
- package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +236 -0
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +212 -0
- package/lib/azure-activitylogalert/lib/index.d.ts +5 -0
- package/lib/azure-activitylogalert/lib/index.js +22 -0
- package/lib/azure-activitylogalert/test/activity-log-alert.integ.d.ts +9 -0
- package/lib/azure-activitylogalert/test/activity-log-alert.integ.js +98 -0
- package/lib/azure-activitylogalert/test/activity-log-alert.spec.d.ts +9 -0
- package/lib/azure-activitylogalert/test/activity-log-alert.spec.js +1101 -0
- package/lib/azure-aks/index.d.ts +9 -0
- package/lib/azure-aks/index.js +28 -0
- package/lib/azure-aks/lib/aks-cluster-schemas.d.ts +505 -0
- package/lib/azure-aks/lib/aks-cluster-schemas.js +572 -0
- package/lib/azure-aks/lib/aks-cluster.d.ts +395 -0
- package/lib/azure-aks/lib/aks-cluster.js +489 -0
- package/lib/azure-aks/lib/index.d.ts +11 -0
- package/lib/azure-aks/lib/index.js +38 -0
- package/lib/azure-aks/test/aks-cluster.integ.d.ts +9 -0
- package/lib/azure-aks/test/aks-cluster.integ.js +260 -0
- package/lib/azure-aks/test/aks-cluster.spec.d.ts +8 -0
- package/lib/azure-aks/test/aks-cluster.spec.js +1396 -0
- package/lib/azure-diagnosticsettings/index.d.ts +7 -0
- package/lib/azure-diagnosticsettings/index.js +24 -0
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings-schemas.d.ts +50 -0
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings-schemas.js +207 -0
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +193 -0
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +200 -0
- package/lib/azure-diagnosticsettings/lib/index.d.ts +8 -0
- package/lib/azure-diagnosticsettings/lib/index.js +25 -0
- package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.d.ts +8 -0
- package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.js +432 -0
- package/lib/azure-metricalert/index.d.ts +11 -0
- package/lib/azure-metricalert/index.js +28 -0
- package/lib/azure-metricalert/lib/index.d.ts +5 -0
- package/lib/azure-metricalert/lib/index.js +22 -0
- package/lib/azure-metricalert/lib/metric-alert-schemas.d.ts +24 -0
- package/lib/azure-metricalert/lib/metric-alert-schemas.js +242 -0
- package/lib/azure-metricalert/lib/metric-alert.d.ts +344 -0
- package/lib/azure-metricalert/lib/metric-alert.js +252 -0
- package/lib/azure-metricalert/test/metric-alert.integ.d.ts +9 -0
- package/lib/azure-metricalert/test/metric-alert.integ.js +123 -0
- package/lib/azure-metricalert/test/metric-alert.spec.d.ts +9 -0
- package/lib/azure-metricalert/test/metric-alert.spec.js +1266 -0
- package/lib/azure-networkinterface/index.d.ts +4 -0
- package/lib/azure-networkinterface/index.js +21 -0
- package/lib/azure-networkinterface/lib/index.d.ts +6 -0
- package/lib/azure-networkinterface/lib/index.js +22 -0
- package/lib/azure-networkinterface/lib/network-interface-schemas.d.ts +32 -0
- package/lib/azure-networkinterface/lib/network-interface-schemas.js +222 -0
- package/lib/azure-networkinterface/lib/network-interface.d.ts +265 -0
- package/lib/azure-networkinterface/lib/network-interface.js +228 -0
- package/lib/azure-networkinterface/test/network-interface.integ.d.ts +9 -0
- package/lib/azure-networkinterface/test/network-interface.integ.js +102 -0
- package/lib/azure-networkinterface/test/network-interface.spec.d.ts +8 -0
- package/lib/azure-networkinterface/test/network-interface.spec.js +655 -0
- package/lib/azure-networksecuritygroup/index.d.ts +6 -0
- package/lib/azure-networksecuritygroup/index.js +23 -0
- package/lib/azure-networksecuritygroup/lib/index.d.ts +5 -0
- package/lib/azure-networksecuritygroup/lib/index.js +16 -0
- package/lib/azure-networksecuritygroup/lib/network-security-group-schemas.d.ts +32 -0
- package/lib/azure-networksecuritygroup/lib/network-security-group-schemas.js +198 -0
- package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +268 -0
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +248 -0
- package/lib/azure-networksecuritygroup/test/network-security-group.integ.d.ts +9 -0
- package/lib/azure-networksecuritygroup/test/network-security-group.integ.js +151 -0
- package/lib/azure-networksecuritygroup/test/network-security-group.spec.d.ts +8 -0
- package/lib/azure-networksecuritygroup/test/network-security-group.spec.js +652 -0
- package/lib/azure-publicipaddress/index.d.ts +6 -0
- package/lib/azure-publicipaddress/index.js +23 -0
- package/lib/azure-publicipaddress/lib/index.d.ts +9 -0
- package/lib/azure-publicipaddress/lib/index.js +19 -0
- package/lib/azure-publicipaddress/lib/public-ip-address-schemas.d.ts +32 -0
- package/lib/azure-publicipaddress/lib/public-ip-address-schemas.js +227 -0
- package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +256 -0
- package/lib/azure-publicipaddress/lib/public-ip-address.js +267 -0
- package/lib/azure-publicipaddress/test/public-ip-address.integ.d.ts +9 -0
- package/lib/azure-publicipaddress/test/public-ip-address.integ.js +75 -0
- package/lib/azure-publicipaddress/test/public-ip-address.spec.d.ts +15 -0
- package/lib/azure-publicipaddress/test/public-ip-address.spec.js +498 -0
- package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
- package/lib/azure-resourcegroup/test/resource-group.integ.js +23 -11
- package/lib/azure-storageaccount/lib/storage-account-schemas.d.ts +98 -0
- package/lib/azure-storageaccount/lib/storage-account-schemas.js +1 -1
- package/lib/azure-storageaccount/lib/storage-account.d.ts +38 -1
- package/lib/azure-storageaccount/lib/storage-account.js +138 -2
- package/lib/azure-storageaccount/test/storage-account.integ.js +91 -12
- package/lib/azure-subnet/index.d.ts +4 -0
- package/lib/azure-subnet/index.js +21 -0
- package/lib/azure-subnet/lib/index.d.ts +5 -0
- package/lib/azure-subnet/lib/index.js +22 -0
- package/lib/azure-subnet/lib/subnet-schemas.d.ts +32 -0
- package/lib/azure-subnet/lib/subnet-schemas.js +237 -0
- package/lib/azure-subnet/lib/subnet.d.ts +285 -0
- package/lib/azure-subnet/lib/subnet.js +254 -0
- package/lib/azure-subnet/test/subnet.integ.d.ts +11 -0
- package/lib/azure-subnet/test/subnet.integ.js +80 -0
- package/lib/azure-subnet/test/subnet.spec.d.ts +8 -0
- package/lib/azure-subnet/test/subnet.spec.js +396 -0
- package/lib/azure-virtualmachine/index.d.ts +7 -0
- package/lib/azure-virtualmachine/index.js +24 -0
- package/lib/azure-virtualmachine/lib/index.d.ts +11 -0
- package/lib/azure-virtualmachine/lib/index.js +38 -0
- package/lib/azure-virtualmachine/lib/virtual-machine-schemas.d.ts +327 -0
- package/lib/azure-virtualmachine/lib/virtual-machine-schemas.js +544 -0
- package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +377 -0
- package/lib/azure-virtualmachine/lib/virtual-machine.js +462 -0
- package/lib/azure-virtualmachine/test/virtual-machine.integ.d.ts +9 -0
- package/lib/azure-virtualmachine/test/virtual-machine.integ.js +220 -0
- package/lib/azure-virtualmachine/test/virtual-machine.spec.d.ts +9 -0
- package/lib/azure-virtualmachine/test/virtual-machine.spec.js +1032 -0
- package/lib/azure-virtualnetwork/index.d.ts +10 -0
- package/lib/azure-virtualnetwork/index.js +28 -0
- package/lib/azure-virtualnetwork/lib/index.d.ts +9 -0
- package/lib/azure-virtualnetwork/lib/index.js +22 -0
- package/lib/azure-virtualnetwork/lib/virtual-network-schemas.d.ts +32 -0
- package/lib/azure-virtualnetwork/lib/virtual-network-schemas.js +236 -0
- package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +213 -0
- package/lib/azure-virtualnetwork/lib/virtual-network.js +245 -0
- package/lib/azure-virtualnetwork/test/virtual-network.integ.d.ts +9 -0
- package/lib/azure-virtualnetwork/test/virtual-network.integ.js +91 -0
- package/lib/azure-virtualnetwork/test/virtual-network.spec.d.ts +8 -0
- package/lib/azure-virtualnetwork/test/virtual-network.spec.js +398 -0
- package/lib/azure-vmss/index.d.ts +6 -0
- package/lib/azure-vmss/index.js +23 -0
- package/lib/azure-vmss/lib/index.d.ts +9 -0
- package/lib/azure-vmss/lib/index.js +39 -0
- package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +258 -0
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +503 -0
- package/lib/azure-vmss/lib/vmss-schemas.d.ts +472 -0
- package/lib/azure-vmss/lib/vmss-schemas.js +444 -0
- package/lib/azure-vmss/test/virtual-machine-scale-set.integ.d.ts +15 -0
- package/lib/azure-vmss/test/virtual-machine-scale-set.integ.js +261 -0
- package/lib/azure-vmss/test/virtual-machine-scale-set.spec.d.ts +8 -0
- package/lib/azure-vmss/test/virtual-machine-scale-set.spec.js +997 -0
- package/lib/core-azure/lib/azapi/azapi-resource.d.ts +95 -27
- package/lib/core-azure/lib/azapi/azapi-resource.js +95 -58
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +33 -21
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +69 -27
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +134 -120
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +209 -59
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +141 -128
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +183 -36
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +55 -43
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +94 -26
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +129 -116
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +155 -32
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +187 -174
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +267 -48
- package/lib/core-azure/lib/azapi/providers-azapi/index.d.ts +10 -10
- package/lib/core-azure/lib/azapi/providers-azapi/index.js +1 -1
- package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.d.ts +0 -0
- package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.js +13 -0
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +174 -162
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +274 -14
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +239 -225
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +360 -76
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +163 -150
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +221 -46
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +162 -149
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +249 -50
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +4 -2
- package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
- package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
- package/lib/index.d.ts +37 -0
- package/lib/index.js +40 -2
- package/lib/testing/index.d.ts +92 -2
- package/lib/testing/index.js +258 -18
- package/lib/testing/lib/cleanup.d.ts +229 -0
- package/lib/testing/lib/cleanup.js +331 -0
- package/lib/testing/lib/metadata.d.ts +151 -0
- package/lib/testing/lib/metadata.js +180 -0
- package/lib/testing/lib/naming.d.ts +96 -0
- package/lib/testing/lib/naming.js +336 -0
- package/node_modules/uuid/LICENSE.md +9 -0
- package/node_modules/uuid/README.md +510 -0
- package/node_modules/uuid/dist/cjs/index.d.ts +15 -0
- package/node_modules/uuid/dist/cjs/index.js +31 -0
- package/node_modules/uuid/dist/cjs/max.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/max.js +3 -0
- package/node_modules/uuid/dist/cjs/md5.d.ts +4 -0
- package/node_modules/uuid/dist/cjs/md5.js +13 -0
- package/node_modules/uuid/dist/cjs/native.d.ts +6 -0
- package/node_modules/uuid/dist/cjs/native.js +4 -0
- package/node_modules/uuid/dist/cjs/nil.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/nil.js +3 -0
- package/node_modules/uuid/dist/cjs/package.json +1 -0
- package/node_modules/uuid/dist/cjs/parse.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/parse.js +11 -0
- package/node_modules/uuid/dist/cjs/regex.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/regex.js +3 -0
- package/node_modules/uuid/dist/cjs/rng.d.ts +1 -0
- package/node_modules/uuid/dist/cjs/rng.js +13 -0
- package/node_modules/uuid/dist/cjs/sha1.d.ts +4 -0
- package/node_modules/uuid/dist/cjs/sha1.js +13 -0
- package/node_modules/uuid/dist/cjs/stringify.d.ts +3 -0
- package/node_modules/uuid/dist/cjs/stringify.js +39 -0
- package/node_modules/uuid/dist/cjs/types.d.ts +21 -0
- package/node_modules/uuid/dist/cjs/types.js +2 -0
- package/node_modules/uuid/dist/cjs/uuid-bin.d.ts +1 -0
- package/node_modules/uuid/dist/cjs/uuid-bin.js +72 -0
- package/node_modules/uuid/dist/cjs/v1.d.ts +11 -0
- package/node_modules/uuid/dist/cjs/v1.js +87 -0
- package/node_modules/uuid/dist/cjs/v1ToV6.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/v1ToV6.js +13 -0
- package/node_modules/uuid/dist/cjs/v3.d.ts +9 -0
- package/node_modules/uuid/dist/cjs/v3.js +14 -0
- package/node_modules/uuid/dist/cjs/v35.d.ts +7 -0
- package/node_modules/uuid/dist/cjs/v35.js +41 -0
- package/node_modules/uuid/dist/cjs/v4.d.ts +4 -0
- package/node_modules/uuid/dist/cjs/v4.js +29 -0
- package/node_modules/uuid/dist/cjs/v5.d.ts +9 -0
- package/node_modules/uuid/dist/cjs/v5.js +14 -0
- package/node_modules/uuid/dist/cjs/v6.d.ts +4 -0
- package/node_modules/uuid/dist/cjs/v6.js +19 -0
- package/node_modules/uuid/dist/cjs/v6ToV1.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/v6ToV1.js +13 -0
- package/node_modules/uuid/dist/cjs/v7.d.ts +9 -0
- package/node_modules/uuid/dist/cjs/v7.js +69 -0
- package/node_modules/uuid/dist/cjs/validate.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/validate.js +7 -0
- package/node_modules/uuid/dist/cjs/version.d.ts +2 -0
- package/node_modules/uuid/dist/cjs/version.js +10 -0
- package/node_modules/uuid/dist/cjs-browser/index.d.ts +15 -0
- package/node_modules/uuid/dist/cjs-browser/index.js +31 -0
- package/node_modules/uuid/dist/cjs-browser/max.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/max.js +3 -0
- package/node_modules/uuid/dist/cjs-browser/md5.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/md5.js +137 -0
- package/node_modules/uuid/dist/cjs-browser/native.d.ts +4 -0
- package/node_modules/uuid/dist/cjs-browser/native.js +4 -0
- package/node_modules/uuid/dist/cjs-browser/nil.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/nil.js +3 -0
- package/node_modules/uuid/dist/cjs-browser/package.json +1 -0
- package/node_modules/uuid/dist/cjs-browser/parse.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/parse.js +11 -0
- package/node_modules/uuid/dist/cjs-browser/regex.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/regex.js +3 -0
- package/node_modules/uuid/dist/cjs-browser/rng.d.ts +1 -0
- package/node_modules/uuid/dist/cjs-browser/rng.js +14 -0
- package/node_modules/uuid/dist/cjs-browser/sha1.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/sha1.js +72 -0
- package/node_modules/uuid/dist/cjs-browser/stringify.d.ts +3 -0
- package/node_modules/uuid/dist/cjs-browser/stringify.js +39 -0
- package/node_modules/uuid/dist/cjs-browser/types.d.ts +21 -0
- package/node_modules/uuid/dist/cjs-browser/types.js +2 -0
- package/node_modules/uuid/dist/cjs-browser/uuid-bin.d.ts +1 -0
- package/node_modules/uuid/dist/cjs-browser/uuid-bin.js +72 -0
- package/node_modules/uuid/dist/cjs-browser/v1.d.ts +11 -0
- package/node_modules/uuid/dist/cjs-browser/v1.js +87 -0
- package/node_modules/uuid/dist/cjs-browser/v1ToV6.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/v1ToV6.js +13 -0
- package/node_modules/uuid/dist/cjs-browser/v3.d.ts +9 -0
- package/node_modules/uuid/dist/cjs-browser/v3.js +14 -0
- package/node_modules/uuid/dist/cjs-browser/v35.d.ts +7 -0
- package/node_modules/uuid/dist/cjs-browser/v35.js +41 -0
- package/node_modules/uuid/dist/cjs-browser/v4.d.ts +4 -0
- package/node_modules/uuid/dist/cjs-browser/v4.js +29 -0
- package/node_modules/uuid/dist/cjs-browser/v5.d.ts +9 -0
- package/node_modules/uuid/dist/cjs-browser/v5.js +14 -0
- package/node_modules/uuid/dist/cjs-browser/v6.d.ts +4 -0
- package/node_modules/uuid/dist/cjs-browser/v6.js +19 -0
- package/node_modules/uuid/dist/cjs-browser/v6ToV1.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/v6ToV1.js +13 -0
- package/node_modules/uuid/dist/cjs-browser/v7.d.ts +9 -0
- package/node_modules/uuid/dist/cjs-browser/v7.js +69 -0
- package/node_modules/uuid/dist/cjs-browser/validate.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/validate.js +7 -0
- package/node_modules/uuid/dist/cjs-browser/version.d.ts +2 -0
- package/node_modules/uuid/dist/cjs-browser/version.js +10 -0
- package/node_modules/uuid/dist/esm/bin/uuid +2 -0
- package/node_modules/uuid/dist/esm/index.d.ts +15 -0
- package/node_modules/uuid/dist/esm/index.js +14 -0
- package/node_modules/uuid/dist/esm/max.d.ts +2 -0
- package/node_modules/uuid/dist/esm/max.js +1 -0
- package/node_modules/uuid/dist/esm/md5.d.ts +4 -0
- package/node_modules/uuid/dist/esm/md5.js +11 -0
- package/node_modules/uuid/dist/esm/native.d.ts +6 -0
- package/node_modules/uuid/dist/esm/native.js +2 -0
- package/node_modules/uuid/dist/esm/nil.d.ts +2 -0
- package/node_modules/uuid/dist/esm/nil.js +1 -0
- package/node_modules/uuid/dist/esm/parse.d.ts +2 -0
- package/node_modules/uuid/dist/esm/parse.js +9 -0
- package/node_modules/uuid/dist/esm/regex.d.ts +2 -0
- package/node_modules/uuid/dist/esm/regex.js +1 -0
- package/node_modules/uuid/dist/esm/rng.d.ts +1 -0
- package/node_modules/uuid/dist/esm/rng.js +10 -0
- package/node_modules/uuid/dist/esm/sha1.d.ts +4 -0
- package/node_modules/uuid/dist/esm/sha1.js +11 -0
- package/node_modules/uuid/dist/esm/stringify.d.ts +3 -0
- package/node_modules/uuid/dist/esm/stringify.js +35 -0
- package/node_modules/uuid/dist/esm/types.d.ts +21 -0
- package/node_modules/uuid/dist/esm/types.js +1 -0
- package/node_modules/uuid/dist/esm/uuid-bin.d.ts +1 -0
- package/node_modules/uuid/dist/esm/uuid-bin.js +70 -0
- package/node_modules/uuid/dist/esm/v1.d.ts +11 -0
- package/node_modules/uuid/dist/esm/v1.js +83 -0
- package/node_modules/uuid/dist/esm/v1ToV6.d.ts +2 -0
- package/node_modules/uuid/dist/esm/v1ToV6.js +10 -0
- package/node_modules/uuid/dist/esm/v3.d.ts +9 -0
- package/node_modules/uuid/dist/esm/v3.js +9 -0
- package/node_modules/uuid/dist/esm/v35.d.ts +7 -0
- package/node_modules/uuid/dist/esm/v35.js +36 -0
- package/node_modules/uuid/dist/esm/v4.d.ts +4 -0
- package/node_modules/uuid/dist/esm/v4.js +27 -0
- package/node_modules/uuid/dist/esm/v5.d.ts +9 -0
- package/node_modules/uuid/dist/esm/v5.js +9 -0
- package/node_modules/uuid/dist/esm/v6.d.ts +4 -0
- package/node_modules/uuid/dist/esm/v6.js +17 -0
- package/node_modules/uuid/dist/esm/v6ToV1.d.ts +2 -0
- package/node_modules/uuid/dist/esm/v6ToV1.js +10 -0
- package/node_modules/uuid/dist/esm/v7.d.ts +9 -0
- package/node_modules/uuid/dist/esm/v7.js +65 -0
- package/node_modules/uuid/dist/esm/validate.d.ts +2 -0
- package/node_modules/uuid/dist/esm/validate.js +5 -0
- package/node_modules/uuid/dist/esm/version.d.ts +2 -0
- package/node_modules/uuid/dist/esm/version.js +8 -0
- package/node_modules/uuid/dist/esm-browser/index.d.ts +15 -0
- package/node_modules/uuid/dist/esm-browser/index.js +14 -0
- package/node_modules/uuid/dist/esm-browser/max.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/max.js +1 -0
- package/node_modules/uuid/dist/esm-browser/md5.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/md5.js +135 -0
- package/node_modules/uuid/dist/esm-browser/native.d.ts +4 -0
- package/node_modules/uuid/dist/esm-browser/native.js +2 -0
- package/node_modules/uuid/dist/esm-browser/nil.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/nil.js +1 -0
- package/node_modules/uuid/dist/esm-browser/parse.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/parse.js +9 -0
- package/node_modules/uuid/dist/esm-browser/regex.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/regex.js +1 -0
- package/node_modules/uuid/dist/esm-browser/rng.d.ts +1 -0
- package/node_modules/uuid/dist/esm-browser/rng.js +11 -0
- package/node_modules/uuid/dist/esm-browser/sha1.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/sha1.js +70 -0
- package/node_modules/uuid/dist/esm-browser/stringify.d.ts +3 -0
- package/node_modules/uuid/dist/esm-browser/stringify.js +35 -0
- package/node_modules/uuid/dist/esm-browser/types.d.ts +21 -0
- package/node_modules/uuid/dist/esm-browser/types.js +1 -0
- package/node_modules/uuid/dist/esm-browser/uuid-bin.d.ts +1 -0
- package/node_modules/uuid/dist/esm-browser/uuid-bin.js +70 -0
- package/node_modules/uuid/dist/esm-browser/v1.d.ts +11 -0
- package/node_modules/uuid/dist/esm-browser/v1.js +83 -0
- package/node_modules/uuid/dist/esm-browser/v1ToV6.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/v1ToV6.js +10 -0
- package/node_modules/uuid/dist/esm-browser/v3.d.ts +9 -0
- package/node_modules/uuid/dist/esm-browser/v3.js +9 -0
- package/node_modules/uuid/dist/esm-browser/v35.d.ts +7 -0
- package/node_modules/uuid/dist/esm-browser/v35.js +36 -0
- package/node_modules/uuid/dist/esm-browser/v4.d.ts +4 -0
- package/node_modules/uuid/dist/esm-browser/v4.js +27 -0
- package/node_modules/uuid/dist/esm-browser/v5.d.ts +9 -0
- package/node_modules/uuid/dist/esm-browser/v5.js +9 -0
- package/node_modules/uuid/dist/esm-browser/v6.d.ts +4 -0
- package/node_modules/uuid/dist/esm-browser/v6.js +17 -0
- package/node_modules/uuid/dist/esm-browser/v6ToV1.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/v6ToV1.js +10 -0
- package/node_modules/uuid/dist/esm-browser/v7.d.ts +9 -0
- package/node_modules/uuid/dist/esm-browser/v7.js +65 -0
- package/node_modules/uuid/dist/esm-browser/validate.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/validate.js +5 -0
- package/node_modules/uuid/dist/esm-browser/version.d.ts +2 -0
- package/node_modules/uuid/dist/esm-browser/version.js +8 -0
- package/node_modules/uuid/package.json +132 -0
- package/package.json +17 -12
- package/scripts/cleanup-test-resources.ts +369 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure Subnet across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.Network/virtualNetworks/subnets
|
|
6
|
+
* across all supported API versions. The schemas are used by the AzapiResource
|
|
7
|
+
* framework for validation, transformation, and version management.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.SUBNET_TYPE = exports.ALL_SUBNET_VERSIONS = exports.SUBNET_VERSION_2024_10_01 = exports.SUBNET_VERSION_2024_07_01 = exports.SUBNET_SCHEMA_2024_10_01 = exports.SUBNET_SCHEMA_2024_07_01 = 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 Subnet versions
|
|
17
|
+
*/
|
|
18
|
+
const COMMON_SUBNET_PROPERTIES = {
|
|
19
|
+
name: {
|
|
20
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
21
|
+
required: false,
|
|
22
|
+
description: "Name of the subnet",
|
|
23
|
+
validation: [
|
|
24
|
+
{
|
|
25
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
26
|
+
value: "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,78}[a-zA-Z0-9_]$",
|
|
27
|
+
message: "Subnet name must be 2-80 chars, alphanumeric, periods, underscores, hyphens",
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
virtualNetworkName: {
|
|
32
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
33
|
+
required: true,
|
|
34
|
+
description: "Name of the parent virtual network",
|
|
35
|
+
validation: [
|
|
36
|
+
{
|
|
37
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
38
|
+
message: "Virtual network name is required",
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
addressPrefix: {
|
|
43
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
44
|
+
required: true,
|
|
45
|
+
description: "Address prefix for the subnet in CIDR notation",
|
|
46
|
+
validation: [
|
|
47
|
+
{
|
|
48
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
49
|
+
message: "Address prefix is required",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
networkSecurityGroup: {
|
|
54
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
55
|
+
required: false,
|
|
56
|
+
description: "Reference to network security group",
|
|
57
|
+
},
|
|
58
|
+
routeTable: {
|
|
59
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
60
|
+
required: false,
|
|
61
|
+
description: "Reference to route table",
|
|
62
|
+
},
|
|
63
|
+
serviceEndpoints: {
|
|
64
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
65
|
+
required: false,
|
|
66
|
+
description: "Service endpoints for the subnet",
|
|
67
|
+
},
|
|
68
|
+
delegations: {
|
|
69
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
70
|
+
required: false,
|
|
71
|
+
description: "Subnet delegations for Azure services",
|
|
72
|
+
},
|
|
73
|
+
privateEndpointNetworkPolicies: {
|
|
74
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
75
|
+
required: false,
|
|
76
|
+
defaultValue: "Disabled",
|
|
77
|
+
description: "Private endpoint network policies (Enabled or Disabled)",
|
|
78
|
+
},
|
|
79
|
+
privateLinkServiceNetworkPolicies: {
|
|
80
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
81
|
+
required: false,
|
|
82
|
+
defaultValue: "Enabled",
|
|
83
|
+
description: "Private link service network policies (Enabled or Disabled)",
|
|
84
|
+
},
|
|
85
|
+
natGateway: {
|
|
86
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
87
|
+
required: false,
|
|
88
|
+
description: "Reference to NAT gateway",
|
|
89
|
+
},
|
|
90
|
+
ipAllocations: {
|
|
91
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
92
|
+
required: false,
|
|
93
|
+
description: "IP allocations for the subnet",
|
|
94
|
+
},
|
|
95
|
+
ignoreChanges: {
|
|
96
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
97
|
+
required: false,
|
|
98
|
+
description: "Array of property names to ignore during updates",
|
|
99
|
+
validation: [
|
|
100
|
+
{
|
|
101
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
102
|
+
value: version_interfaces_1.PropertyType.ARRAY,
|
|
103
|
+
message: "IgnoreChanges must be an array of strings",
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
// =============================================================================
|
|
109
|
+
// VERSION-SPECIFIC SCHEMAS
|
|
110
|
+
// =============================================================================
|
|
111
|
+
/**
|
|
112
|
+
* API Schema for Subnet version 2024-07-01
|
|
113
|
+
*/
|
|
114
|
+
exports.SUBNET_SCHEMA_2024_07_01 = {
|
|
115
|
+
resourceType: "Microsoft.Network/virtualNetworks/subnets",
|
|
116
|
+
version: "2024-07-01",
|
|
117
|
+
properties: {
|
|
118
|
+
...COMMON_SUBNET_PROPERTIES,
|
|
119
|
+
},
|
|
120
|
+
required: ["virtualNetworkName", "addressPrefix"],
|
|
121
|
+
optional: [
|
|
122
|
+
"name",
|
|
123
|
+
"networkSecurityGroup",
|
|
124
|
+
"routeTable",
|
|
125
|
+
"serviceEndpoints",
|
|
126
|
+
"delegations",
|
|
127
|
+
"privateEndpointNetworkPolicies",
|
|
128
|
+
"privateLinkServiceNetworkPolicies",
|
|
129
|
+
"natGateway",
|
|
130
|
+
"ipAllocations",
|
|
131
|
+
"ignoreChanges",
|
|
132
|
+
],
|
|
133
|
+
deprecated: [],
|
|
134
|
+
transformationRules: {},
|
|
135
|
+
validationRules: [
|
|
136
|
+
{
|
|
137
|
+
property: "addressPrefix",
|
|
138
|
+
rules: [
|
|
139
|
+
{
|
|
140
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
141
|
+
message: "Address prefix is required for Subnets",
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* API Schema for Subnet version 2024-10-01
|
|
149
|
+
*/
|
|
150
|
+
exports.SUBNET_SCHEMA_2024_10_01 = {
|
|
151
|
+
resourceType: "Microsoft.Network/virtualNetworks/subnets",
|
|
152
|
+
version: "2024-10-01",
|
|
153
|
+
properties: {
|
|
154
|
+
...COMMON_SUBNET_PROPERTIES,
|
|
155
|
+
},
|
|
156
|
+
required: ["virtualNetworkName", "addressPrefix"],
|
|
157
|
+
optional: [
|
|
158
|
+
"name",
|
|
159
|
+
"networkSecurityGroup",
|
|
160
|
+
"routeTable",
|
|
161
|
+
"serviceEndpoints",
|
|
162
|
+
"delegations",
|
|
163
|
+
"privateEndpointNetworkPolicies",
|
|
164
|
+
"privateLinkServiceNetworkPolicies",
|
|
165
|
+
"natGateway",
|
|
166
|
+
"ipAllocations",
|
|
167
|
+
"ignoreChanges",
|
|
168
|
+
],
|
|
169
|
+
deprecated: [],
|
|
170
|
+
transformationRules: {},
|
|
171
|
+
validationRules: [
|
|
172
|
+
{
|
|
173
|
+
property: "addressPrefix",
|
|
174
|
+
rules: [
|
|
175
|
+
{
|
|
176
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
177
|
+
message: "Address prefix is required for Subnets",
|
|
178
|
+
},
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
],
|
|
182
|
+
};
|
|
183
|
+
// =============================================================================
|
|
184
|
+
// VERSION CONFIGURATIONS
|
|
185
|
+
// =============================================================================
|
|
186
|
+
/**
|
|
187
|
+
* Version configuration for Subnet 2024-07-01
|
|
188
|
+
*/
|
|
189
|
+
exports.SUBNET_VERSION_2024_07_01 = {
|
|
190
|
+
version: "2024-07-01",
|
|
191
|
+
schema: exports.SUBNET_SCHEMA_2024_07_01,
|
|
192
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
193
|
+
releaseDate: "2024-07-01",
|
|
194
|
+
deprecationDate: undefined,
|
|
195
|
+
sunsetDate: undefined,
|
|
196
|
+
breakingChanges: [],
|
|
197
|
+
migrationGuide: "/docs/subnet/migration-2024-07-01",
|
|
198
|
+
changeLog: [
|
|
199
|
+
{
|
|
200
|
+
changeType: "added",
|
|
201
|
+
description: "Stable release with enhanced subnet features",
|
|
202
|
+
breaking: false,
|
|
203
|
+
},
|
|
204
|
+
],
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Version configuration for Subnet 2024-10-01
|
|
208
|
+
*/
|
|
209
|
+
exports.SUBNET_VERSION_2024_10_01 = {
|
|
210
|
+
version: "2024-10-01",
|
|
211
|
+
schema: exports.SUBNET_SCHEMA_2024_10_01,
|
|
212
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
213
|
+
releaseDate: "2024-10-01",
|
|
214
|
+
deprecationDate: undefined,
|
|
215
|
+
sunsetDate: undefined,
|
|
216
|
+
breakingChanges: [],
|
|
217
|
+
migrationGuide: "/docs/subnet/migration-2024-10-01",
|
|
218
|
+
changeLog: [
|
|
219
|
+
{
|
|
220
|
+
changeType: "updated",
|
|
221
|
+
description: "Enhanced performance and reliability improvements",
|
|
222
|
+
breaking: false,
|
|
223
|
+
},
|
|
224
|
+
],
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* All supported Subnet versions for registration
|
|
228
|
+
*/
|
|
229
|
+
exports.ALL_SUBNET_VERSIONS = [
|
|
230
|
+
exports.SUBNET_VERSION_2024_07_01,
|
|
231
|
+
exports.SUBNET_VERSION_2024_10_01,
|
|
232
|
+
];
|
|
233
|
+
/**
|
|
234
|
+
* Resource type constant
|
|
235
|
+
*/
|
|
236
|
+
exports.SUBNET_TYPE = "Microsoft.Network/virtualNetworks/subnets";
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibmV0LXNjaGVtYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtc3VibmV0L2xpYi9zdWJuZXQtc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCwyR0FPNEU7QUFFNUUsZ0ZBQWdGO0FBQ2hGLDhCQUE4QjtBQUM5QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLHdCQUF3QixHQUEwQztJQUN0RSxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsYUFBYTtnQkFDMUMsS0FBSyxFQUFFLCtDQUErQztnQkFDdEQsT0FBTyxFQUNMLDZFQUE2RTthQUNoRjtTQUNGO0tBQ0Y7SUFDRCxrQkFBa0IsRUFBRTtRQUNsQixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLG9DQUFvQztRQUNqRCxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLGtDQUFrQzthQUM1QztTQUNGO0tBQ0Y7SUFDRCxhQUFhLEVBQUU7UUFDYixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLGdEQUFnRDtRQUM3RCxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLDRCQUE0QjthQUN0QztTQUNGO0tBQ0Y7SUFDRCxvQkFBb0IsRUFBRTtRQUNwQixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FB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aUNBQXlCO0lBQ3pCLGlDQUF5QjtDQUMxQixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLFdBQVcsR0FBRywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQVBJIHNjaGVtYXMgZm9yIEF6dXJlIFN1Ym5ldCBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0Lk5ldHdvcmsvdmlydHVhbE5ldHdvcmtzL3N1Ym5ldHNcbiAqIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy4gVGhlIHNjaGVtYXMgYXJlIHVzZWQgYnkgdGhlIEF6YXBpUmVzb3VyY2VcbiAqIGZyYW1ld29yayBmb3IgdmFsaWRhdGlvbiwgdHJhbnNmb3JtYXRpb24sIGFuZCB2ZXJzaW9uIG1hbmFnZW1lbnQuXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBpU2NoZW1hLFxuICBQcm9wZXJ0eURlZmluaXRpb24sXG4gIFByb3BlcnR5VHlwZSxcbiAgVmFsaWRhdGlvblJ1bGVUeXBlLFxuICBWZXJzaW9uQ29uZmlnLFxuICBWZXJzaW9uU3VwcG9ydExldmVsLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT01NT04gUFJPUEVSVFkgREVGSU5JVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnR5IGRlZmluaXRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIFN1Ym5ldCB2ZXJzaW9uc1xuICovXG5jb25zdCBDT01NT05fU1VCTkVUX1BST1BFUlRJRVM6IHsgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uIH0gPSB7XG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiTmFtZSBvZiB0aGUgc3VibmV0XCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl5bYS16QS1aMC05XVthLXpBLVowLTkuXy1dezAsNzh9W2EtekEtWjAtOV9dJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiU3VibmV0IG5hbWUgbXVzdCBiZSAyLTgwIGNoYXJzLCBhbHBoYW51bWVyaWMsIHBlcmlvZHMsIHVuZGVyc2NvcmVzLCBoeXBoZW5zXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHZpcnR1YWxOZXR3b3JrTmFtZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBcIk5hbWUgb2YgdGhlIHBhcmVudCB2aXJ0dWFsIG5ldHdvcmtcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiVmlydHVhbCBuZXR3b3JrIG5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgYWRkcmVzc1ByZWZpeDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFkZHJlc3MgcHJlZml4IGZvciB0aGUgc3VibmV0IGluIENJRFIgbm90YXRpb25cIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiQWRkcmVzcyBwcmVmaXggaXMgcmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgbmV0d29ya1NlY3VyaXR5R3JvdXA6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiUmVmZXJlbmNlIHRvIG5ldHdvcmsgc2VjdXJpdHkgZ3JvdXBcIixcbiAgfSxcbiAgcm91dGVUYWJsZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJSZWZlcmVuY2UgdG8gcm91dGUgdGFibGVcIixcbiAgfSxcbiAgc2VydmljZUVuZHBvaW50czoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlNlcnZpY2UgZW5kcG9pbnRzIGZvciB0aGUgc3VibmV0XCIsXG4gIH0sXG4gIGRlbGVnYXRpb25zOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiU3VibmV0IGRlbGVnYXRpb25zIGZvciBBenVyZSBzZXJ2aWNlc1wiLFxuICB9LFxuICBwcml2YXRlRW5kcG9pbnROZXR3b3JrUG9saWNpZXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBcIkRpc2FibGVkXCIsXG4gICAgZGVzY3JpcHRpb246IFwiUHJpdmF0ZSBlbmRwb2ludCBuZXR3b3JrIHBvbGljaWVzIChFbmFibGVkIG9yIERpc2FibGVkKVwiLFxuICB9LFxuICBwcml2YXRlTGlua1NlcnZpY2VOZXR3b3JrUG9saWNpZXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBcIkVuYWJsZWRcIixcbiAgICBkZXNjcmlwdGlvbjogXCJQcml2YXRlIGxpbmsgc2VydmljZSBuZXR3b3JrIHBvbGljaWVzIChFbmFibGVkIG9yIERpc2FibGVkKVwiLFxuICB9LFxuICBuYXRHYXRld2F5OiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlJlZmVyZW5jZSB0byBOQVQgZ2F0ZXdheVwiLFxuICB9LFxuICBpcEFsbG9jYXRpb25zOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiSVAgYWxsb2NhdGlvbnMgZm9yIHRoZSBzdWJuZXRcIixcbiAgfSxcbiAgaWdub3JlQ2hhbmdlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFycmF5IG9mIHByb3BlcnR5IG5hbWVzIHRvIGlnbm9yZSBkdXJpbmcgdXBkYXRlc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgICAgICBtZXNzYWdlOiBcIklnbm9yZUNoYW5nZXMgbXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTi1TUEVDSUZJQyBTQ0hFTUFTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIFN1Ym5ldCB2ZXJzaW9uIDIwMjQtMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFNVQk5FVF9TQ0hFTUFfMjAyNF8wN18wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0Lk5ldHdvcmsvdmlydHVhbE5ldHdvcmtzL3N1Ym5ldHNcIixcbiAgdmVyc2lvbjogXCIyMDI0LTA3LTAxXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAuLi5DT01NT05fU1VCTkVUX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbXCJ2aXJ0dWFsTmV0d29ya05hbWVcIiwgXCJhZGRyZXNzUHJlZml4XCJdLFxuICBvcHRpb25hbDogW1xuICAgIFwibmFtZVwiLFxuICAgIFwibmV0d29ya1NlY3VyaXR5R3JvdXBcIixcbiAgICBcInJvdXRlVGFibGVcIixcbiAgICBcInNlcnZpY2VFbmRwb2ludHNcIixcbiAgICBcImRlbGVnYXRpb25zXCIsXG4gICAgXCJwcml2YXRlRW5kcG9pbnROZXR3b3JrUG9saWNpZXNcIixcbiAgICBcInByaXZhdGVMaW5rU2VydmljZU5ldHdvcmtQb2xpY2llc1wiLFxuICAgIFwibmF0R2F0ZXdheVwiLFxuICAgIFwiaXBBbGxvY2F0aW9uc1wiLFxuICAgIFwiaWdub3JlQ2hhbmdlc1wiLFxuICBdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcImFkZHJlc3NQcmVmaXhcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiQWRkcmVzcyBwcmVmaXggaXMgcmVxdWlyZWQgZm9yIFN1Ym5ldHNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgU3VibmV0IHZlcnNpb24gMjAyNC0xMC0wMVxuICovXG5leHBvcnQgY29uc3QgU1VCTkVUX1NDSEVNQV8yMDI0XzEwXzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya3Mvc3VibmV0c1wiLFxuICB2ZXJzaW9uOiBcIjIwMjQtMTAtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9TVUJORVRfUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcInZpcnR1YWxOZXR3b3JrTmFtZVwiLCBcImFkZHJlc3NQcmVmaXhcIl0sXG4gIG9wdGlvbmFsOiBbXG4gICAgXCJuYW1lXCIsXG4gICAgXCJuZXR3b3JrU2VjdXJpdHlHcm91cFwiLFxuICAgIFwicm91dGVUYWJsZVwiLFxuICAgIFwic2VydmljZUVuZHBvaW50c1wiLFxuICAgIFwiZGVsZWdhdGlvbnNcIixcbiAgICBcInByaXZhdGVFbmRwb2ludE5ldHdvcmtQb2xpY2llc1wiLFxuICAgIFwicHJpdmF0ZUxpbmtTZXJ2aWNlTmV0d29ya1BvbGljaWVzXCIsXG4gICAgXCJuYXRHYXRld2F5XCIsXG4gICAgXCJpcEFsbG9jYXRpb25zXCIsXG4gICAgXCJpZ25vcmVDaGFuZ2VzXCIsXG4gIF0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwiYWRkcmVzc1ByZWZpeFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJBZGRyZXNzIHByZWZpeCBpcyByZXF1aXJlZCBmb3IgU3VibmV0c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBTdWJuZXQgMjAyNC0wNy0wMVxuICovXG5leHBvcnQgY29uc3QgU1VCTkVUX1ZFUlNJT05fMjAyNF8wN18wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDI0LTA3LTAxXCIsXG4gIHNjaGVtYTogU1VCTkVUX1NDSEVNQV8yMDI0XzA3XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTA3LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3N1Ym5ldC9taWdyYXRpb24tMjAyNC0wNy0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcImFkZGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTdGFibGUgcmVsZWFzZSB3aXRoIGVuaGFuY2VkIHN1Ym5ldCBmZWF0dXJlc1wiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgU3VibmV0IDIwMjQtMTAtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFNVQk5FVF9WRVJTSU9OXzIwMjRfMTBfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyNC0xMC0wMVwiLFxuICBzY2hlbWE6IFNVQk5FVF9TQ0hFTUFfMjAyNF8xMF8wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyNC0xMC0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9zdWJuZXQvbWlncmF0aW9uLTIwMjQtMTAtMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJ1cGRhdGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJFbmhhbmNlZCBwZXJmb3JtYW5jZSBhbmQgcmVsaWFiaWxpdHkgaW1wcm92ZW1lbnRzXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBTdWJuZXQgdmVyc2lvbnMgZm9yIHJlZ2lzdHJhdGlvblxuICovXG5leHBvcnQgY29uc3QgQUxMX1NVQk5FVF9WRVJTSU9OUzogVmVyc2lvbkNvbmZpZ1tdID0gW1xuICBTVUJORVRfVkVSU0lPTl8yMDI0XzA3XzAxLFxuICBTVUJORVRfVkVSU0lPTl8yMDI0XzEwXzAxLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBTVUJORVRfVFlQRSA9IFwiTWljcm9zb2Z0Lk5ldHdvcmsvdmlydHVhbE5ldHdvcmtzL3N1Ym5ldHNcIjtcbiJdfQ==
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Subnet implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a unified implementation for Azure Subnets that
|
|
5
|
+
* automatically handles version management, schema validation, and property
|
|
6
|
+
* transformation across all supported API versions.
|
|
7
|
+
*
|
|
8
|
+
* Supported API Versions:
|
|
9
|
+
* - 2024-07-01 (Active)
|
|
10
|
+
* - 2024-10-01 (Active)
|
|
11
|
+
* - 2025-01-01 (Active, Latest)
|
|
12
|
+
*
|
|
13
|
+
* Features:
|
|
14
|
+
* - Automatic latest version resolution when no version is specified
|
|
15
|
+
* - Explicit version pinning for stability requirements
|
|
16
|
+
* - Schema-driven validation and transformation
|
|
17
|
+
* - Full backward compatibility
|
|
18
|
+
* - JSII compliance for multi-language support
|
|
19
|
+
* - Child resource with proper parent ID construction
|
|
20
|
+
*/
|
|
21
|
+
import * as cdktf from "cdktf";
|
|
22
|
+
import { Construct } from "constructs";
|
|
23
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
24
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
25
|
+
/**
|
|
26
|
+
* Network Security Group reference for Subnet
|
|
27
|
+
*/
|
|
28
|
+
export interface SubnetNSGReference {
|
|
29
|
+
/**
|
|
30
|
+
* Network Security Group resource ID
|
|
31
|
+
*/
|
|
32
|
+
readonly id: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Route Table reference for Subnet
|
|
36
|
+
*/
|
|
37
|
+
export interface SubnetRouteTableReference {
|
|
38
|
+
/**
|
|
39
|
+
* Route Table resource ID
|
|
40
|
+
*/
|
|
41
|
+
readonly id: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* NAT Gateway reference for Subnet
|
|
45
|
+
*/
|
|
46
|
+
export interface SubnetNATGatewayReference {
|
|
47
|
+
/**
|
|
48
|
+
* NAT Gateway resource ID
|
|
49
|
+
*/
|
|
50
|
+
readonly id: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Service endpoint configuration for Subnet
|
|
54
|
+
*/
|
|
55
|
+
export interface SubnetServiceEndpoint {
|
|
56
|
+
/**
|
|
57
|
+
* The service endpoint identifier
|
|
58
|
+
* @example "Microsoft.Storage"
|
|
59
|
+
*/
|
|
60
|
+
readonly service: string;
|
|
61
|
+
/**
|
|
62
|
+
* Optional locations where the service endpoint is available
|
|
63
|
+
* @example ["eastus", "westus"]
|
|
64
|
+
*/
|
|
65
|
+
readonly locations?: string[];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Delegation configuration for Subnet
|
|
69
|
+
*/
|
|
70
|
+
export interface SubnetDelegation {
|
|
71
|
+
/**
|
|
72
|
+
* Name of the delegation
|
|
73
|
+
*/
|
|
74
|
+
readonly name: string;
|
|
75
|
+
/**
|
|
76
|
+
* The service name to delegate to
|
|
77
|
+
* @example "Microsoft.Sql/managedInstances"
|
|
78
|
+
*/
|
|
79
|
+
readonly serviceName: string;
|
|
80
|
+
/**
|
|
81
|
+
* Optional actions allowed for the delegation
|
|
82
|
+
*/
|
|
83
|
+
readonly actions?: string[];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Properties for the Azure Subnet
|
|
87
|
+
*
|
|
88
|
+
* Extends AzapiResourceProps with Subnet specific properties
|
|
89
|
+
*/
|
|
90
|
+
export interface SubnetProps extends AzapiResourceProps {
|
|
91
|
+
/**
|
|
92
|
+
* Address prefix for the subnet in CIDR notation
|
|
93
|
+
* Must be within the parent VNet's address space
|
|
94
|
+
* @example "10.0.1.0/24"
|
|
95
|
+
*/
|
|
96
|
+
readonly addressPrefix: string;
|
|
97
|
+
/**
|
|
98
|
+
* Name of the parent virtual network
|
|
99
|
+
* Required for constructing the parent ID
|
|
100
|
+
*/
|
|
101
|
+
readonly virtualNetworkName: string;
|
|
102
|
+
/**
|
|
103
|
+
* Optional: Full resource ID of the parent Virtual Network
|
|
104
|
+
* When provided, creates a proper Terraform dependency on the VNet
|
|
105
|
+
* If not provided, the parent ID will be constructed from resourceGroupId and virtualNetworkName
|
|
106
|
+
*/
|
|
107
|
+
readonly virtualNetworkId?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Network security group reference
|
|
110
|
+
* Optional - can be attached later
|
|
111
|
+
*/
|
|
112
|
+
readonly networkSecurityGroup?: SubnetNSGReference;
|
|
113
|
+
/**
|
|
114
|
+
* Route table reference
|
|
115
|
+
* Optional - can be attached later
|
|
116
|
+
*/
|
|
117
|
+
readonly routeTable?: SubnetRouteTableReference;
|
|
118
|
+
/**
|
|
119
|
+
* Service endpoints for the subnet
|
|
120
|
+
* Enables private access to Azure services
|
|
121
|
+
*/
|
|
122
|
+
readonly serviceEndpoints?: SubnetServiceEndpoint[];
|
|
123
|
+
/**
|
|
124
|
+
* Subnet delegations
|
|
125
|
+
* Delegates subnet to specific Azure services
|
|
126
|
+
*/
|
|
127
|
+
readonly delegations?: SubnetDelegation[];
|
|
128
|
+
/**
|
|
129
|
+
* Private endpoint network policies
|
|
130
|
+
* Controls whether network policies apply to private endpoints
|
|
131
|
+
* @defaultValue "Disabled"
|
|
132
|
+
*/
|
|
133
|
+
readonly privateEndpointNetworkPolicies?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Private link service network policies
|
|
136
|
+
* Controls whether network policies apply to private link services
|
|
137
|
+
* @defaultValue "Enabled"
|
|
138
|
+
*/
|
|
139
|
+
readonly privateLinkServiceNetworkPolicies?: string;
|
|
140
|
+
/**
|
|
141
|
+
* NAT gateway reference
|
|
142
|
+
* Optional - for outbound internet connectivity
|
|
143
|
+
*/
|
|
144
|
+
readonly natGateway?: SubnetNATGatewayReference;
|
|
145
|
+
/**
|
|
146
|
+
* IP allocations for the subnet
|
|
147
|
+
* Optional - for custom IP allocation
|
|
148
|
+
*/
|
|
149
|
+
readonly ipAllocations?: any[];
|
|
150
|
+
/**
|
|
151
|
+
* Resource group ID where the parent VNet exists
|
|
152
|
+
* Required for constructing the parent ID
|
|
153
|
+
*/
|
|
154
|
+
readonly resourceGroupId: string;
|
|
155
|
+
/**
|
|
156
|
+
* The lifecycle rules to ignore changes
|
|
157
|
+
* Useful for properties that are externally managed
|
|
158
|
+
*
|
|
159
|
+
* @example ["networkSecurityGroup", "routeTable"]
|
|
160
|
+
*/
|
|
161
|
+
readonly ignoreChanges?: string[];
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Azure Subnet implementation
|
|
165
|
+
*
|
|
166
|
+
* This class provides a single, version-aware implementation that replaces
|
|
167
|
+
* version-specific Subnet classes. It automatically handles version
|
|
168
|
+
* resolution, schema validation, and property transformation while maintaining
|
|
169
|
+
* full backward compatibility.
|
|
170
|
+
*
|
|
171
|
+
* **Child Resource Pattern**: Subnets are child resources of Virtual Networks.
|
|
172
|
+
* This implementation overrides the `resolveParentId()` method to properly
|
|
173
|
+
* construct the Virtual Network ID as the parent, following the enhanced base
|
|
174
|
+
* class pattern for child resources.
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* // Basic usage with automatic version resolution:
|
|
178
|
+
* const subnet = new Subnet(this, "subnet", {
|
|
179
|
+
* name: "my-subnet",
|
|
180
|
+
* virtualNetworkName: "my-vnet",
|
|
181
|
+
* resourceGroupId: resourceGroup.id,
|
|
182
|
+
* addressPrefix: "10.0.1.0/24"
|
|
183
|
+
* });
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* // Usage with network security group:
|
|
187
|
+
* const subnet = new Subnet(this, "subnet", {
|
|
188
|
+
* name: "my-subnet",
|
|
189
|
+
* virtualNetworkName: "my-vnet",
|
|
190
|
+
* resourceGroupId: resourceGroup.id,
|
|
191
|
+
* addressPrefix: "10.0.1.0/24",
|
|
192
|
+
* networkSecurityGroup: { id: nsg.id }
|
|
193
|
+
* });
|
|
194
|
+
*
|
|
195
|
+
* @stability stable
|
|
196
|
+
*/
|
|
197
|
+
export declare class Subnet extends AzapiResource {
|
|
198
|
+
/**
|
|
199
|
+
* Static initialization flag to ensure schemas are registered only once
|
|
200
|
+
*/
|
|
201
|
+
private static schemasRegistered;
|
|
202
|
+
/**
|
|
203
|
+
* Ensures that Subnet schemas are registered with the ApiVersionManager
|
|
204
|
+
* This is called once during the first Subnet instantiation
|
|
205
|
+
*/
|
|
206
|
+
private static ensureSchemasRegistered;
|
|
207
|
+
/**
|
|
208
|
+
* The input properties for this Subnet instance
|
|
209
|
+
*/
|
|
210
|
+
readonly props: SubnetProps;
|
|
211
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
212
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
213
|
+
readonly addressPrefixOutput: cdktf.TerraformOutput;
|
|
214
|
+
readonly id: string;
|
|
215
|
+
/**
|
|
216
|
+
* Creates a new Azure Subnet using the AzapiResource framework
|
|
217
|
+
*
|
|
218
|
+
* The constructor automatically handles version resolution, schema registration,
|
|
219
|
+
* validation, and resource creation. It maintains full backward compatibility
|
|
220
|
+
* with existing Subnet implementations.
|
|
221
|
+
*
|
|
222
|
+
* **Parent ID Resolution**: Subnets are child resources of Virtual Networks.
|
|
223
|
+
* The resolveParentId() method is overridden to return the Virtual Network ID
|
|
224
|
+
* instead of the Resource Group ID, establishing the proper parent-child hierarchy.
|
|
225
|
+
*
|
|
226
|
+
* @param scope - The scope in which to define this construct
|
|
227
|
+
* @param id - The unique identifier for this instance
|
|
228
|
+
* @param props - Configuration properties for the Subnet
|
|
229
|
+
*/
|
|
230
|
+
constructor(scope: Construct, id: string, props: SubnetProps);
|
|
231
|
+
/**
|
|
232
|
+
* Gets the default API version to use when no explicit version is specified
|
|
233
|
+
* Returns the most recent stable version as the default
|
|
234
|
+
*/
|
|
235
|
+
protected defaultVersion(): string;
|
|
236
|
+
/**
|
|
237
|
+
* Gets the Azure resource type for Subnets
|
|
238
|
+
*/
|
|
239
|
+
protected resourceType(): string;
|
|
240
|
+
/**
|
|
241
|
+
* Gets the API schema for the resolved version
|
|
242
|
+
* Uses the framework's schema resolution to get the appropriate schema
|
|
243
|
+
*/
|
|
244
|
+
protected apiSchema(): ApiSchema;
|
|
245
|
+
/**
|
|
246
|
+
* Creates the resource body for the Azure API call
|
|
247
|
+
* Transforms the input properties into the JSON format expected by Azure REST API
|
|
248
|
+
*/
|
|
249
|
+
protected createResourceBody(props: any): any;
|
|
250
|
+
/**
|
|
251
|
+
* Resolves the parent ID for the Subnet resource.
|
|
252
|
+
*
|
|
253
|
+
* Subnets are child resources of Virtual Networks. This method overrides
|
|
254
|
+
* the default parent ID resolution to return the Virtual Network ID instead
|
|
255
|
+
* of the Resource Group ID.
|
|
256
|
+
*
|
|
257
|
+
* @param props - The resource properties
|
|
258
|
+
* @returns The Virtual Network ID (parent resource ID)
|
|
259
|
+
*/
|
|
260
|
+
protected resolveParentId(props: any): string;
|
|
261
|
+
/**
|
|
262
|
+
* Override createAzapiResource to explicitly prevent location from being added
|
|
263
|
+
* Subnets are child resources and inherit location from their parent VNet
|
|
264
|
+
*/
|
|
265
|
+
protected createAzapiResource(properties: Record<string, any>, parentId: string, name: string, _location?: string): cdktf.TerraformResource;
|
|
266
|
+
/**
|
|
267
|
+
* Get the full resource identifier for use in other Azure resources
|
|
268
|
+
* Alias for the id property to match original interface
|
|
269
|
+
*/
|
|
270
|
+
get resourceId(): string;
|
|
271
|
+
/**
|
|
272
|
+
* Get the address prefix value
|
|
273
|
+
* Returns the address prefix from the input props since Azure API doesn't return it in output
|
|
274
|
+
*/
|
|
275
|
+
get addressPrefix(): string;
|
|
276
|
+
/**
|
|
277
|
+
* Get the parent Virtual Network ID
|
|
278
|
+
* Constructs the VNet resource ID from the subnet's parent reference
|
|
279
|
+
*/
|
|
280
|
+
get virtualNetworkId(): string;
|
|
281
|
+
/**
|
|
282
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
283
|
+
*/
|
|
284
|
+
private _applyIgnoreChanges;
|
|
285
|
+
}
|