@microsoft/terraform-cdk-constructs 1.8.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/.jsii +60376 -32133
  2. package/API.md +72290 -37038
  3. package/lib/azure-actiongroup/lib/action-group.js +1 -1
  4. package/lib/azure-activitylogalert/lib/activity-log-alert.js +1 -1
  5. package/lib/azure-aks/lib/aks-cluster.js +1 -1
  6. package/lib/azure-applicationinsights/index.d.ts +7 -0
  7. package/lib/azure-applicationinsights/index.js +24 -0
  8. package/lib/azure-applicationinsights/lib/application-insights-schemas.d.ts +29 -0
  9. package/lib/azure-applicationinsights/lib/application-insights-schemas.js +162 -0
  10. package/lib/azure-applicationinsights/lib/application-insights.d.ts +206 -0
  11. package/lib/azure-applicationinsights/lib/application-insights.js +209 -0
  12. package/lib/azure-applicationinsights/lib/index.d.ts +5 -0
  13. package/lib/azure-applicationinsights/lib/index.js +22 -0
  14. package/lib/azure-applicationinsights/test/application-insights.integ.d.ts +9 -0
  15. package/lib/azure-applicationinsights/test/application-insights.integ.js +84 -0
  16. package/lib/azure-applicationinsights/test/application-insights.spec.d.ts +8 -0
  17. package/lib/azure-applicationinsights/test/application-insights.spec.js +209 -0
  18. package/lib/azure-containerapps/index.d.ts +1 -0
  19. package/lib/azure-containerapps/index.js +18 -0
  20. package/lib/azure-containerapps/lib/container-app-environment-schemas.d.ts +50 -0
  21. package/lib/azure-containerapps/lib/container-app-environment-schemas.js +522 -0
  22. package/lib/azure-containerapps/lib/container-app-environment.d.ts +374 -0
  23. package/lib/azure-containerapps/lib/container-app-environment.js +310 -0
  24. package/lib/azure-containerapps/lib/container-app-schemas.d.ts +48 -0
  25. package/lib/azure-containerapps/lib/container-app-schemas.js +466 -0
  26. package/lib/azure-containerapps/lib/container-app.d.ts +925 -0
  27. package/lib/azure-containerapps/lib/container-app.js +320 -0
  28. package/lib/azure-containerapps/lib/index.d.ts +4 -0
  29. package/lib/azure-containerapps/lib/index.js +21 -0
  30. package/lib/azure-containerapps/test/container-app-environment.integ.d.ts +10 -0
  31. package/lib/azure-containerapps/test/container-app-environment.integ.js +82 -0
  32. package/lib/azure-containerapps/test/container-app-environment.spec.d.ts +9 -0
  33. package/lib/azure-containerapps/test/container-app-environment.spec.js +412 -0
  34. package/lib/azure-containerapps/test/container-app.integ.d.ts +10 -0
  35. package/lib/azure-containerapps/test/container-app.integ.js +119 -0
  36. package/lib/azure-containerapps/test/container-app.spec.d.ts +9 -0
  37. package/lib/azure-containerapps/test/container-app.spec.js +839 -0
  38. package/lib/azure-containerregistry/index.d.ts +1 -0
  39. package/lib/azure-containerregistry/index.js +18 -0
  40. package/lib/azure-containerregistry/lib/container-registry-schemas.d.ts +32 -0
  41. package/lib/azure-containerregistry/lib/container-registry-schemas.js +316 -0
  42. package/lib/azure-containerregistry/lib/container-registry.d.ts +330 -0
  43. package/lib/azure-containerregistry/lib/container-registry.js +217 -0
  44. package/lib/azure-containerregistry/lib/index.d.ts +2 -0
  45. package/lib/azure-containerregistry/lib/index.js +19 -0
  46. package/lib/azure-containerregistry/test/container-registry.integ.d.ts +9 -0
  47. package/lib/azure-containerregistry/test/container-registry.integ.js +101 -0
  48. package/lib/azure-containerregistry/test/container-registry.spec.d.ts +4 -0
  49. package/lib/azure-containerregistry/test/container-registry.spec.js +425 -0
  50. package/lib/azure-cosmosdb/index.d.ts +1 -0
  51. package/lib/azure-cosmosdb/index.js +18 -0
  52. package/lib/azure-cosmosdb/lib/cosmos-db-schemas.d.ts +40 -0
  53. package/lib/azure-cosmosdb/lib/cosmos-db-schemas.js +330 -0
  54. package/lib/azure-cosmosdb/lib/cosmos-db.d.ts +290 -0
  55. package/lib/azure-cosmosdb/lib/cosmos-db.js +222 -0
  56. package/lib/azure-cosmosdb/lib/index.d.ts +2 -0
  57. package/lib/azure-cosmosdb/lib/index.js +19 -0
  58. package/lib/azure-cosmosdb/test/cosmos-db.integ.d.ts +9 -0
  59. package/lib/azure-cosmosdb/test/cosmos-db.integ.js +98 -0
  60. package/lib/azure-cosmosdb/test/cosmos-db.spec.d.ts +4 -0
  61. package/lib/azure-cosmosdb/test/cosmos-db.spec.js +339 -0
  62. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +1 -1
  63. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +1 -1
  64. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +1 -1
  65. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +1 -1
  66. package/lib/azure-dnsresolver/lib/dns-resolver.js +1 -1
  67. package/lib/azure-dnsresolver/lib/inbound-endpoint.js +1 -1
  68. package/lib/azure-dnsresolver/lib/outbound-endpoint.js +1 -1
  69. package/lib/azure-dnszone/lib/dns-zone.js +1 -1
  70. package/lib/azure-dnszone/lib/records/dns-records.js +10 -10
  71. package/lib/azure-functionapp/index.d.ts +1 -0
  72. package/lib/azure-functionapp/index.js +18 -0
  73. package/lib/azure-functionapp/lib/function-app-schemas.d.ts +32 -0
  74. package/lib/azure-functionapp/lib/function-app-schemas.js +303 -0
  75. package/lib/azure-functionapp/lib/function-app.d.ts +367 -0
  76. package/lib/azure-functionapp/lib/function-app.js +223 -0
  77. package/lib/azure-functionapp/lib/index.d.ts +2 -0
  78. package/lib/azure-functionapp/lib/index.js +19 -0
  79. package/lib/azure-functionapp/test/function-app.integ.d.ts +12 -0
  80. package/lib/azure-functionapp/test/function-app.integ.js +134 -0
  81. package/lib/azure-functionapp/test/function-app.spec.d.ts +4 -0
  82. package/lib/azure-functionapp/test/function-app.spec.js +566 -0
  83. package/lib/azure-keyvault/index.d.ts +1 -0
  84. package/lib/azure-keyvault/index.js +18 -0
  85. package/lib/azure-keyvault/lib/index.d.ts +2 -0
  86. package/lib/azure-keyvault/lib/index.js +19 -0
  87. package/lib/azure-keyvault/lib/key-vault-schemas.d.ts +40 -0
  88. package/lib/azure-keyvault/lib/key-vault-schemas.js +312 -0
  89. package/lib/azure-keyvault/lib/key-vault.d.ts +344 -0
  90. package/lib/azure-keyvault/lib/key-vault.js +243 -0
  91. package/lib/azure-keyvault/test/key-vault.integ.d.ts +9 -0
  92. package/lib/azure-keyvault/test/key-vault.integ.js +108 -0
  93. package/lib/azure-keyvault/test/key-vault.spec.d.ts +4 -0
  94. package/lib/azure-keyvault/test/key-vault.spec.js +264 -0
  95. package/lib/azure-loganalyticsworkspace/index.d.ts +6 -0
  96. package/lib/azure-loganalyticsworkspace/index.js +23 -0
  97. package/lib/azure-loganalyticsworkspace/lib/index.d.ts +5 -0
  98. package/lib/azure-loganalyticsworkspace/lib/index.js +22 -0
  99. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.d.ts +51 -0
  100. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.js +255 -0
  101. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.d.ts +301 -0
  102. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +213 -0
  103. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +9 -0
  104. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +71 -0
  105. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.d.ts +8 -0
  106. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +504 -0
  107. package/lib/azure-metricalert/lib/metric-alert.js +1 -1
  108. package/lib/azure-networkinterface/lib/network-interface.js +1 -1
  109. package/lib/azure-networksecuritygroup/lib/network-security-group.js +1 -1
  110. package/lib/azure-networkwatcher/index.d.ts +14 -0
  111. package/lib/azure-networkwatcher/index.js +31 -0
  112. package/lib/azure-networkwatcher/lib/index.d.ts +5 -0
  113. package/lib/azure-networkwatcher/lib/index.js +22 -0
  114. package/lib/azure-networkwatcher/lib/network-watcher-schemas.d.ts +47 -0
  115. package/lib/azure-networkwatcher/lib/network-watcher-schemas.js +167 -0
  116. package/lib/azure-networkwatcher/lib/network-watcher.d.ts +181 -0
  117. package/lib/azure-networkwatcher/lib/network-watcher.js +187 -0
  118. package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +12 -0
  119. package/lib/azure-networkwatcher/test/network-watcher.integ.js +84 -0
  120. package/lib/azure-networkwatcher/test/network-watcher.spec.d.ts +8 -0
  121. package/lib/azure-networkwatcher/test/network-watcher.spec.js +312 -0
  122. package/lib/azure-policyassignment/lib/policy-assignment.js +1 -1
  123. package/lib/azure-policydefinition/lib/policy-definition.js +1 -1
  124. package/lib/azure-policysetdefinition/index.d.ts +10 -0
  125. package/lib/azure-policysetdefinition/index.js +27 -0
  126. package/lib/azure-policysetdefinition/lib/index.d.ts +5 -0
  127. package/lib/azure-policysetdefinition/lib/index.js +22 -0
  128. package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.d.ts +50 -0
  129. package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.js +255 -0
  130. package/lib/azure-policysetdefinition/lib/policy-set-definition.d.ts +426 -0
  131. package/lib/azure-policysetdefinition/lib/policy-set-definition.js +255 -0
  132. package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +9 -0
  133. package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +56 -0
  134. package/lib/azure-policysetdefinition/test/policy-set-definition.spec.d.ts +8 -0
  135. package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +745 -0
  136. package/lib/azure-privatednszone/lib/private-dns-zone.js +1 -1
  137. package/lib/azure-privatednszone/lib/records/private-dns-records.js +8 -8
  138. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +1 -1
  139. package/lib/azure-publicipaddress/lib/public-ip-address.js +1 -1
  140. package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
  141. package/lib/azure-roleassignment/lib/role-assignment.js +1 -1
  142. package/lib/azure-roledefinition/lib/role-definition.js +1 -1
  143. package/lib/azure-sreagent/index.d.ts +1 -0
  144. package/lib/azure-sreagent/index.js +18 -0
  145. package/lib/azure-sreagent/lib/index.d.ts +2 -0
  146. package/lib/azure-sreagent/lib/index.js +19 -0
  147. package/lib/azure-sreagent/lib/sre-agent-schemas.d.ts +29 -0
  148. package/lib/azure-sreagent/lib/sre-agent-schemas.js +296 -0
  149. package/lib/azure-sreagent/lib/sre-agent.d.ts +208 -0
  150. package/lib/azure-sreagent/lib/sre-agent.js +217 -0
  151. package/lib/azure-sreagent/test/sre-agent.integ.d.ts +9 -0
  152. package/lib/azure-sreagent/test/sre-agent.integ.js +78 -0
  153. package/lib/azure-sreagent/test/sre-agent.spec.d.ts +4 -0
  154. package/lib/azure-sreagent/test/sre-agent.spec.js +216 -0
  155. package/lib/azure-staticwebapp/index.d.ts +1 -0
  156. package/lib/azure-staticwebapp/index.js +18 -0
  157. package/lib/azure-staticwebapp/lib/index.d.ts +2 -0
  158. package/lib/azure-staticwebapp/lib/index.js +19 -0
  159. package/lib/azure-staticwebapp/lib/static-web-app-schemas.d.ts +40 -0
  160. package/lib/azure-staticwebapp/lib/static-web-app-schemas.js +236 -0
  161. package/lib/azure-staticwebapp/lib/static-web-app.d.ts +242 -0
  162. package/lib/azure-staticwebapp/lib/static-web-app.js +232 -0
  163. package/lib/azure-staticwebapp/test/static-web-app.integ.d.ts +9 -0
  164. package/lib/azure-staticwebapp/test/static-web-app.integ.js +76 -0
  165. package/lib/azure-staticwebapp/test/static-web-app.spec.d.ts +15 -0
  166. package/lib/azure-staticwebapp/test/static-web-app.spec.js +293 -0
  167. package/lib/azure-storageaccount/lib/storage-account.js +1 -1
  168. package/lib/azure-subnet/lib/subnet.js +1 -1
  169. package/lib/azure-virtualmachine/lib/virtual-machine.js +1 -1
  170. package/lib/azure-virtualnetwork/lib/virtual-network.js +1 -1
  171. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.js +2 -2
  172. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +4 -2
  173. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +8 -5
  174. package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +109 -1
  175. package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +1 -1
  176. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
  177. package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +1 -1
  178. package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +1 -1
  179. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +1 -1
  180. package/lib/azure-virtualnetworkmanager/lib/network-group.js +1 -1
  181. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +1 -1
  182. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +1 -1
  183. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +1 -1
  184. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +1 -1
  185. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +1 -1
  186. package/lib/core-azure/lib/azapi/azapi-resource.js +2 -2
  187. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
  188. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
  189. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +1 -1
  190. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
  191. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
  192. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
  193. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
  194. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  195. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  196. package/lib/index.d.ts +25 -0
  197. package/lib/index.js +27 -2
  198. package/lib/testing/index.js +2 -2
  199. package/lib/testing/lib/cleanup.js +1 -1
  200. package/lib/testing/lib/metadata.js +1 -1
  201. package/package.json +1 -1
@@ -168,7 +168,7 @@ class ActionGroup extends azapi_resource_1.AzapiResource {
168
168
  }
169
169
  exports.ActionGroup = ActionGroup;
170
170
  _a = JSII_RTTI_SYMBOL_1;
171
- ActionGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActionGroup", version: "1.8.0" };
171
+ ActionGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActionGroup", version: "1.10.0" };
172
172
  (() => {
173
173
  azapi_resource_1.AzapiResource.registerSchemas(action_group_schemas_1.ACTION_GROUP_TYPE, action_group_schemas_1.ALL_ACTION_GROUP_VERSIONS);
174
174
  })();
@@ -179,7 +179,7 @@ class ActivityLogAlert extends azapi_resource_1.AzapiResource {
179
179
  }
180
180
  exports.ActivityLogAlert = ActivityLogAlert;
181
181
  _a = JSII_RTTI_SYMBOL_1;
182
- ActivityLogAlert[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActivityLogAlert", version: "1.8.0" };
182
+ ActivityLogAlert[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActivityLogAlert", version: "1.10.0" };
183
183
  (() => {
184
184
  azapi_resource_1.AzapiResource.registerSchemas(activity_log_alert_schemas_1.ACTIVITY_LOG_ALERT_TYPE, activity_log_alert_schemas_1.ALL_ACTIVITY_LOG_ALERT_VERSIONS);
185
185
  })();
@@ -459,7 +459,7 @@ class AksCluster extends azapi_resource_1.AzapiResource {
459
459
  }
460
460
  exports.AksCluster = AksCluster;
461
461
  _a = JSII_RTTI_SYMBOL_1;
462
- AksCluster[_a] = { fqn: "@microsoft/terraform-cdk-constructs.AksCluster", version: "1.8.0" };
462
+ AksCluster[_a] = { fqn: "@microsoft/terraform-cdk-constructs.AksCluster", version: "1.10.0" };
463
463
  (() => {
464
464
  azapi_resource_1.AzapiResource.registerSchemas(aks_cluster_schemas_1.AKS_CLUSTER_TYPE, aks_cluster_schemas_1.ALL_AKS_CLUSTER_VERSIONS);
465
465
  })();
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Azure Application Insights module
3
+ *
4
+ * This module provides constructs for creating and managing Azure Application
5
+ * Insights components.
6
+ */
7
+ export * from "./lib";
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * Azure Application Insights module
4
+ *
5
+ * This module provides constructs for creating and managing Azure Application
6
+ * Insights components.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./lib"), exports);
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtYXBwbGljYXRpb25pbnNpZ2h0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCx3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF6dXJlIEFwcGxpY2F0aW9uIEluc2lnaHRzIG1vZHVsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGNvbnN0cnVjdHMgZm9yIGNyZWF0aW5nIGFuZCBtYW5hZ2luZyBBenVyZSBBcHBsaWNhdGlvblxuICogSW5zaWdodHMgY29tcG9uZW50cy5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9saWJcIjtcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ /**
2
+ * API schemas for Azure Application Insights across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Insights/components
5
+ * across all supported API versions. The schemas are used by the AzapiResource
6
+ * framework for validation, transformation, and version management.
7
+ */
8
+ import { ApiSchema, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
9
+ /**
10
+ * API Schema for Application Insights version 2020-02-02
11
+ *
12
+ * This is the latest stable API version for workspace-based Application Insights.
13
+ * Workspace-based components require a Log Analytics workspace and replace the
14
+ * classic Application Insights resource (which was retired on Feb 29, 2024).
15
+ */
16
+ export declare const APPLICATION_INSIGHTS_SCHEMA_2020_02_02: ApiSchema;
17
+ /**
18
+ * Version configuration for Application Insights 2020-02-02
19
+ */
20
+ export declare const APPLICATION_INSIGHTS_VERSION_2020_02_02: VersionConfig;
21
+ /**
22
+ * All supported Application Insights versions for registration
23
+ * Ordered with latest stable version first
24
+ */
25
+ export declare const ALL_APPLICATION_INSIGHTS_VERSIONS: VersionConfig[];
26
+ /**
27
+ * Resource type constant
28
+ */
29
+ export declare const APPLICATION_INSIGHTS_TYPE = "Microsoft.Insights/components";
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure Application Insights across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.Insights/components
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.APPLICATION_INSIGHTS_TYPE = exports.ALL_APPLICATION_INSIGHTS_VERSIONS = exports.APPLICATION_INSIGHTS_VERSION_2020_02_02 = exports.APPLICATION_INSIGHTS_SCHEMA_2020_02_02 = 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 Application Insights versions
17
+ */
18
+ const COMMON_APPLICATION_INSIGHTS_PROPERTIES = {
19
+ name: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ description: "Name of the Application Insights component",
23
+ validation: [
24
+ {
25
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
26
+ message: "Name is required",
27
+ },
28
+ {
29
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
30
+ value: "^[a-zA-Z0-9][a-zA-Z0-9-_.()]{0,258}[a-zA-Z0-9_()]$",
31
+ message: "Application Insights name must be 1-260 characters and contain only letters, numbers, hyphens, underscores, periods, and parentheses",
32
+ },
33
+ ],
34
+ },
35
+ location: {
36
+ dataType: version_interfaces_1.PropertyType.STRING,
37
+ required: true,
38
+ description: "Azure region where the Application Insights component will be created",
39
+ },
40
+ applicationType: {
41
+ dataType: version_interfaces_1.PropertyType.STRING,
42
+ required: true,
43
+ description: "Type of application being monitored (web, java, other, etc.)",
44
+ defaultValue: "web",
45
+ },
46
+ workspaceResourceId: {
47
+ dataType: version_interfaces_1.PropertyType.STRING,
48
+ required: true,
49
+ description: "Resource ID of the Log Analytics workspace to associate with this workspace-based Application Insights component",
50
+ },
51
+ retentionInDays: {
52
+ dataType: version_interfaces_1.PropertyType.NUMBER,
53
+ required: false,
54
+ defaultValue: 90,
55
+ description: "Data retention in days. Allowed values: 30, 60, 90, 120, 180, 270, 365, 550, 730. Default is 90.",
56
+ },
57
+ samplingPercentage: {
58
+ dataType: version_interfaces_1.PropertyType.NUMBER,
59
+ required: false,
60
+ description: "Telemetry sampling percentage (0-100)",
61
+ },
62
+ disableIpMasking: {
63
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
64
+ required: false,
65
+ description: "Whether IP address masking is disabled",
66
+ },
67
+ publicNetworkAccessForIngestion: {
68
+ dataType: version_interfaces_1.PropertyType.STRING,
69
+ required: false,
70
+ description: "Public network access for data ingestion: Enabled or Disabled",
71
+ },
72
+ publicNetworkAccessForQuery: {
73
+ dataType: version_interfaces_1.PropertyType.STRING,
74
+ required: false,
75
+ description: "Public network access for queries: Enabled or Disabled",
76
+ },
77
+ disableLocalAuth: {
78
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
79
+ required: false,
80
+ description: "Whether local (key-based) authentication is disabled",
81
+ },
82
+ forceCustomerStorageForProfiler: {
83
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
84
+ required: false,
85
+ description: "Force users to create their own storage account for profiler and debugger",
86
+ },
87
+ };
88
+ // =============================================================================
89
+ // VERSION-SPECIFIC SCHEMAS
90
+ // =============================================================================
91
+ /**
92
+ * API Schema for Application Insights version 2020-02-02
93
+ *
94
+ * This is the latest stable API version for workspace-based Application Insights.
95
+ * Workspace-based components require a Log Analytics workspace and replace the
96
+ * classic Application Insights resource (which was retired on Feb 29, 2024).
97
+ */
98
+ exports.APPLICATION_INSIGHTS_SCHEMA_2020_02_02 = {
99
+ resourceType: "Microsoft.Insights/components",
100
+ version: "2020-02-02",
101
+ properties: {
102
+ ...COMMON_APPLICATION_INSIGHTS_PROPERTIES,
103
+ },
104
+ required: ["name", "location", "applicationType", "workspaceResourceId"],
105
+ optional: [
106
+ "retentionInDays",
107
+ "samplingPercentage",
108
+ "disableIpMasking",
109
+ "publicNetworkAccessForIngestion",
110
+ "publicNetworkAccessForQuery",
111
+ "disableLocalAuth",
112
+ "forceCustomerStorageForProfiler",
113
+ ],
114
+ deprecated: [],
115
+ transformationRules: {},
116
+ validationRules: [
117
+ {
118
+ property: "name",
119
+ rules: [
120
+ {
121
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
122
+ message: "Name is required for Application Insights",
123
+ },
124
+ ],
125
+ },
126
+ ],
127
+ };
128
+ // =============================================================================
129
+ // VERSION CONFIGURATIONS
130
+ // =============================================================================
131
+ /**
132
+ * Version configuration for Application Insights 2020-02-02
133
+ */
134
+ exports.APPLICATION_INSIGHTS_VERSION_2020_02_02 = {
135
+ version: "2020-02-02",
136
+ schema: exports.APPLICATION_INSIGHTS_SCHEMA_2020_02_02,
137
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
138
+ releaseDate: "2020-02-02",
139
+ deprecationDate: undefined,
140
+ sunsetDate: undefined,
141
+ breakingChanges: [],
142
+ migrationGuide: "/docs/application-insights/migration-2020-02-02",
143
+ changeLog: [
144
+ {
145
+ changeType: "updated",
146
+ description: "Latest stable API version for workspace-based Application Insights",
147
+ breaking: false,
148
+ },
149
+ ],
150
+ };
151
+ /**
152
+ * All supported Application Insights versions for registration
153
+ * Ordered with latest stable version first
154
+ */
155
+ exports.ALL_APPLICATION_INSIGHTS_VERSIONS = [
156
+ exports.APPLICATION_INSIGHTS_VERSION_2020_02_02,
157
+ ];
158
+ /**
159
+ * Resource type constant
160
+ */
161
+ exports.APPLICATION_INSIGHTS_TYPE = "Microsoft.Insights/components";
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24taW5zaWdodHMtc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1hcHBsaWNhdGlvbmluc2lnaHRzL2xpYi9hcHBsaWNhdGlvbi1pbnNpZ2h0cy1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJHQU80RTtBQUU1RSxnRkFBZ0Y7QUFDaEYsOEJBQThCO0FBQzlCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQU0sc0NBQXNDLEdBRXhDO0lBQ0YsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxrQkFBa0I7YUFDNUI7WUFDRDtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsYUFBYTtnQkFDMUMsS0FBSyxFQUFFLG9EQUFvRDtnQkFDM0QsT0FBTyxFQUNMLHNJQUFzSTthQUN6STtTQUNGO0tBQ0Y7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUNULHVFQUF1RTtLQUMxRTtJQUNELGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsOERBQThEO1FBQzNFLFlBQVksRUFBRSxLQUFLO0tBQ3BCO0lBQ0QsbUJBQW1CLEVBQUU7UUFDbkIsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCxrSEFBa0g7S0FDckg7SUFDRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsWUFBWSxFQUFFLEVBQUU7UUFDaEIsV0FBVyxFQUNULGtHQUFrRztLQUNyRztJQUNELGtCQUFrQixFQUFFO1FBQ2xCLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQUUsdUNBQXVDO0tBQ3JEO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLGlDQUFZLENBQUMsT0FBTztRQUM5QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSx3Q0FBd0M7S0FDdEQ7SUFDRCwrQkFBK0IsRUFBRTtRQUMvQixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUNULCtEQUErRDtLQUNsRTtJQUNELDJCQUEyQixFQUFFO1FBQzNCLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQUUsd0RBQXdEO0tBQ3RFO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLGlDQUFZLENBQUMsT0FBTztRQUM5QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSxzREFBc0Q7S0FDcEU7SUFDRCwrQkFBK0IsRUFBRTtRQUMvQixRQUFRLEVBQUUsaUNBQVksQ0FBQyxPQUFPO1FBQzlCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUNULDJFQUEyRTtLQUM5RTtDQUNGLENBQUM7QUFFRixnRkFBZ0Y7QUFDaEYsMkJBQTJCO0FBQzNCLGdGQUFnRjtBQUVoRjs7Ozs7O0dBTUc7QUFDVSxRQUFBLHNDQUFzQyxHQUFjO0lBQy9ELFlBQVksRUFBRSwrQkFBK0I7SUFDN0MsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFO1FBQ1YsR0FBRyxzQ0FBc0M7S0FDMUM7SUFDRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO0lBQ3hFLFFBQVEsRUFBRTtRQUNSLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLGlDQUFpQztRQUNqQyw2QkFBNkI7UUFDN0Isa0JBQWtCO1FBQ2xCLGlDQUFpQztLQUNsQztJQUNELFVBQVUsRUFBRSxFQUFFO0lBQ2QsbUJBQW1CLEVBQUUsRUFBRTtJQUN2QixlQUFlLEVBQUU7UUFDZjtZQUNFLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtvQkFDckMsT0FBTyxFQUFFLDJDQUEyQztpQkFDckQ7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLHlCQUF5QjtBQUN6QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDVSxRQUFBLHVDQUF1QyxHQUFrQjtJQUNwRSxPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsOENBQXNDO0lBQzlDLFlBQVksRUFBRSx3Q0FBbUIsQ0FBQyxNQUFNO0lBQ3hDLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGNBQWMsRUFBRSxpREFBaUQ7SUFDakUsU0FBUyxFQUFFO1FBQ1Q7WUFDRSxVQUFVLEVBQUUsU0FBUztZQUNyQixXQUFXLEVBQ1Qsb0VBQW9FO1lBQ3RFLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FBb0I7SUFDaEUsK0NBQXVDO0NBQ3hDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEseUJBQXlCLEdBQUcsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBBcHBsaWNhdGlvbiBJbnNpZ2h0cyBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0Lkluc2lnaHRzL2NvbXBvbmVudHNcbiAqIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy4gVGhlIHNjaGVtYXMgYXJlIHVzZWQgYnkgdGhlIEF6YXBpUmVzb3VyY2VcbiAqIGZyYW1ld29yayBmb3IgdmFsaWRhdGlvbiwgdHJhbnNmb3JtYXRpb24sIGFuZCB2ZXJzaW9uIG1hbmFnZW1lbnQuXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBpU2NoZW1hLFxuICBQcm9wZXJ0eURlZmluaXRpb24sXG4gIFByb3BlcnR5VHlwZSxcbiAgVmFsaWRhdGlvblJ1bGVUeXBlLFxuICBWZXJzaW9uQ29uZmlnLFxuICBWZXJzaW9uU3VwcG9ydExldmVsLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT01NT04gUFJPUEVSVFkgREVGSU5JVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnR5IGRlZmluaXRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIEFwcGxpY2F0aW9uIEluc2lnaHRzIHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9BUFBMSUNBVElPTl9JTlNJR0hUU19QUk9QRVJUSUVTOiB7XG4gIFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbjtcbn0gPSB7XG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBBcHBsaWNhdGlvbiBJbnNpZ2h0cyBjb21wb25lbnRcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTmFtZSBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtekEtWjAtOV1bYS16QS1aMC05LV8uKCldezAsMjU4fVthLXpBLVowLTlfKCldJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiQXBwbGljYXRpb24gSW5zaWdodHMgbmFtZSBtdXN0IGJlIDEtMjYwIGNoYXJhY3RlcnMgYW5kIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBudW1iZXJzLCBoeXBoZW5zLCB1bmRlcnNjb3JlcywgcGVyaW9kcywgYW5kIHBhcmVudGhlc2VzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGxvY2F0aW9uOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIkF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgQXBwbGljYXRpb24gSW5zaWdodHMgY29tcG9uZW50IHdpbGwgYmUgY3JlYXRlZFwiLFxuICB9LFxuICBhcHBsaWNhdGlvblR5cGU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJUeXBlIG9mIGFwcGxpY2F0aW9uIGJlaW5nIG1vbml0b3JlZCAod2ViLCBqYXZhLCBvdGhlciwgZXRjLilcIixcbiAgICBkZWZhdWx0VmFsdWU6IFwid2ViXCIsXG4gIH0sXG4gIHdvcmtzcGFjZVJlc291cmNlSWQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiUmVzb3VyY2UgSUQgb2YgdGhlIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgd29ya3NwYWNlLWJhc2VkIEFwcGxpY2F0aW9uIEluc2lnaHRzIGNvbXBvbmVudFwiLFxuICB9LFxuICByZXRlbnRpb25JbkRheXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk5VTUJFUixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiA5MCxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiRGF0YSByZXRlbnRpb24gaW4gZGF5cy4gQWxsb3dlZCB2YWx1ZXM6IDMwLCA2MCwgOTAsIDEyMCwgMTgwLCAyNzAsIDM2NSwgNTUwLCA3MzAuIERlZmF1bHQgaXMgOTAuXCIsXG4gIH0sXG4gIHNhbXBsaW5nUGVyY2VudGFnZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuTlVNQkVSLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJUZWxlbWV0cnkgc2FtcGxpbmcgcGVyY2VudGFnZSAoMC0xMDApXCIsXG4gIH0sXG4gIGRpc2FibGVJcE1hc2tpbmc6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgSVAgYWRkcmVzcyBtYXNraW5nIGlzIGRpc2FibGVkXCIsXG4gIH0sXG4gIHB1YmxpY05ldHdvcmtBY2Nlc3NGb3JJbmdlc3Rpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlB1YmxpYyBuZXR3b3JrIGFjY2VzcyBmb3IgZGF0YSBpbmdlc3Rpb246IEVuYWJsZWQgb3IgRGlzYWJsZWRcIixcbiAgfSxcbiAgcHVibGljTmV0d29ya0FjY2Vzc0ZvclF1ZXJ5OiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlB1YmxpYyBuZXR3b3JrIGFjY2VzcyBmb3IgcXVlcmllczogRW5hYmxlZCBvciBEaXNhYmxlZFwiLFxuICB9LFxuICBkaXNhYmxlTG9jYWxBdXRoOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5CT09MRUFOLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIGxvY2FsIChrZXktYmFzZWQpIGF1dGhlbnRpY2F0aW9uIGlzIGRpc2FibGVkXCIsXG4gIH0sXG4gIGZvcmNlQ3VzdG9tZXJTdG9yYWdlRm9yUHJvZmlsZXI6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJGb3JjZSB1c2VycyB0byBjcmVhdGUgdGhlaXIgb3duIHN0b3JhZ2UgYWNjb3VudCBmb3IgcHJvZmlsZXIgYW5kIGRlYnVnZ2VyXCIsXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTi1TUEVDSUZJQyBTQ0hFTUFTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIEFwcGxpY2F0aW9uIEluc2lnaHRzIHZlcnNpb24gMjAyMC0wMi0wMlxuICpcbiAqIFRoaXMgaXMgdGhlIGxhdGVzdCBzdGFibGUgQVBJIHZlcnNpb24gZm9yIHdvcmtzcGFjZS1iYXNlZCBBcHBsaWNhdGlvbiBJbnNpZ2h0cy5cbiAqIFdvcmtzcGFjZS1iYXNlZCBjb21wb25lbnRzIHJlcXVpcmUgYSBMb2cgQW5hbHl0aWNzIHdvcmtzcGFjZSBhbmQgcmVwbGFjZSB0aGVcbiAqIGNsYXNzaWMgQXBwbGljYXRpb24gSW5zaWdodHMgcmVzb3VyY2UgKHdoaWNoIHdhcyByZXRpcmVkIG9uIEZlYiAyOSwgMjAyNCkuXG4gKi9cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTl9JTlNJR0hUU19TQ0hFTUFfMjAyMF8wMl8wMjogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0Lkluc2lnaHRzL2NvbXBvbmVudHNcIixcbiAgdmVyc2lvbjogXCIyMDIwLTAyLTAyXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAuLi5DT01NT05fQVBQTElDQVRJT05fSU5TSUdIVFNfUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcIm5hbWVcIiwgXCJsb2NhdGlvblwiLCBcImFwcGxpY2F0aW9uVHlwZVwiLCBcIndvcmtzcGFjZVJlc291cmNlSWRcIl0sXG4gIG9wdGlvbmFsOiBbXG4gICAgXCJyZXRlbnRpb25JbkRheXNcIixcbiAgICBcInNhbXBsaW5nUGVyY2VudGFnZVwiLFxuICAgIFwiZGlzYWJsZUlwTWFza2luZ1wiLFxuICAgIFwicHVibGljTmV0d29ya0FjY2Vzc0ZvckluZ2VzdGlvblwiLFxuICAgIFwicHVibGljTmV0d29ya0FjY2Vzc0ZvclF1ZXJ5XCIsXG4gICAgXCJkaXNhYmxlTG9jYWxBdXRoXCIsXG4gICAgXCJmb3JjZUN1c3RvbWVyU3RvcmFnZUZvclByb2ZpbGVyXCIsXG4gIF0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkIGZvciBBcHBsaWNhdGlvbiBJbnNpZ2h0c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBBcHBsaWNhdGlvbiBJbnNpZ2h0cyAyMDIwLTAyLTAyXG4gKi9cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTl9JTlNJR0hUU19WRVJTSU9OXzIwMjBfMDJfMDI6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMC0wMi0wMlwiLFxuICBzY2hlbWE6IEFQUExJQ0FUSU9OX0lOU0lHSFRTX1NDSEVNQV8yMDIwXzAyXzAyLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDIwLTAyLTAyXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL2FwcGxpY2F0aW9uLWluc2lnaHRzL21pZ3JhdGlvbi0yMDIwLTAyLTAyXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwidXBkYXRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiTGF0ZXN0IHN0YWJsZSBBUEkgdmVyc2lvbiBmb3Igd29ya3NwYWNlLWJhc2VkIEFwcGxpY2F0aW9uIEluc2lnaHRzXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBBcHBsaWNhdGlvbiBJbnNpZ2h0cyB2ZXJzaW9ucyBmb3IgcmVnaXN0cmF0aW9uXG4gKiBPcmRlcmVkIHdpdGggbGF0ZXN0IHN0YWJsZSB2ZXJzaW9uIGZpcnN0XG4gKi9cbmV4cG9ydCBjb25zdCBBTExfQVBQTElDQVRJT05fSU5TSUdIVFNfVkVSU0lPTlM6IFZlcnNpb25Db25maWdbXSA9IFtcbiAgQVBQTElDQVRJT05fSU5TSUdIVFNfVkVSU0lPTl8yMDIwXzAyXzAyLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTl9JTlNJR0hUU19UWVBFID0gXCJNaWNyb3NvZnQuSW5zaWdodHMvY29tcG9uZW50c1wiO1xuIl19
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Unified Azure Application Insights implementation using AzapiResource framework
3
+ *
4
+ * This class provides a version-aware implementation for Azure Application Insights
5
+ * components that automatically handles version management, schema validation, and
6
+ * property transformation across all supported API versions.
7
+ *
8
+ * Supported API Versions:
9
+ * - 2020-02-02 (Active, Latest)
10
+ *
11
+ * Features:
12
+ * - Automatic latest version resolution when no version is specified
13
+ * - Explicit version pinning for stability requirements
14
+ * - Schema-driven validation and transformation
15
+ * - Full JSII compliance for multi-language support
16
+ * - Workspace-based Application Insights (classic mode is retired)
17
+ * - Configurable sampling, retention, IP masking, and network access
18
+ */
19
+ import * as cdktf from "cdktf";
20
+ import { Construct } from "constructs";
21
+ import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
22
+ import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
23
+ /**
24
+ * Supported Application Insights application types
25
+ *
26
+ * Determines how telemetry is processed and visualized.
27
+ */
28
+ export type ApplicationInsightsApplicationType = "web" | "other" | "java" | "MobileCenter" | "Node.JS" | "ios" | "store";
29
+ /**
30
+ * Allowed retention values (in days) for Application Insights
31
+ */
32
+ export declare const APPLICATION_INSIGHTS_VALID_RETENTION_DAYS: number[];
33
+ /**
34
+ * Properties for the unified Azure Application Insights component
35
+ *
36
+ * Extends AzapiResourceProps with Application Insights specific properties
37
+ */
38
+ export interface ApplicationInsightsProps extends AzapiResourceProps {
39
+ /**
40
+ * Resource Group ID where the Application Insights component will be created
41
+ * The component will be created as a child of this resource group
42
+ */
43
+ readonly resourceGroupId: string;
44
+ /**
45
+ * Resource ID of the Log Analytics workspace to associate with this component
46
+ *
47
+ * Required for workspace-based Application Insights (the only supported mode
48
+ * since the classic mode was retired on February 29, 2024).
49
+ */
50
+ readonly workspaceResourceId: string;
51
+ /**
52
+ * Type of application being monitored
53
+ *
54
+ * Determines how telemetry data is processed and visualized.
55
+ *
56
+ * @defaultValue "web"
57
+ */
58
+ readonly applicationType?: ApplicationInsightsApplicationType;
59
+ /**
60
+ * Telemetry data retention period in days
61
+ *
62
+ * Allowed values: 30, 60, 90, 120, 180, 270, 365, 550, 730.
63
+ *
64
+ * @defaultValue 90
65
+ */
66
+ readonly retentionInDays?: number;
67
+ /**
68
+ * Telemetry sampling percentage
69
+ *
70
+ * Value between 0 and 100. When set below 100, only a subset of telemetry is
71
+ * captured to reduce ingestion volume and cost.
72
+ */
73
+ readonly samplingPercentage?: number;
74
+ /**
75
+ * Whether IP address masking is disabled
76
+ *
77
+ * When false (default), Application Insights masks the last octet of client
78
+ * IP addresses to protect end-user privacy.
79
+ *
80
+ * @defaultValue false
81
+ */
82
+ readonly disableIpMasking?: boolean;
83
+ /**
84
+ * Public network access for data ingestion
85
+ *
86
+ * @defaultValue "Enabled"
87
+ */
88
+ readonly publicNetworkAccessForIngestion?: "Enabled" | "Disabled";
89
+ /**
90
+ * Public network access for querying telemetry
91
+ *
92
+ * @defaultValue "Enabled"
93
+ */
94
+ readonly publicNetworkAccessForQuery?: "Enabled" | "Disabled";
95
+ /**
96
+ * Whether local (instrumentation key based) authentication is disabled
97
+ *
98
+ * When true, only Microsoft Entra ID (Azure AD) authentication can be used to
99
+ * ingest and query telemetry.
100
+ *
101
+ * @defaultValue false
102
+ */
103
+ readonly disableLocalAuth?: boolean;
104
+ /**
105
+ * Force the use of a customer-provided storage account for the profiler and
106
+ * snapshot debugger.
107
+ *
108
+ * @defaultValue false
109
+ */
110
+ readonly forceCustomerStorageForProfiler?: boolean;
111
+ }
112
+ /**
113
+ * Unified Azure Application Insights implementation
114
+ *
115
+ * This class provides a single, version-aware implementation that automatically
116
+ * handles version resolution, schema validation, and property transformation
117
+ * while maintaining full JSII compliance.
118
+ *
119
+ * Application Insights is an extensible Application Performance Management (APM)
120
+ * service that helps you monitor live web applications. It automatically detects
121
+ * performance anomalies and includes powerful analytics tools to help diagnose
122
+ * issues and understand application usage.
123
+ *
124
+ * Workspace-based Application Insights resources send telemetry to a Log
125
+ * Analytics workspace, where you can use the full power of Kusto Query Language
126
+ * (KQL) to analyze your data.
127
+ *
128
+ * @example
129
+ * // Basic Application Insights component:
130
+ * const appInsights = new ApplicationInsights(this, "my-appinsights", {
131
+ * name: "my-application-insights",
132
+ * location: "eastus",
133
+ * resourceGroupId: resourceGroup.id,
134
+ * workspaceResourceId: workspace.id,
135
+ * });
136
+ *
137
+ * @example
138
+ * // Application Insights with custom retention and sampling:
139
+ * const appInsights = new ApplicationInsights(this, "production-ai", {
140
+ * name: "production-ai",
141
+ * location: "eastus",
142
+ * resourceGroupId: resourceGroup.id,
143
+ * workspaceResourceId: workspace.id,
144
+ * applicationType: "web",
145
+ * retentionInDays: 365,
146
+ * samplingPercentage: 50,
147
+ * tags: {
148
+ * environment: "production"
149
+ * }
150
+ * });
151
+ *
152
+ * @stability stable
153
+ */
154
+ export declare class ApplicationInsights extends AzapiResource {
155
+ /**
156
+ * The input properties for this Application Insights instance
157
+ */
158
+ readonly props: ApplicationInsightsProps;
159
+ readonly idOutput: cdktf.TerraformOutput;
160
+ readonly nameOutput: cdktf.TerraformOutput;
161
+ readonly instrumentationKeyOutput: cdktf.TerraformOutput;
162
+ readonly connectionStringOutput: cdktf.TerraformOutput;
163
+ readonly appIdOutput: cdktf.TerraformOutput;
164
+ /**
165
+ * Creates a new Azure Application Insights component using the AzapiResource framework
166
+ *
167
+ * The constructor automatically handles version resolution, schema registration,
168
+ * validation, and resource creation.
169
+ *
170
+ * @param scope - The scope in which to define this construct
171
+ * @param id - The unique identifier for this instance
172
+ * @param props - Configuration properties for the Application Insights component
173
+ */
174
+ constructor(scope: Construct, id: string, props: ApplicationInsightsProps);
175
+ /**
176
+ * Gets the default API version to use when no explicit version is specified
177
+ * Returns the latest stable version as the default
178
+ */
179
+ protected defaultVersion(): string;
180
+ /**
181
+ * Gets the Azure resource type for Application Insights
182
+ */
183
+ protected resourceType(): string;
184
+ /**
185
+ * Gets the API schema for the resolved version
186
+ * Uses the framework's schema resolution to get the appropriate schema
187
+ */
188
+ protected apiSchema(): ApiSchema;
189
+ /**
190
+ * Indicates that this resource type requires a location
191
+ */
192
+ protected requiresLocation(): boolean;
193
+ /**
194
+ * Creates the resource body for the Azure API call
195
+ * Transforms the input properties into the JSON format expected by Azure REST API
196
+ */
197
+ protected createResourceBody(props: any): any;
198
+ /**
199
+ * Resolves the parent resource ID for Application Insights
200
+ * Application Insights is a top-level resource within a resource group
201
+ *
202
+ * @param props - The resource properties
203
+ * @returns The parent resource ID (the resource group)
204
+ */
205
+ protected resolveParentId(props: any): string;
206
+ }