@microsoft/terraform-cdk-constructs 1.0.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.
- package/.jsii +89270 -15866
- package/API.md +103201 -10557
- 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 +1 -0
- package/lib/azure-actiongroup/index.js +18 -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 +302 -0
- package/lib/azure-actiongroup/lib/action-group.js +175 -0
- package/lib/azure-actiongroup/lib/index.d.ts +2 -0
- package/lib/azure-actiongroup/lib/index.js +19 -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 +1 -0
- package/lib/azure-activitylogalert/index.js +18 -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 +226 -0
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +186 -0
- package/lib/azure-activitylogalert/lib/index.d.ts +2 -0
- package/lib/azure-activitylogalert/lib/index.js +19 -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 +1 -0
- package/lib/azure-aks/index.js +18 -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 +386 -0
- package/lib/azure-aks/lib/aks-cluster.js +466 -0
- package/lib/azure-aks/lib/index.d.ts +2 -0
- package/lib/azure-aks/lib/index.js +19 -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 +1 -0
- package/lib/azure-diagnosticsettings/index.js +18 -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 +183 -0
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +174 -0
- package/lib/azure-diagnosticsettings/lib/index.d.ts +2 -0
- package/lib/azure-diagnosticsettings/lib/index.js +19 -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-dnsforwardingruleset/index.d.ts +1 -0
- package/lib/azure-dnsforwardingruleset/index.js +18 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.d.ts +24 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.js +206 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +174 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +214 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.d.ts +24 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.js +242 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +193 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +193 -0
- package/lib/azure-dnsforwardingruleset/lib/index.d.ts +6 -0
- package/lib/azure-dnsforwardingruleset/lib/index.js +23 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.d.ts +24 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.js +199 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +160 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +178 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +133 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +350 -0
- package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +397 -0
- package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +285 -0
- package/lib/azure-dnsresolver/index.d.ts +1 -0
- package/lib/azure-dnsresolver/index.js +18 -0
- package/lib/azure-dnsresolver/lib/dns-resolver-schemas.d.ts +24 -0
- package/lib/azure-dnsresolver/lib/dns-resolver-schemas.js +218 -0
- package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +170 -0
- package/lib/azure-dnsresolver/lib/dns-resolver.js +236 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.d.ts +24 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.js +261 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +189 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint.js +243 -0
- package/lib/azure-dnsresolver/lib/index.d.ts +6 -0
- package/lib/azure-dnsresolver/lib/index.js +23 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.d.ts +24 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.js +231 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +175 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint.js +234 -0
- package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +14 -0
- package/lib/azure-dnsresolver/test/dns-resolver.integ.js +117 -0
- package/lib/azure-dnsresolver/test/dns-resolver.spec.d.ts +9 -0
- package/lib/azure-dnsresolver/test/dns-resolver.spec.js +353 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +9 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +151 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.spec.d.ts +9 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +441 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +9 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +149 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.spec.d.ts +9 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +301 -0
- package/lib/azure-dnszone/index.d.ts +1 -0
- package/lib/azure-dnszone/index.js +18 -0
- package/lib/azure-dnszone/lib/dns-zone-schemas.d.ts +24 -0
- package/lib/azure-dnszone/lib/dns-zone-schemas.js +191 -0
- package/lib/azure-dnszone/lib/dns-zone.d.ts +182 -0
- package/lib/azure-dnszone/lib/dns-zone.js +228 -0
- package/lib/azure-dnszone/lib/index.d.ts +2 -0
- package/lib/azure-dnszone/lib/index.js +19 -0
- package/lib/azure-dnszone/test/dns-zone.integ.d.ts +9 -0
- package/lib/azure-dnszone/test/dns-zone.integ.js +85 -0
- package/lib/azure-dnszone/test/dns-zone.spec.d.ts +9 -0
- package/lib/azure-dnszone/test/dns-zone.spec.js +285 -0
- package/lib/azure-metricalert/index.d.ts +1 -0
- package/lib/azure-metricalert/index.js +18 -0
- package/lib/azure-metricalert/lib/index.d.ts +2 -0
- package/lib/azure-metricalert/lib/index.js +19 -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 +334 -0
- package/lib/azure-metricalert/lib/metric-alert.js +226 -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 +1 -0
- package/lib/azure-networkinterface/index.js +18 -0
- package/lib/azure-networkinterface/lib/index.d.ts +2 -0
- package/lib/azure-networkinterface/lib/index.js +19 -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 +260 -0
- package/lib/azure-networkinterface/lib/network-interface.js +213 -0
- package/lib/azure-networkinterface/test/network-interface.integ.d.ts +9 -0
- package/lib/azure-networkinterface/test/network-interface.integ.js +116 -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 +1 -0
- package/lib/azure-networksecuritygroup/index.js +18 -0
- package/lib/azure-networksecuritygroup/lib/index.d.ts +2 -0
- package/lib/azure-networksecuritygroup/lib/index.js +19 -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 +259 -0
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +226 -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-policyassignment/index.d.ts +1 -0
- package/lib/azure-policyassignment/index.js +18 -0
- package/lib/azure-policyassignment/lib/index.d.ts +2 -0
- package/lib/azure-policyassignment/lib/index.js +19 -0
- package/lib/azure-policyassignment/lib/policy-assignment-schemas.d.ts +25 -0
- package/lib/azure-policyassignment/lib/policy-assignment-schemas.js +260 -0
- package/lib/azure-policyassignment/lib/policy-assignment.d.ts +342 -0
- package/lib/azure-policyassignment/lib/policy-assignment.js +228 -0
- package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +13 -0
- package/lib/azure-policyassignment/test/policy-assignment.integ.js +153 -0
- package/lib/azure-policyassignment/test/policy-assignment.spec.d.ts +9 -0
- package/lib/azure-policyassignment/test/policy-assignment.spec.js +651 -0
- package/lib/azure-policydefinition/index.d.ts +1 -0
- package/lib/azure-policydefinition/index.js +18 -0
- package/lib/azure-policydefinition/lib/index.d.ts +2 -0
- package/lib/azure-policydefinition/lib/index.js +19 -0
- package/lib/azure-policydefinition/lib/policy-definition-schemas.d.ts +25 -0
- package/lib/azure-policydefinition/lib/policy-definition-schemas.js +210 -0
- package/lib/azure-policydefinition/lib/policy-definition.d.ts +260 -0
- package/lib/azure-policydefinition/lib/policy-definition.js +199 -0
- package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +9 -0
- package/lib/azure-policydefinition/test/policy-definition.integ.js +137 -0
- package/lib/azure-policydefinition/test/policy-definition.spec.d.ts +9 -0
- package/lib/azure-policydefinition/test/policy-definition.spec.js +596 -0
- package/lib/azure-privatednszone/index.d.ts +1 -0
- package/lib/azure-privatednszone/index.js +18 -0
- package/lib/azure-privatednszone/lib/index.d.ts +2 -0
- package/lib/azure-privatednszone/lib/index.js +19 -0
- package/lib/azure-privatednszone/lib/private-dns-zone-schemas.d.ts +24 -0
- package/lib/azure-privatednszone/lib/private-dns-zone-schemas.js +254 -0
- package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +178 -0
- package/lib/azure-privatednszone/lib/private-dns-zone.js +272 -0
- package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +9 -0
- package/lib/azure-privatednszone/test/private-dns-zone.integ.js +84 -0
- package/lib/azure-privatednszone/test/private-dns-zone.spec.d.ts +9 -0
- package/lib/azure-privatednszone/test/private-dns-zone.spec.js +341 -0
- package/lib/azure-privatednszonelink/index.d.ts +1 -0
- package/lib/azure-privatednszonelink/index.js +18 -0
- package/lib/azure-privatednszonelink/lib/index.d.ts +2 -0
- package/lib/azure-privatednszonelink/lib/index.js +19 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.d.ts +24 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.js +262 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +202 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +250 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +9 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +110 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.d.ts +9 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +465 -0
- package/lib/azure-publicipaddress/index.d.ts +1 -0
- package/lib/azure-publicipaddress/index.js +18 -0
- package/lib/azure-publicipaddress/lib/index.d.ts +2 -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 +247 -0
- package/lib/azure-publicipaddress/lib/public-ip-address.js +245 -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/index.d.ts +0 -37
- package/lib/azure-resourcegroup/index.js +1 -39
- package/lib/azure-resourcegroup/lib/index.d.ts +1 -44
- package/lib/azure-resourcegroup/lib/index.js +2 -43
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +9 -23
- package/lib/azure-resourcegroup/lib/resource-group.js +23 -56
- package/lib/azure-resourcegroup/test/resource-group.integ.js +23 -11
- package/lib/azure-resourcegroup/test/resource-group.spec.js +13 -19
- package/lib/azure-roleassignment/index.d.ts +1 -0
- package/lib/azure-roleassignment/index.js +18 -0
- package/lib/azure-roleassignment/lib/index.d.ts +2 -0
- package/lib/azure-roleassignment/lib/index.js +19 -0
- package/lib/azure-roleassignment/lib/role-assignment-schemas.d.ts +25 -0
- package/lib/azure-roleassignment/lib/role-assignment-schemas.js +238 -0
- package/lib/azure-roleassignment/lib/role-assignment.d.ts +294 -0
- package/lib/azure-roleassignment/lib/role-assignment.js +257 -0
- package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +12 -0
- package/lib/azure-roleassignment/test/role-assignment.integ.js +101 -0
- package/lib/azure-roleassignment/test/role-assignment.spec.d.ts +9 -0
- package/lib/azure-roleassignment/test/role-assignment.spec.js +633 -0
- package/lib/azure-roledefinition/index.d.ts +1 -0
- package/lib/azure-roledefinition/index.js +18 -0
- package/lib/azure-roledefinition/lib/index.d.ts +2 -0
- package/lib/azure-roledefinition/lib/index.js +19 -0
- package/lib/azure-roledefinition/lib/role-definition-schemas.d.ts +25 -0
- package/lib/azure-roledefinition/lib/role-definition-schemas.js +195 -0
- package/lib/azure-roledefinition/lib/role-definition.d.ts +236 -0
- package/lib/azure-roledefinition/lib/role-definition.js +192 -0
- package/lib/azure-roledefinition/test/role-definition.integ.d.ts +12 -0
- package/lib/azure-roledefinition/test/role-definition.integ.js +142 -0
- package/lib/azure-roledefinition/test/role-definition.spec.d.ts +9 -0
- package/lib/azure-roledefinition/test/role-definition.spec.js +946 -0
- package/lib/azure-storageaccount/index.d.ts +0 -19
- package/lib/azure-storageaccount/index.js +1 -20
- package/lib/azure-storageaccount/lib/index.d.ts +1 -7
- package/lib/azure-storageaccount/lib/index.js +2 -8
- 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 +40 -8
- package/lib/azure-storageaccount/lib/storage-account.js +145 -23
- package/lib/azure-storageaccount/test/storage-account.integ.js +91 -12
- package/lib/azure-subnet/index.d.ts +1 -0
- package/lib/azure-subnet/index.js +18 -0
- package/lib/azure-subnet/lib/index.d.ts +2 -0
- package/lib/azure-subnet/lib/index.js +19 -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 +274 -0
- package/lib/azure-subnet/lib/subnet.js +235 -0
- package/lib/azure-subnet/test/subnet.integ.d.ts +11 -0
- package/lib/azure-subnet/test/subnet.integ.js +92 -0
- package/lib/azure-subnet/test/subnet.spec.d.ts +8 -0
- package/lib/azure-subnet/test/subnet.spec.js +395 -0
- package/lib/azure-virtualmachine/index.d.ts +1 -0
- package/lib/azure-virtualmachine/index.js +18 -0
- package/lib/azure-virtualmachine/lib/index.d.ts +2 -0
- package/lib/azure-virtualmachine/lib/index.js +19 -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 +368 -0
- package/lib/azure-virtualmachine/lib/virtual-machine.js +441 -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 +1 -0
- package/lib/azure-virtualnetwork/index.js +18 -0
- package/lib/azure-virtualnetwork/lib/index.d.ts +2 -0
- package/lib/azure-virtualnetwork/lib/index.js +19 -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 +204 -0
- package/lib/azure-virtualnetwork/lib/virtual-network.js +224 -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-virtualnetworkmanager/index.d.ts +1 -0
- package/lib/azure-virtualnetworkmanager/index.js +18 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.d.ts +48 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.js +265 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +185 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +206 -0
- package/lib/azure-virtualnetworkmanager/lib/index.d.ts +14 -0
- package/lib/azure-virtualnetworkmanager/lib/index.js +31 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.js +189 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.js +201 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +135 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +163 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +139 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group.js +158 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.js +182 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +144 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +164 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.d.ts +38 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.js +206 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +142 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +162 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.d.ts +39 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.js +359 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +221 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +204 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.js +236 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +337 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +283 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +25 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +402 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.d.ts +9 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +1652 -0
- package/lib/azure-vmss/index.d.ts +1 -0
- package/lib/azure-vmss/index.js +18 -0
- package/lib/azure-vmss/lib/index.d.ts +2 -0
- package/lib/azure-vmss/lib/index.js +19 -0
- package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +250 -0
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +479 -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-tags.spec.d.ts +10 -0
- package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +218 -0
- package/lib/core-azure/lib/azapi/azapi-resource.d.ts +268 -48
- package/lib/core-azure/lib/azapi/azapi-resource.js +411 -136
- package/lib/core-azure/lib/azapi/azapi-resource.spec.js +2 -2
- 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 +278 -16
- 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/resource-schema-validator.d.ts +118 -0
- package/lib/core-azure/lib/azapi/resource-schema-validator.js +236 -0
- package/lib/core-azure/lib/azapi/resource-version-manager.d.ts +103 -0
- package/lib/core-azure/lib/azapi/resource-version-manager.js +168 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +13 -6
- package/lib/core-azure/lib/index.d.ts +2 -2
- package/lib/core-azure/lib/index.js +5 -5
- 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 +56 -0
- package/lib/index.js +59 -2
- package/lib/testing/index.d.ts +92 -2
- package/lib/testing/index.js +258 -18
- package/lib/testing/lib/cleanup.d.ts +230 -0
- package/lib/testing/lib/cleanup.js +338 -0
- package/lib/testing/lib/metadata.d.ts +151 -0
- package/lib/testing/lib/metadata.js +183 -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 +387 -0
- package/scripts/generate-index.js +25 -8
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Azure Virtual Machine implementation using VersionedAzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a single, version-aware implementation for Azure Virtual Machines
|
|
5
|
+
* that automatically handles version management, schema validation, and property transformation
|
|
6
|
+
* across all supported API versions.
|
|
7
|
+
*
|
|
8
|
+
* Supported API Versions:
|
|
9
|
+
* - 2024-07-01 (Active)
|
|
10
|
+
* - 2024-11-01 (Active)
|
|
11
|
+
* - 2025-04-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 JSII compliance for multi-language support
|
|
18
|
+
* - Comprehensive support for VM features (networking, storage, identity, etc.)
|
|
19
|
+
*/
|
|
20
|
+
import * as cdktf from "cdktf";
|
|
21
|
+
import { Construct } from "constructs";
|
|
22
|
+
import { VirtualMachineHardwareProfile, VirtualMachineStorageProfile, VirtualMachineNetworkProfile, VirtualMachineOSProfile, VirtualMachineIdentity, VirtualMachinePlan, VirtualMachineAdditionalCapabilities, VirtualMachineDiagnosticsProfile, VirtualMachineSecurityProfile, VirtualMachineLicenseType, VirtualMachineAvailabilitySetReference, VirtualMachineScaleSetReference, VirtualMachineProximityPlacementGroupReference, VirtualMachineHostReference, VirtualMachineBillingProfile, VirtualMachineMonitoringOptions } from "./virtual-machine-schemas";
|
|
23
|
+
import { AzapiResource, AzapiResourceProps, MonitoringConfig } from "../../core-azure/lib/azapi/azapi-resource";
|
|
24
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
25
|
+
/**
|
|
26
|
+
* Properties for the unified Azure Virtual Machine
|
|
27
|
+
*
|
|
28
|
+
* Extends AzapiResourceProps with Virtual Machine specific properties
|
|
29
|
+
*/
|
|
30
|
+
export interface VirtualMachineProps extends AzapiResourceProps {
|
|
31
|
+
/**
|
|
32
|
+
* The hardware profile for the Virtual Machine (VM size)
|
|
33
|
+
* @example { vmSize: "Standard_D2s_v3" }
|
|
34
|
+
*/
|
|
35
|
+
readonly hardwareProfile: VirtualMachineHardwareProfile;
|
|
36
|
+
/**
|
|
37
|
+
* The storage profile for the Virtual Machine
|
|
38
|
+
* Defines the OS disk, data disks, and image reference
|
|
39
|
+
*/
|
|
40
|
+
readonly storageProfile: VirtualMachineStorageProfile;
|
|
41
|
+
/**
|
|
42
|
+
* The network profile for the Virtual Machine
|
|
43
|
+
* Defines network interfaces attached to the VM
|
|
44
|
+
*/
|
|
45
|
+
readonly networkProfile: VirtualMachineNetworkProfile;
|
|
46
|
+
/**
|
|
47
|
+
* The OS profile for the Virtual Machine
|
|
48
|
+
* Defines computer name, admin credentials, and OS-specific configuration
|
|
49
|
+
*/
|
|
50
|
+
readonly osProfile?: VirtualMachineOSProfile;
|
|
51
|
+
/**
|
|
52
|
+
* The identity configuration for the Virtual Machine
|
|
53
|
+
* @example { type: "SystemAssigned" }
|
|
54
|
+
* @example { type: "UserAssigned", userAssignedIdentities: { "/subscriptions/.../resourceGroups/.../providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {} } }
|
|
55
|
+
*/
|
|
56
|
+
readonly identity?: VirtualMachineIdentity;
|
|
57
|
+
/**
|
|
58
|
+
* Availability zones for the Virtual Machine
|
|
59
|
+
* @example ["1", "2"]
|
|
60
|
+
*/
|
|
61
|
+
readonly zones?: string[];
|
|
62
|
+
/**
|
|
63
|
+
* Plan information for marketplace images
|
|
64
|
+
*/
|
|
65
|
+
readonly plan?: VirtualMachinePlan;
|
|
66
|
+
/**
|
|
67
|
+
* License type for Windows VMs
|
|
68
|
+
* @example "Windows_Server"
|
|
69
|
+
* @example "Windows_Client"
|
|
70
|
+
*/
|
|
71
|
+
readonly licenseType?: VirtualMachineLicenseType;
|
|
72
|
+
/**
|
|
73
|
+
* The priority of the Virtual Machine
|
|
74
|
+
* @default "Regular"
|
|
75
|
+
* @example "Regular", "Low", "Spot"
|
|
76
|
+
*/
|
|
77
|
+
readonly priority?: string;
|
|
78
|
+
/**
|
|
79
|
+
* The eviction policy for Spot VMs
|
|
80
|
+
* @example "Deallocate", "Delete"
|
|
81
|
+
*/
|
|
82
|
+
readonly evictionPolicy?: string;
|
|
83
|
+
/**
|
|
84
|
+
* The billing profile for Spot VMs
|
|
85
|
+
*/
|
|
86
|
+
readonly billingProfile?: VirtualMachineBillingProfile;
|
|
87
|
+
/**
|
|
88
|
+
* The diagnostics profile for boot diagnostics
|
|
89
|
+
*/
|
|
90
|
+
readonly diagnosticsProfile?: VirtualMachineDiagnosticsProfile;
|
|
91
|
+
/**
|
|
92
|
+
* Reference to an availability set
|
|
93
|
+
*/
|
|
94
|
+
readonly availabilitySet?: VirtualMachineAvailabilitySetReference;
|
|
95
|
+
/**
|
|
96
|
+
* Reference to a virtual machine scale set
|
|
97
|
+
*/
|
|
98
|
+
readonly virtualMachineScaleSet?: VirtualMachineScaleSetReference;
|
|
99
|
+
/**
|
|
100
|
+
* Reference to a proximity placement group
|
|
101
|
+
*/
|
|
102
|
+
readonly proximityPlacementGroup?: VirtualMachineProximityPlacementGroupReference;
|
|
103
|
+
/**
|
|
104
|
+
* Reference to a dedicated host
|
|
105
|
+
*/
|
|
106
|
+
readonly host?: VirtualMachineHostReference;
|
|
107
|
+
/**
|
|
108
|
+
* Additional capabilities like Ultra SSD
|
|
109
|
+
*/
|
|
110
|
+
readonly additionalCapabilities?: VirtualMachineAdditionalCapabilities;
|
|
111
|
+
/**
|
|
112
|
+
* Security settings for the Virtual Machine
|
|
113
|
+
*/
|
|
114
|
+
readonly securityProfile?: VirtualMachineSecurityProfile;
|
|
115
|
+
/**
|
|
116
|
+
* The lifecycle rules to ignore changes
|
|
117
|
+
* Useful for properties that are externally managed or should not trigger updates
|
|
118
|
+
* @example ["osProfile.adminPassword"]
|
|
119
|
+
*/
|
|
120
|
+
readonly ignoreChanges?: string[];
|
|
121
|
+
/**
|
|
122
|
+
* Resource group ID where the Virtual Machine will be created
|
|
123
|
+
*/
|
|
124
|
+
readonly resourceGroupId?: string;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Virtual Machine properties for the request body
|
|
128
|
+
*/
|
|
129
|
+
export interface VirtualMachineBodyProperties {
|
|
130
|
+
readonly hardwareProfile: VirtualMachineHardwareProfile;
|
|
131
|
+
readonly storageProfile: VirtualMachineStorageProfile;
|
|
132
|
+
readonly osProfile?: VirtualMachineOSProfile;
|
|
133
|
+
readonly networkProfile: VirtualMachineNetworkProfile;
|
|
134
|
+
readonly diagnosticsProfile?: VirtualMachineDiagnosticsProfile;
|
|
135
|
+
readonly availabilitySet?: VirtualMachineAvailabilitySetReference;
|
|
136
|
+
readonly virtualMachineScaleSet?: VirtualMachineScaleSetReference;
|
|
137
|
+
readonly proximityPlacementGroup?: VirtualMachineProximityPlacementGroupReference;
|
|
138
|
+
readonly priority?: string;
|
|
139
|
+
readonly evictionPolicy?: string;
|
|
140
|
+
readonly billingProfile?: VirtualMachineBillingProfile;
|
|
141
|
+
readonly host?: VirtualMachineHostReference;
|
|
142
|
+
readonly licenseType?: VirtualMachineLicenseType;
|
|
143
|
+
readonly additionalCapabilities?: VirtualMachineAdditionalCapabilities;
|
|
144
|
+
readonly securityProfile?: VirtualMachineSecurityProfile;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* The resource body interface for Azure Virtual Machine API calls
|
|
148
|
+
*/
|
|
149
|
+
export interface VirtualMachineBody {
|
|
150
|
+
readonly location: string;
|
|
151
|
+
readonly tags?: {
|
|
152
|
+
[key: string]: string;
|
|
153
|
+
};
|
|
154
|
+
readonly identity?: VirtualMachineIdentity;
|
|
155
|
+
readonly zones?: string[];
|
|
156
|
+
readonly plan?: VirtualMachinePlan;
|
|
157
|
+
readonly properties: VirtualMachineBodyProperties;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Unified Azure Virtual Machine implementation
|
|
161
|
+
*
|
|
162
|
+
* This class provides a single, version-aware implementation that automatically handles version
|
|
163
|
+
* resolution, schema validation, and property transformation while maintaining full JSII compliance.
|
|
164
|
+
*
|
|
165
|
+
* The class uses the VersionedAzapiResource framework to provide:
|
|
166
|
+
* - Automatic latest version resolution (2025-04-01 as of this implementation)
|
|
167
|
+
* - Support for explicit version pinning when stability is required
|
|
168
|
+
* - Schema-driven property validation and transformation
|
|
169
|
+
* - Migration analysis and deprecation warnings
|
|
170
|
+
* - Full JSII compliance for multi-language support
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* // Basic Linux VM with SSH authentication:
|
|
174
|
+
* const vm = new VirtualMachine(this, "vm", {
|
|
175
|
+
* name: "my-linux-vm",
|
|
176
|
+
* location: "eastus",
|
|
177
|
+
* resourceGroupId: resourceGroup.id,
|
|
178
|
+
* hardwareProfile: {
|
|
179
|
+
* vmSize: "Standard_D2s_v3"
|
|
180
|
+
* },
|
|
181
|
+
* storageProfile: {
|
|
182
|
+
* imageReference: {
|
|
183
|
+
* publisher: "Canonical",
|
|
184
|
+
* offer: "0001-com-ubuntu-server-jammy",
|
|
185
|
+
* sku: "22_04-lts-gen2",
|
|
186
|
+
* version: "latest"
|
|
187
|
+
* },
|
|
188
|
+
* osDisk: {
|
|
189
|
+
* createOption: "FromImage",
|
|
190
|
+
* managedDisk: {
|
|
191
|
+
* storageAccountType: "Premium_LRS"
|
|
192
|
+
* }
|
|
193
|
+
* }
|
|
194
|
+
* },
|
|
195
|
+
* osProfile: {
|
|
196
|
+
* computerName: "myvm",
|
|
197
|
+
* adminUsername: "azureuser",
|
|
198
|
+
* linuxConfiguration: {
|
|
199
|
+
* disablePasswordAuthentication: true,
|
|
200
|
+
* ssh: {
|
|
201
|
+
* publicKeys: [{
|
|
202
|
+
* path: "/home/azureuser/.ssh/authorized_keys",
|
|
203
|
+
* keyData: "ssh-rsa AAAA..."
|
|
204
|
+
* }]
|
|
205
|
+
* }
|
|
206
|
+
* }
|
|
207
|
+
* },
|
|
208
|
+
* networkProfile: {
|
|
209
|
+
* networkInterfaces: [{
|
|
210
|
+
* id: networkInterface.id
|
|
211
|
+
* }]
|
|
212
|
+
* },
|
|
213
|
+
* identity: {
|
|
214
|
+
* type: "SystemAssigned"
|
|
215
|
+
* }
|
|
216
|
+
* });
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* // Windows VM with password authentication:
|
|
220
|
+
* const windowsVm = new VirtualMachine(this, "windows-vm", {
|
|
221
|
+
* name: "my-windows-vm",
|
|
222
|
+
* location: "eastus",
|
|
223
|
+
* resourceGroupId: resourceGroup.id,
|
|
224
|
+
* hardwareProfile: {
|
|
225
|
+
* vmSize: "Standard_D2s_v3"
|
|
226
|
+
* },
|
|
227
|
+
* storageProfile: {
|
|
228
|
+
* imageReference: {
|
|
229
|
+
* publisher: "MicrosoftWindowsServer",
|
|
230
|
+
* offer: "WindowsServer",
|
|
231
|
+
* sku: "2022-datacenter-azure-edition",
|
|
232
|
+
* version: "latest"
|
|
233
|
+
* },
|
|
234
|
+
* osDisk: {
|
|
235
|
+
* createOption: "FromImage",
|
|
236
|
+
* managedDisk: {
|
|
237
|
+
* storageAccountType: "Premium_LRS"
|
|
238
|
+
* }
|
|
239
|
+
* }
|
|
240
|
+
* },
|
|
241
|
+
* osProfile: {
|
|
242
|
+
* computerName: "mywinvm",
|
|
243
|
+
* adminUsername: "azureuser",
|
|
244
|
+
* adminPassword: "P@ssw0rd1234!",
|
|
245
|
+
* windowsConfiguration: {
|
|
246
|
+
* provisionVMAgent: true,
|
|
247
|
+
* enableAutomaticUpdates: true
|
|
248
|
+
* }
|
|
249
|
+
* },
|
|
250
|
+
* networkProfile: {
|
|
251
|
+
* networkInterfaces: [{
|
|
252
|
+
* id: networkInterface.id
|
|
253
|
+
* }]
|
|
254
|
+
* },
|
|
255
|
+
* licenseType: "Windows_Server"
|
|
256
|
+
* });
|
|
257
|
+
*
|
|
258
|
+
* @stability stable
|
|
259
|
+
*/
|
|
260
|
+
export declare class VirtualMachine extends AzapiResource {
|
|
261
|
+
/**
|
|
262
|
+
* Returns a production-ready monitoring configuration for Virtual Machines
|
|
263
|
+
*
|
|
264
|
+
* This static factory method provides a complete MonitoringConfig with sensible defaults
|
|
265
|
+
* for VM monitoring including CPU, memory, disk queue alerts, and deletion tracking.
|
|
266
|
+
*
|
|
267
|
+
* @param actionGroupId - The resource ID of the action group for alert notifications
|
|
268
|
+
* @param workspaceId - Optional Log Analytics workspace ID for diagnostic settings
|
|
269
|
+
* @param options - Optional configuration to customize thresholds and enable/disable specific alerts
|
|
270
|
+
* @returns A complete MonitoringConfig object ready to use in VirtualMachine props
|
|
271
|
+
*
|
|
272
|
+
* @example
|
|
273
|
+
* // Basic usage with all defaults
|
|
274
|
+
* const vm = new VirtualMachine(this, "vm", {
|
|
275
|
+
* // ... other properties ...
|
|
276
|
+
* monitoring: VirtualMachine.defaultMonitoring(actionGroup.id, workspace.id)
|
|
277
|
+
* });
|
|
278
|
+
*
|
|
279
|
+
* @example
|
|
280
|
+
* // Custom thresholds
|
|
281
|
+
* const vm = new VirtualMachine(this, "vm", {
|
|
282
|
+
* // ... other properties ...
|
|
283
|
+
* monitoring: VirtualMachine.defaultMonitoring(
|
|
284
|
+
* actionGroup.id,
|
|
285
|
+
* workspace.id,
|
|
286
|
+
* {
|
|
287
|
+
* cpuThreshold: 90,
|
|
288
|
+
* memoryThreshold: 536870912, // 512MB
|
|
289
|
+
* enableDiskQueueAlert: false
|
|
290
|
+
* }
|
|
291
|
+
* )
|
|
292
|
+
* });
|
|
293
|
+
*/
|
|
294
|
+
static defaultMonitoring(actionGroupId: string, workspaceId?: string, options?: VirtualMachineMonitoringOptions): MonitoringConfig;
|
|
295
|
+
/**
|
|
296
|
+
* The input properties for this Virtual Machine instance
|
|
297
|
+
*/
|
|
298
|
+
readonly props: VirtualMachineProps;
|
|
299
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
300
|
+
readonly locationOutput: cdktf.TerraformOutput;
|
|
301
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
302
|
+
readonly tagsOutput: cdktf.TerraformOutput;
|
|
303
|
+
readonly vmIdOutput: cdktf.TerraformOutput;
|
|
304
|
+
/**
|
|
305
|
+
* Creates a new Azure Virtual Machine using the VersionedAzapiResource framework
|
|
306
|
+
*
|
|
307
|
+
* The constructor automatically handles version resolution, schema registration,
|
|
308
|
+
* validation, and resource creation.
|
|
309
|
+
*
|
|
310
|
+
* @param scope - The scope in which to define this construct
|
|
311
|
+
* @param id - The unique identifier for this instance
|
|
312
|
+
* @param props - Configuration properties for the Virtual Machine
|
|
313
|
+
*/
|
|
314
|
+
constructor(scope: Construct, id: string, props: VirtualMachineProps);
|
|
315
|
+
/**
|
|
316
|
+
* Gets the default API version to use when no explicit version is specified
|
|
317
|
+
* Returns the most recent stable version as the default
|
|
318
|
+
*/
|
|
319
|
+
protected defaultVersion(): string;
|
|
320
|
+
/**
|
|
321
|
+
* Gets the Azure resource type for Virtual Machines
|
|
322
|
+
*/
|
|
323
|
+
protected resourceType(): string;
|
|
324
|
+
/**
|
|
325
|
+
* Gets the API schema for the resolved version
|
|
326
|
+
* Uses the framework's schema resolution to get the appropriate schema
|
|
327
|
+
*/
|
|
328
|
+
protected apiSchema(): ApiSchema;
|
|
329
|
+
/**
|
|
330
|
+
* Indicates that location is required for Virtual Machines
|
|
331
|
+
*/
|
|
332
|
+
protected requiresLocation(): boolean;
|
|
333
|
+
/**
|
|
334
|
+
* Creates the resource body for the Azure API call
|
|
335
|
+
* Transforms the input properties into the JSON format expected by Azure REST API
|
|
336
|
+
*/
|
|
337
|
+
protected createResourceBody(props: any): any;
|
|
338
|
+
/**
|
|
339
|
+
* Get the VM ID (unique identifier assigned by Azure)
|
|
340
|
+
*/
|
|
341
|
+
get vmId(): string;
|
|
342
|
+
/**
|
|
343
|
+
* Get the provisioning state of the Virtual Machine
|
|
344
|
+
*/
|
|
345
|
+
get provisioningState(): string;
|
|
346
|
+
/**
|
|
347
|
+
* Get the OS profile computer name
|
|
348
|
+
*/
|
|
349
|
+
get computerName(): string | undefined;
|
|
350
|
+
/**
|
|
351
|
+
* Get the VM size
|
|
352
|
+
*/
|
|
353
|
+
get vmSize(): string;
|
|
354
|
+
/**
|
|
355
|
+
* Add a tag to the Virtual Machine
|
|
356
|
+
* Note: This modifies the construct props but requires a new deployment to take effect
|
|
357
|
+
*/
|
|
358
|
+
addTag(key: string, value: string): void;
|
|
359
|
+
/**
|
|
360
|
+
* Remove a tag from the Virtual Machine
|
|
361
|
+
* Note: This modifies the construct props but requires a new deployment to take effect
|
|
362
|
+
*/
|
|
363
|
+
removeTag(key: string): void;
|
|
364
|
+
/**
|
|
365
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
366
|
+
*/
|
|
367
|
+
private _applyIgnoreChanges;
|
|
368
|
+
}
|