@microsoft/terraform-cdk-constructs 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/.jsii +342 -82
  2. package/lib/azure-actiongroup/lib/action-group.js +1 -1
  3. package/lib/azure-activitylogalert/lib/activity-log-alert.js +1 -1
  4. package/lib/azure-aks/lib/aks-cluster.js +1 -1
  5. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +1 -1
  6. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +1 -1
  7. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +1 -1
  8. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +1 -1
  9. package/lib/azure-dnsresolver/lib/dns-resolver.js +1 -1
  10. package/lib/azure-dnsresolver/lib/inbound-endpoint.js +1 -1
  11. package/lib/azure-dnsresolver/lib/outbound-endpoint.js +1 -1
  12. package/lib/azure-dnszone/lib/dns-zone.js +1 -1
  13. package/lib/azure-metricalert/lib/metric-alert.js +1 -1
  14. package/lib/azure-networkinterface/lib/network-interface.js +1 -1
  15. package/lib/azure-networksecuritygroup/lib/network-security-group.js +1 -1
  16. package/lib/azure-policyassignment/lib/policy-assignment.d.ts +7 -0
  17. package/lib/azure-policyassignment/lib/policy-assignment.js +11 -2
  18. package/lib/azure-policydefinition/lib/policy-definition.d.ts +21 -0
  19. package/lib/azure-policydefinition/lib/policy-definition.js +40 -3
  20. package/lib/azure-policydefinition/test/policy-definition.spec.js +211 -1
  21. package/lib/azure-privatednszone/lib/private-dns-zone.js +1 -1
  22. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +1 -1
  23. package/lib/azure-publicipaddress/lib/public-ip-address.js +1 -1
  24. package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
  25. package/lib/azure-roleassignment/lib/role-assignment.js +1 -1
  26. package/lib/azure-roledefinition/lib/role-definition.js +1 -1
  27. package/lib/azure-storageaccount/lib/storage-account.js +1 -1
  28. package/lib/azure-subnet/lib/subnet.js +1 -1
  29. package/lib/azure-virtualmachine/lib/virtual-machine.js +1 -1
  30. package/lib/azure-virtualnetwork/lib/virtual-network.js +1 -1
  31. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
  32. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +1 -1
  33. package/lib/azure-virtualnetworkmanager/lib/network-group.js +1 -1
  34. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +1 -1
  35. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +1 -1
  36. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +1 -1
  37. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +1 -1
  38. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +1 -1
  39. package/lib/core-azure/lib/azapi/azapi-resource.d.ts +28 -0
  40. package/lib/core-azure/lib/azapi/azapi-resource.js +60 -10
  41. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
  42. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
  43. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +1 -1
  44. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
  45. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
  46. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
  47. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
  48. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  49. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  50. package/lib/testing/index.js +2 -2
  51. package/lib/testing/lib/cleanup.js +1 -1
  52. package/lib/testing/lib/metadata.js +1 -1
  53. package/package.json +1 -1
@@ -227,7 +227,7 @@ class Subnet extends azapi_resource_1.AzapiResource {
227
227
  }
228
228
  exports.Subnet = Subnet;
229
229
  _a = JSII_RTTI_SYMBOL_1;
230
- Subnet[_a] = { fqn: "@microsoft/terraform-cdk-constructs.Subnet", version: "1.3.0" };
230
+ Subnet[_a] = { fqn: "@microsoft/terraform-cdk-constructs.Subnet", version: "1.3.1" };
231
231
  // Static initializer runs once when the class is first loaded
232
232
  (() => {
233
233
  azapi_resource_1.AzapiResource.registerSchemas(subnet_schemas_1.SUBNET_TYPE, subnet_schemas_1.ALL_SUBNET_VERSIONS);
@@ -433,7 +433,7 @@ class VirtualMachine extends azapi_resource_1.AzapiResource {
433
433
  }
434
434
  exports.VirtualMachine = VirtualMachine;
435
435
  _a = JSII_RTTI_SYMBOL_1;
436
- VirtualMachine[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VirtualMachine", version: "1.3.0" };
436
+ VirtualMachine[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VirtualMachine", version: "1.3.1" };
437
437
  // Static initializer runs once when the class is first loaded
438
438
  (() => {
439
439
  azapi_resource_1.AzapiResource.registerSchemas(virtual_machine_schemas_1.VIRTUAL_MACHINE_TYPE, virtual_machine_schemas_1.ALL_VIRTUAL_MACHINE_VERSIONS);
@@ -216,7 +216,7 @@ class VirtualNetwork extends azapi_resource_1.AzapiResource {
216
216
  }
217
217
  exports.VirtualNetwork = VirtualNetwork;
218
218
  _a = JSII_RTTI_SYMBOL_1;
219
- VirtualNetwork[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VirtualNetwork", version: "1.3.0" };
219
+ VirtualNetwork[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VirtualNetwork", version: "1.3.1" };
220
220
  // Static initializer runs once when the class is first loaded
221
221
  (() => {
222
222
  azapi_resource_1.AzapiResource.registerSchemas(virtual_network_schemas_1.VIRTUAL_NETWORK_TYPE, virtual_network_schemas_1.ALL_VIRTUAL_NETWORK_VERSIONS);
@@ -199,7 +199,7 @@ class ConnectivityConfiguration extends azapi_resource_1.AzapiResource {
199
199
  }
200
200
  exports.ConnectivityConfiguration = ConnectivityConfiguration;
201
201
  _a = JSII_RTTI_SYMBOL_1;
202
- ConnectivityConfiguration[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ConnectivityConfiguration", version: "1.3.0" };
202
+ ConnectivityConfiguration[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ConnectivityConfiguration", version: "1.3.1" };
203
203
  (() => {
204
204
  azapi_resource_1.AzapiResource.registerSchemas(connectivity_configuration_schemas_1.CONNECTIVITY_CONFIGURATION_TYPE, connectivity_configuration_schemas_1.ALL_CONNECTIVITY_CONFIGURATION_VERSIONS);
205
205
  })();
@@ -156,7 +156,7 @@ class NetworkGroupStaticMember extends azapi_resource_1.AzapiResource {
156
156
  }
157
157
  exports.NetworkGroupStaticMember = NetworkGroupStaticMember;
158
158
  _a = JSII_RTTI_SYMBOL_1;
159
- NetworkGroupStaticMember[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkGroupStaticMember", version: "1.3.0" };
159
+ NetworkGroupStaticMember[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkGroupStaticMember", version: "1.3.1" };
160
160
  (() => {
161
161
  azapi_resource_1.AzapiResource.registerSchemas(network_group_static_member_schemas_1.STATIC_MEMBER_TYPE, network_group_static_member_schemas_1.ALL_STATIC_MEMBER_VERSIONS);
162
162
  })();
@@ -151,7 +151,7 @@ class NetworkGroup extends azapi_resource_1.AzapiResource {
151
151
  }
152
152
  exports.NetworkGroup = NetworkGroup;
153
153
  _a = JSII_RTTI_SYMBOL_1;
154
- NetworkGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkGroup", version: "1.3.0" };
154
+ NetworkGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkGroup", version: "1.3.1" };
155
155
  (() => {
156
156
  azapi_resource_1.AzapiResource.registerSchemas(network_group_schemas_1.NETWORK_GROUP_TYPE, network_group_schemas_1.ALL_NETWORK_GROUP_VERSIONS);
157
157
  })();
@@ -157,7 +157,7 @@ class SecurityAdminConfiguration extends azapi_resource_1.AzapiResource {
157
157
  }
158
158
  exports.SecurityAdminConfiguration = SecurityAdminConfiguration;
159
159
  _a = JSII_RTTI_SYMBOL_1;
160
- SecurityAdminConfiguration[_a] = { fqn: "@microsoft/terraform-cdk-constructs.SecurityAdminConfiguration", version: "1.3.0" };
160
+ SecurityAdminConfiguration[_a] = { fqn: "@microsoft/terraform-cdk-constructs.SecurityAdminConfiguration", version: "1.3.1" };
161
161
  (() => {
162
162
  azapi_resource_1.AzapiResource.registerSchemas(security_admin_configuration_schemas_1.SECURITY_ADMIN_CONFIGURATION_TYPE, security_admin_configuration_schemas_1.ALL_SECURITY_ADMIN_CONFIGURATION_VERSIONS);
163
163
  })();
@@ -155,7 +155,7 @@ class SecurityAdminRuleCollection extends azapi_resource_1.AzapiResource {
155
155
  }
156
156
  exports.SecurityAdminRuleCollection = SecurityAdminRuleCollection;
157
157
  _a = JSII_RTTI_SYMBOL_1;
158
- SecurityAdminRuleCollection[_a] = { fqn: "@microsoft/terraform-cdk-constructs.SecurityAdminRuleCollection", version: "1.3.0" };
158
+ SecurityAdminRuleCollection[_a] = { fqn: "@microsoft/terraform-cdk-constructs.SecurityAdminRuleCollection", version: "1.3.1" };
159
159
  (() => {
160
160
  azapi_resource_1.AzapiResource.registerSchemas(security_admin_rule_collection_schemas_1.RULE_COLLECTION_TYPE, security_admin_rule_collection_schemas_1.ALL_RULE_COLLECTION_VERSIONS);
161
161
  })();
@@ -197,7 +197,7 @@ class SecurityAdminRule extends azapi_resource_1.AzapiResource {
197
197
  }
198
198
  exports.SecurityAdminRule = SecurityAdminRule;
199
199
  _a = JSII_RTTI_SYMBOL_1;
200
- SecurityAdminRule[_a] = { fqn: "@microsoft/terraform-cdk-constructs.SecurityAdminRule", version: "1.3.0" };
200
+ SecurityAdminRule[_a] = { fqn: "@microsoft/terraform-cdk-constructs.SecurityAdminRule", version: "1.3.1" };
201
201
  (() => {
202
202
  azapi_resource_1.AzapiResource.registerSchemas(security_admin_rule_schemas_1.SECURITY_ADMIN_RULE_TYPE, security_admin_rule_schemas_1.ALL_SECURITY_ADMIN_RULE_VERSIONS);
203
203
  })();
@@ -276,7 +276,7 @@ class VirtualNetworkManager extends azapi_resource_1.AzapiResource {
276
276
  }
277
277
  exports.VirtualNetworkManager = VirtualNetworkManager;
278
278
  _a = JSII_RTTI_SYMBOL_1;
279
- VirtualNetworkManager[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VirtualNetworkManager", version: "1.3.0" };
279
+ VirtualNetworkManager[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VirtualNetworkManager", version: "1.3.1" };
280
280
  (() => {
281
281
  azapi_resource_1.AzapiResource.registerSchemas(virtual_network_manager_schemas_1.VIRTUAL_NETWORK_MANAGER_TYPE, virtual_network_manager_schemas_1.ALL_VIRTUAL_NETWORK_MANAGER_VERSIONS);
282
282
  })();
@@ -469,7 +469,7 @@ class VirtualMachineScaleSet extends azapi_resource_1.AzapiResource {
469
469
  }
470
470
  exports.VirtualMachineScaleSet = VirtualMachineScaleSet;
471
471
  _a = JSII_RTTI_SYMBOL_1;
472
- VirtualMachineScaleSet[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VirtualMachineScaleSet", version: "1.3.0" };
472
+ VirtualMachineScaleSet[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VirtualMachineScaleSet", version: "1.3.1" };
473
473
  (() => {
474
474
  // Register Network Interface schemas first (dependency)
475
475
  azapi_resource_1.AzapiResource.registerSchemas(network_interface_schemas_1.NETWORK_INTERFACE_TYPE, network_interface_schemas_1.ALL_NETWORK_INTERFACE_VERSIONS);
@@ -410,6 +410,12 @@ export declare abstract class AzapiResource extends Construct {
410
410
  * @returns Parent resource or undefined
411
411
  */
412
412
  protected parentResourceForLocation(): AzapiResource | undefined;
413
+ /**
414
+ * Override in child classes to indicate if the resource type supports tags
415
+ * Some Azure resources (e.g., Policy Definitions, Policy Assignments) do not support tags
416
+ * @returns true if the resource supports tags (default), false otherwise
417
+ */
418
+ protected supportsTags(): boolean;
413
419
  /**
414
420
  * Resolves location using template method pattern
415
421
  * Priority: props.location > parent location > default location > validation
@@ -530,6 +536,27 @@ export declare abstract class AzapiResource extends Construct {
530
536
  * @param config - The monitoring configuration from props
531
537
  */
532
538
  protected createMonitoringResources(config: MonitoringConfig): Promise<void>;
539
+ /**
540
+ * Allows child classes to customize the ResourceConfig before resource creation
541
+ *
542
+ * Override this method to add resource-specific configuration like:
543
+ * - schemaValidationEnabled: false (for resources with complex nested structures)
544
+ * - ignoreMissingProperty: true (for resources with dynamic/unknown properties)
545
+ * - ignoreNullProperty: true (for resources that should skip null values)
546
+ *
547
+ * @param config - The base ResourceConfig that will be used to create the resource
548
+ * @returns The potentially modified ResourceConfig
549
+ *
550
+ * @example
551
+ * protected customizeResourceConfig(config: ResourceConfig): ResourceConfig {
552
+ * return {
553
+ * ...config,
554
+ * schemaValidationEnabled: false,
555
+ * ignoreMissingProperty: true,
556
+ * };
557
+ * }
558
+ */
559
+ protected customizeResourceConfig(config: any): any;
533
560
  /**
534
561
  * Creates the underlying AZAPI Terraform resource using the generated provider classes
535
562
  *
@@ -593,6 +620,7 @@ export declare abstract class AzapiResource extends Construct {
593
620
  *
594
621
  * @param key - The tag key
595
622
  * @param value - The tag value
623
+ * @throws Error if the resource type does not support tags
596
624
  */
597
625
  addTag(key: string, value: string): void;
598
626
  /**