@microsoft/terraform-cdk-constructs 1.9.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 (165) hide show
  1. package/.jsii +55122 -31830
  2. package/API.md +74039 -46109
  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/lib/log-analytics-workspace.js +1 -1
  96. package/lib/azure-metricalert/lib/metric-alert.js +1 -1
  97. package/lib/azure-networkinterface/lib/network-interface.js +1 -1
  98. package/lib/azure-networksecuritygroup/lib/network-security-group.js +1 -1
  99. package/lib/azure-networkwatcher/lib/network-watcher.js +1 -1
  100. package/lib/azure-policyassignment/lib/policy-assignment.js +1 -1
  101. package/lib/azure-policydefinition/lib/policy-definition.js +1 -1
  102. package/lib/azure-policysetdefinition/lib/policy-set-definition.js +1 -1
  103. package/lib/azure-privatednszone/lib/private-dns-zone.js +1 -1
  104. package/lib/azure-privatednszone/lib/records/private-dns-records.js +8 -8
  105. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +1 -1
  106. package/lib/azure-publicipaddress/lib/public-ip-address.js +1 -1
  107. package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
  108. package/lib/azure-roleassignment/lib/role-assignment.js +1 -1
  109. package/lib/azure-roledefinition/lib/role-definition.js +1 -1
  110. package/lib/azure-sreagent/index.d.ts +1 -0
  111. package/lib/azure-sreagent/index.js +18 -0
  112. package/lib/azure-sreagent/lib/index.d.ts +2 -0
  113. package/lib/azure-sreagent/lib/index.js +19 -0
  114. package/lib/azure-sreagent/lib/sre-agent-schemas.d.ts +29 -0
  115. package/lib/azure-sreagent/lib/sre-agent-schemas.js +296 -0
  116. package/lib/azure-sreagent/lib/sre-agent.d.ts +208 -0
  117. package/lib/azure-sreagent/lib/sre-agent.js +217 -0
  118. package/lib/azure-sreagent/test/sre-agent.integ.d.ts +9 -0
  119. package/lib/azure-sreagent/test/sre-agent.integ.js +78 -0
  120. package/lib/azure-sreagent/test/sre-agent.spec.d.ts +4 -0
  121. package/lib/azure-sreagent/test/sre-agent.spec.js +216 -0
  122. package/lib/azure-staticwebapp/index.d.ts +1 -0
  123. package/lib/azure-staticwebapp/index.js +18 -0
  124. package/lib/azure-staticwebapp/lib/index.d.ts +2 -0
  125. package/lib/azure-staticwebapp/lib/index.js +19 -0
  126. package/lib/azure-staticwebapp/lib/static-web-app-schemas.d.ts +40 -0
  127. package/lib/azure-staticwebapp/lib/static-web-app-schemas.js +236 -0
  128. package/lib/azure-staticwebapp/lib/static-web-app.d.ts +242 -0
  129. package/lib/azure-staticwebapp/lib/static-web-app.js +232 -0
  130. package/lib/azure-staticwebapp/test/static-web-app.integ.d.ts +9 -0
  131. package/lib/azure-staticwebapp/test/static-web-app.integ.js +76 -0
  132. package/lib/azure-staticwebapp/test/static-web-app.spec.d.ts +15 -0
  133. package/lib/azure-staticwebapp/test/static-web-app.spec.js +293 -0
  134. package/lib/azure-storageaccount/lib/storage-account.js +1 -1
  135. package/lib/azure-subnet/lib/subnet.js +1 -1
  136. package/lib/azure-virtualmachine/lib/virtual-machine.js +1 -1
  137. package/lib/azure-virtualnetwork/lib/virtual-network.js +1 -1
  138. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +1 -1
  139. package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +1 -1
  140. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
  141. package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +1 -1
  142. package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +1 -1
  143. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +1 -1
  144. package/lib/azure-virtualnetworkmanager/lib/network-group.js +1 -1
  145. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +1 -1
  146. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +1 -1
  147. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +1 -1
  148. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +1 -1
  149. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +1 -1
  150. package/lib/core-azure/lib/azapi/azapi-resource.js +2 -2
  151. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
  152. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
  153. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +1 -1
  154. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
  155. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
  156. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
  157. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
  158. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  159. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  160. package/lib/index.d.ts +16 -0
  161. package/lib/index.js +18 -2
  162. package/lib/testing/index.js +2 -2
  163. package/lib/testing/lib/cleanup.js +1 -1
  164. package/lib/testing/lib/metadata.js +1 -1
  165. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./lib"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtc3RhdGljd2ViYXBwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9saWJcIjtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from "./static-web-app-schemas";
2
+ export * from "./static-web-app";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./static-web-app-schemas"), exports);
18
+ __exportStar(require("./static-web-app"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtc3RhdGljd2ViYXBwL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkRBQXlDO0FBQ3pDLG1EQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3N0YXRpYy13ZWItYXBwLXNjaGVtYXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YXRpYy13ZWItYXBwXCI7XG4iXX0=
@@ -0,0 +1,40 @@
1
+ /**
2
+ * API schemas for Azure Static Web App across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Web/staticSites
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 Static Web App version 2022-03-01
11
+ */
12
+ export declare const STATIC_WEB_APP_SCHEMA_2022_03_01: ApiSchema;
13
+ /**
14
+ * API Schema for Static Web App version 2023-12-01
15
+ */
16
+ export declare const STATIC_WEB_APP_SCHEMA_2023_12_01: ApiSchema;
17
+ /**
18
+ * API Schema for Static Web App version 2024-04-01
19
+ */
20
+ export declare const STATIC_WEB_APP_SCHEMA_2024_04_01: ApiSchema;
21
+ /**
22
+ * Version configuration for Static Web App 2022-03-01
23
+ */
24
+ export declare const STATIC_WEB_APP_VERSION_2022_03_01: VersionConfig;
25
+ /**
26
+ * Version configuration for Static Web App 2023-12-01
27
+ */
28
+ export declare const STATIC_WEB_APP_VERSION_2023_12_01: VersionConfig;
29
+ /**
30
+ * Version configuration for Static Web App 2024-04-01
31
+ */
32
+ export declare const STATIC_WEB_APP_VERSION_2024_04_01: VersionConfig;
33
+ /**
34
+ * All supported Static Web App versions for registration
35
+ */
36
+ export declare const ALL_STATIC_WEB_APP_VERSIONS: VersionConfig[];
37
+ /**
38
+ * Resource type constant
39
+ */
40
+ export declare const STATIC_WEB_APP_TYPE = "Microsoft.Web/staticSites";
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure Static Web App across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.Web/staticSites
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.STATIC_WEB_APP_TYPE = exports.ALL_STATIC_WEB_APP_VERSIONS = exports.STATIC_WEB_APP_VERSION_2024_04_01 = exports.STATIC_WEB_APP_VERSION_2023_12_01 = exports.STATIC_WEB_APP_VERSION_2022_03_01 = exports.STATIC_WEB_APP_SCHEMA_2024_04_01 = exports.STATIC_WEB_APP_SCHEMA_2023_12_01 = exports.STATIC_WEB_APP_SCHEMA_2022_03_01 = void 0;
11
+ const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
12
+ // =============================================================================
13
+ // COMMON PROPERTY DEFINITIONS
14
+ // =============================================================================
15
+ /**
16
+ * Common property definitions shared across all Static Web App versions
17
+ */
18
+ const COMMON_STATIC_WEB_APP_PROPERTIES = {
19
+ location: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ description: "Azure region for the static web app. Static Web Apps are only available in a limited set of regions (e.g., centralus, eastus2, eastasia, westeurope, westus2)",
23
+ validation: [
24
+ {
25
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
26
+ message: "Location is required",
27
+ },
28
+ {
29
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
30
+ value: "^[a-z0-9]+$",
31
+ message: "Location must contain only lowercase letters and numbers",
32
+ },
33
+ ],
34
+ },
35
+ name: {
36
+ dataType: version_interfaces_1.PropertyType.STRING,
37
+ required: false,
38
+ description: "Name of the static web app",
39
+ validation: [
40
+ {
41
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
42
+ value: "^[a-zA-Z0-9][a-zA-Z0-9-]{0,58}[a-zA-Z0-9]$",
43
+ message: "Static Web App name must be 2-60 chars, alphanumeric and hyphens, starting and ending with alphanumeric",
44
+ },
45
+ ],
46
+ },
47
+ tags: {
48
+ dataType: version_interfaces_1.PropertyType.OBJECT,
49
+ required: false,
50
+ defaultValue: {},
51
+ description: "Resource tags",
52
+ },
53
+ sku: {
54
+ dataType: version_interfaces_1.PropertyType.OBJECT,
55
+ required: false,
56
+ description: "SKU of the static web app (Free or Standard)",
57
+ },
58
+ repositoryUrl: {
59
+ dataType: version_interfaces_1.PropertyType.STRING,
60
+ required: false,
61
+ description: "URL of the source code repository",
62
+ },
63
+ branch: {
64
+ dataType: version_interfaces_1.PropertyType.STRING,
65
+ required: false,
66
+ description: "Source code branch in the repository",
67
+ },
68
+ repositoryToken: {
69
+ dataType: version_interfaces_1.PropertyType.STRING,
70
+ required: false,
71
+ description: "Token used to authenticate against the repository (e.g., GitHub personal access token)",
72
+ },
73
+ buildProperties: {
74
+ dataType: version_interfaces_1.PropertyType.OBJECT,
75
+ required: false,
76
+ description: "Build configuration for the static web app",
77
+ },
78
+ stagingEnvironmentPolicy: {
79
+ dataType: version_interfaces_1.PropertyType.STRING,
80
+ required: false,
81
+ description: "State indicating whether staging environments are allowed (Enabled or Disabled)",
82
+ },
83
+ allowConfigFileUpdates: {
84
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
85
+ required: false,
86
+ description: "Whether configuration file updates are allowed via the Static Web App's deployment workflow",
87
+ },
88
+ ignoreChanges: {
89
+ dataType: version_interfaces_1.PropertyType.ARRAY,
90
+ required: false,
91
+ description: "Array of property names to ignore during updates",
92
+ validation: [
93
+ {
94
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
95
+ value: version_interfaces_1.PropertyType.ARRAY,
96
+ message: "IgnoreChanges must be an array of strings",
97
+ },
98
+ ],
99
+ },
100
+ };
101
+ // =============================================================================
102
+ // VERSION-SPECIFIC SCHEMAS
103
+ // =============================================================================
104
+ const COMMON_OPTIONAL = [
105
+ "name",
106
+ "tags",
107
+ "sku",
108
+ "repositoryUrl",
109
+ "branch",
110
+ "repositoryToken",
111
+ "buildProperties",
112
+ "stagingEnvironmentPolicy",
113
+ "allowConfigFileUpdates",
114
+ "ignoreChanges",
115
+ ];
116
+ /**
117
+ * API Schema for Static Web App version 2022-03-01
118
+ */
119
+ exports.STATIC_WEB_APP_SCHEMA_2022_03_01 = {
120
+ resourceType: "Microsoft.Web/staticSites",
121
+ version: "2022-03-01",
122
+ properties: {
123
+ ...COMMON_STATIC_WEB_APP_PROPERTIES,
124
+ },
125
+ required: ["location"],
126
+ optional: COMMON_OPTIONAL,
127
+ deprecated: [],
128
+ transformationRules: {},
129
+ validationRules: [],
130
+ };
131
+ /**
132
+ * API Schema for Static Web App version 2023-12-01
133
+ */
134
+ exports.STATIC_WEB_APP_SCHEMA_2023_12_01 = {
135
+ resourceType: "Microsoft.Web/staticSites",
136
+ version: "2023-12-01",
137
+ properties: {
138
+ ...COMMON_STATIC_WEB_APP_PROPERTIES,
139
+ },
140
+ required: ["location"],
141
+ optional: COMMON_OPTIONAL,
142
+ deprecated: [],
143
+ transformationRules: {},
144
+ validationRules: [],
145
+ };
146
+ /**
147
+ * API Schema for Static Web App version 2024-04-01
148
+ */
149
+ exports.STATIC_WEB_APP_SCHEMA_2024_04_01 = {
150
+ resourceType: "Microsoft.Web/staticSites",
151
+ version: "2024-04-01",
152
+ properties: {
153
+ ...COMMON_STATIC_WEB_APP_PROPERTIES,
154
+ },
155
+ required: ["location"],
156
+ optional: COMMON_OPTIONAL,
157
+ deprecated: [],
158
+ transformationRules: {},
159
+ validationRules: [],
160
+ };
161
+ // =============================================================================
162
+ // VERSION CONFIGURATIONS
163
+ // =============================================================================
164
+ /**
165
+ * Version configuration for Static Web App 2022-03-01
166
+ */
167
+ exports.STATIC_WEB_APP_VERSION_2022_03_01 = {
168
+ version: "2022-03-01",
169
+ schema: exports.STATIC_WEB_APP_SCHEMA_2022_03_01,
170
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
171
+ releaseDate: "2022-03-01",
172
+ deprecationDate: undefined,
173
+ sunsetDate: undefined,
174
+ breakingChanges: [],
175
+ migrationGuide: "/docs/static-web-app/migration-2022-03-01",
176
+ changeLog: [
177
+ {
178
+ changeType: "added",
179
+ description: "Stable Static Web Apps release",
180
+ breaking: false,
181
+ },
182
+ ],
183
+ };
184
+ /**
185
+ * Version configuration for Static Web App 2023-12-01
186
+ */
187
+ exports.STATIC_WEB_APP_VERSION_2023_12_01 = {
188
+ version: "2023-12-01",
189
+ schema: exports.STATIC_WEB_APP_SCHEMA_2023_12_01,
190
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
191
+ releaseDate: "2023-12-01",
192
+ deprecationDate: undefined,
193
+ sunsetDate: undefined,
194
+ breakingChanges: [],
195
+ migrationGuide: "/docs/static-web-app/migration-2023-12-01",
196
+ changeLog: [
197
+ {
198
+ changeType: "updated",
199
+ description: "Performance and reliability improvements",
200
+ breaking: false,
201
+ },
202
+ ],
203
+ };
204
+ /**
205
+ * Version configuration for Static Web App 2024-04-01
206
+ */
207
+ exports.STATIC_WEB_APP_VERSION_2024_04_01 = {
208
+ version: "2024-04-01",
209
+ schema: exports.STATIC_WEB_APP_SCHEMA_2024_04_01,
210
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
211
+ releaseDate: "2024-04-01",
212
+ deprecationDate: undefined,
213
+ sunsetDate: undefined,
214
+ breakingChanges: [],
215
+ migrationGuide: "/docs/static-web-app/migration-2024-04-01",
216
+ changeLog: [
217
+ {
218
+ changeType: "updated",
219
+ description: "Latest stable Static Web Apps API",
220
+ breaking: false,
221
+ },
222
+ ],
223
+ };
224
+ /**
225
+ * All supported Static Web App versions for registration
226
+ */
227
+ exports.ALL_STATIC_WEB_APP_VERSIONS = [
228
+ exports.STATIC_WEB_APP_VERSION_2022_03_01,
229
+ exports.STATIC_WEB_APP_VERSION_2023_12_01,
230
+ exports.STATIC_WEB_APP_VERSION_2024_04_01,
231
+ ];
232
+ /**
233
+ * Resource type constant
234
+ */
235
+ exports.STATIC_WEB_APP_TYPE = "Microsoft.Web/staticSites";
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLXdlYi1hcHAtc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1zdGF0aWN3ZWJhcHAvbGliL3N0YXRpYy13ZWItYXBwLXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkdBTzRFO0FBRTVFLGdGQUFnRjtBQUNoRiw4QkFBOEI7QUFDOUIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxnQ0FBZ0MsR0FFbEM7SUFDRixRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUNULCtKQUErSjtRQUNqSyxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLHNCQUFzQjthQUNoQztZQUNEO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxhQUFhO2dCQUMxQyxLQUFLLEVBQUUsYUFBYTtnQkFDcEIsT0FBTyxFQUFFLDBEQUEwRDthQUNwRTtTQUNGO0tBQ0Y7SUFDRCxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsYUFBYTtnQkFDMUMsS0FBSyxFQUFFLDRDQUE0QztnQkFDbkQsT0FBTyxFQUNMLHlHQUF5RzthQUM1RztTQUNGO0tBQ0Y7SUFDRCxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsWUFBWSxFQUFFLEVBQUU7UUFDaEIsV0FBVyxFQUFFLGVBQWU7S0FDN0I7SUFDRCxHQUFHLEVBQUU7UUFDSCxRQUFRLEVBQUUsaUNBQVksQ0FB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QVUsRUFBRSxTQUFTO1lBQ3JCLFdBQVcsRUFBRSxtQ0FBbUM7WUFDaEQsUUFBUSxFQUFFLEtBQUs7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsMkJBQTJCLEdBQW9CO0lBQzFELHlDQUFpQztJQUNqQyx5Q0FBaUM7SUFDakMseUNBQWlDO0NBQ2xDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBTdGF0aWMgV2ViIEFwcCBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0LldlYi9zdGF0aWNTaXRlc1xuICogYWNyb3NzIGFsbCBzdXBwb3J0ZWQgQVBJIHZlcnNpb25zLiBUaGUgc2NoZW1hcyBhcmUgdXNlZCBieSB0aGUgQXphcGlSZXNvdXJjZVxuICogZnJhbWV3b3JrIGZvciB2YWxpZGF0aW9uLCB0cmFuc2Zvcm1hdGlvbiwgYW5kIHZlcnNpb24gbWFuYWdlbWVudC5cbiAqL1xuXG5pbXBvcnQge1xuICBBcGlTY2hlbWEsXG4gIFByb3BlcnR5RGVmaW5pdGlvbixcbiAgUHJvcGVydHlUeXBlLFxuICBWYWxpZGF0aW9uUnVsZVR5cGUsXG4gIFZlcnNpb25Db25maWcsXG4gIFZlcnNpb25TdXBwb3J0TGV2ZWwsXG59IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTU1PTiBQUk9QRVJUWSBERUZJTklUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydHkgZGVmaW5pdGlvbnMgc2hhcmVkIGFjcm9zcyBhbGwgU3RhdGljIFdlYiBBcHAgdmVyc2lvbnNcbiAqL1xuY29uc3QgQ09NTU9OX1NUQVRJQ19XRUJfQVBQX1BST1BFUlRJRVM6IHtcbiAgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uO1xufSA9IHtcbiAgbG9jYXRpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiQXp1cmUgcmVnaW9uIGZvciB0aGUgc3RhdGljIHdlYiBhcHAuIFN0YXRpYyBXZWIgQXBwcyBhcmUgb25seSBhdmFpbGFibGUgaW4gYSBsaW1pdGVkIHNldCBvZiByZWdpb25zIChlLmcuLCBjZW50cmFsdXMsIGVhc3R1czIsIGVhc3Rhc2lhLCB3ZXN0ZXVyb3BlLCB3ZXN0dXMyKVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJMb2NhdGlvbiBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtejAtOV0rJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIkxvY2F0aW9uIG11c3QgY29udGFpbiBvbmx5IGxvd2VyY2FzZSBsZXR0ZXJzIGFuZCBudW1iZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiTmFtZSBvZiB0aGUgc3RhdGljIHdlYiBhcHBcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXpBLVowLTldW2EtekEtWjAtOS1dezAsNTh9W2EtekEtWjAtOV0kXCIsXG4gICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgXCJTdGF0aWMgV2ViIEFwcCBuYW1lIG11c3QgYmUgMi02MCBjaGFycywgYWxwaGFudW1lcmljIGFuZCBoeXBoZW5zLCBzdGFydGluZyBhbmQgZW5kaW5nIHdpdGggYWxwaGFudW1lcmljXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHRhZ3M6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiB7fSxcbiAgICBkZXNjcmlwdGlvbjogXCJSZXNvdXJjZSB0YWdzXCIsXG4gIH0sXG4gIHNrdToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJTS1Ugb2YgdGhlIHN0YXRpYyB3ZWIgYXBwIChGcmVlIG9yIFN0YW5kYXJkKVwiLFxuICB9LFxuICByZXBvc2l0b3J5VXJsOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlVSTCBvZiB0aGUgc291cmNlIGNvZGUgcmVwb3NpdG9yeVwiLFxuICB9LFxuICBicmFuY2g6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiU291cmNlIGNvZGUgYnJhbmNoIGluIHRoZSByZXBvc2l0b3J5XCIsXG4gIH0sXG4gIHJlcG9zaXRvcnlUb2tlbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVG9rZW4gdXNlZCB0byBhdXRoZW50aWNhdGUgYWdhaW5zdCB0aGUgcmVwb3NpdG9yeSAoZS5nLiwgR2l0SHViIHBlcnNvbmFsIGFjY2VzcyB0b2tlbilcIixcbiAgfSxcbiAgYnVpbGRQcm9wZXJ0aWVzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkJ1aWxkIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBzdGF0aWMgd2ViIGFwcFwiLFxuICB9LFxuICBzdGFnaW5nRW52aXJvbm1lbnRQb2xpY3k6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlN0YXRlIGluZGljYXRpbmcgd2hldGhlciBzdGFnaW5nIGVudmlyb25tZW50cyBhcmUgYWxsb3dlZCAoRW5hYmxlZCBvciBEaXNhYmxlZClcIixcbiAgfSxcbiAgYWxsb3dDb25maWdGaWxlVXBkYXRlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQk9PTEVBTixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIldoZXRoZXIgY29uZmlndXJhdGlvbiBmaWxlIHVwZGF0ZXMgYXJlIGFsbG93ZWQgdmlhIHRoZSBTdGF0aWMgV2ViIEFwcCdzIGRlcGxveW1lbnQgd29ya2Zsb3dcIixcbiAgfSxcbiAgaWdub3JlQ2hhbmdlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFycmF5IG9mIHByb3BlcnR5IG5hbWVzIHRvIGlnbm9yZSBkdXJpbmcgdXBkYXRlc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgICAgICBtZXNzYWdlOiBcIklnbm9yZUNoYW5nZXMgbXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTi1TUEVDSUZJQyBTQ0hFTUFTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBDT01NT05fT1BUSU9OQUwgPSBbXG4gIFwibmFtZVwiLFxuICBcInRhZ3NcIixcbiAgXCJza3VcIixcbiAgXCJyZXBvc2l0b3J5VXJsXCIsXG4gIFwiYnJhbmNoXCIsXG4gIFwicmVwb3NpdG9yeVRva2VuXCIsXG4gIFwiYnVpbGRQcm9wZXJ0aWVzXCIsXG4gIFwic3RhZ2luZ0Vudmlyb25tZW50UG9saWN5XCIsXG4gIFwiYWxsb3dDb25maWdGaWxlVXBkYXRlc1wiLFxuICBcImlnbm9yZUNoYW5nZXNcIixcbl07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgU3RhdGljIFdlYiBBcHAgdmVyc2lvbiAyMDIyLTAzLTAxXG4gKi9cbmV4cG9ydCBjb25zdCBTVEFUSUNfV0VCX0FQUF9TQ0hFTUFfMjAyMl8wM18wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0LldlYi9zdGF0aWNTaXRlc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjItMDMtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9TVEFUSUNfV0VCX0FQUF9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibG9jYXRpb25cIl0sXG4gIG9wdGlvbmFsOiBDT01NT05fT1BUSU9OQUwsXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgU3RhdGljIFdlYiBBcHAgdmVyc2lvbiAyMDIzLTEyLTAxXG4gKi9cbmV4cG9ydCBjb25zdCBTVEFUSUNfV0VCX0FQUF9TQ0hFTUFfMjAyM18xMl8wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0LldlYi9zdGF0aWNTaXRlc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjMtMTItMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9TVEFUSUNfV0VCX0FQUF9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibG9jYXRpb25cIl0sXG4gIG9wdGlvbmFsOiBDT01NT05fT1BUSU9OQUwsXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgU3RhdGljIFdlYiBBcHAgdmVyc2lvbiAyMDI0LTA0LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBTVEFUSUNfV0VCX0FQUF9TQ0hFTUFfMjAyNF8wNF8wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0LldlYi9zdGF0aWNTaXRlc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjQtMDQtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9TVEFUSUNfV0VCX0FQUF9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibG9jYXRpb25cIl0sXG4gIG9wdGlvbmFsOiBDT01NT05fT1BUSU9OQUwsXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OIENPTkZJR1VSQVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgU3RhdGljIFdlYiBBcHAgMjAyMi0wMy0wMVxuICovXG5leHBvcnQgY29uc3QgU1RBVElDX1dFQl9BUFBfVkVSU0lPTl8yMDIyXzAzXzAxOiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjItMDMtMDFcIixcbiAgc2NoZW1hOiBTVEFUSUNfV0VCX0FQUF9TQ0hFTUFfMjAyMl8wM18wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyMi0wMy0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9zdGF0aWMtd2ViLWFwcC9taWdyYXRpb24tMjAyMi0wMy0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcImFkZGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTdGFibGUgU3RhdGljIFdlYiBBcHBzIHJlbGVhc2VcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBWZXJzaW9uIGNvbmZpZ3VyYXRpb24gZm9yIFN0YXRpYyBXZWIgQXBwIDIwMjMtMTItMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFNUQVRJQ19XRUJfQVBQX1ZFUlNJT05fMjAyM18xMl8wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDIzLTEyLTAxXCIsXG4gIHNjaGVtYTogU1RBVElDX1dFQl9BUFBfU0NIRU1BXzIwMjNfMTJfMDEsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gIHJlbGVhc2VEYXRlOiBcIjIwMjMtMTItMDFcIixcbiAgZGVwcmVjYXRpb25EYXRlOiB1bmRlZmluZWQsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3Mvc3RhdGljLXdlYi1hcHAvbWlncmF0aW9uLTIwMjMtMTItMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJ1cGRhdGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJQZXJmb3JtYW5jZSBhbmQgcmVsaWFiaWxpdHkgaW1wcm92ZW1lbnRzXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBTdGF0aWMgV2ViIEFwcCAyMDI0LTA0LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBTVEFUSUNfV0VCX0FQUF9WRVJTSU9OXzIwMjRfMDRfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyNC0wNC0wMVwiLFxuICBzY2hlbWE6IFNUQVRJQ19XRUJfQVBQX1NDSEVNQV8yMDI0XzA0XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTA0LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3N0YXRpYy13ZWItYXBwL21pZ3JhdGlvbi0yMDI0LTA0LTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwidXBkYXRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiTGF0ZXN0IHN0YWJsZSBTdGF0aWMgV2ViIEFwcHMgQVBJXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBTdGF0aWMgV2ViIEFwcCB2ZXJzaW9ucyBmb3IgcmVnaXN0cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBBTExfU1RBVElDX1dFQl9BUFBfVkVSU0lPTlM6IFZlcnNpb25Db25maWdbXSA9IFtcbiAgU1RBVElDX1dFQl9BUFBfVkVSU0lPTl8yMDIyXzAzXzAxLFxuICBTVEFUSUNfV0VCX0FQUF9WRVJTSU9OXzIwMjNfMTJfMDEsXG4gIFNUQVRJQ19XRUJfQVBQX1ZFUlNJT05fMjAyNF8wNF8wMSxcbl07XG5cbi8qKlxuICogUmVzb3VyY2UgdHlwZSBjb25zdGFudFxuICovXG5leHBvcnQgY29uc3QgU1RBVElDX1dFQl9BUFBfVFlQRSA9IFwiTWljcm9zb2Z0LldlYi9zdGF0aWNTaXRlc1wiO1xuIl19
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Azure Static Web App implementation using AzapiResource framework
3
+ *
4
+ * This class provides a unified implementation for Azure Static Web Apps that
5
+ * automatically handles version management, schema validation, and property
6
+ * transformation across all supported API versions.
7
+ *
8
+ * Supported API Versions:
9
+ * - 2022-03-01 (Active)
10
+ * - 2023-12-01 (Active)
11
+ * - 2024-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
+ * - JSII compliance for multi-language support
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
+ * SKU configuration for Static Web App
25
+ */
26
+ export interface StaticWebAppSku {
27
+ /**
28
+ * Name of the SKU
29
+ * @example "Free", "Standard"
30
+ */
31
+ readonly name: string;
32
+ /**
33
+ * Tier of the SKU
34
+ * @example "Free", "Standard"
35
+ */
36
+ readonly tier?: string;
37
+ }
38
+ /**
39
+ * Build configuration for the Static Web App
40
+ *
41
+ * These properties drive the build pipeline that the Static Web App
42
+ * uses when integrated with a source control repository.
43
+ */
44
+ export interface StaticWebAppBuildProperties {
45
+ /**
46
+ * The path to the app code within the repository
47
+ * @example "/", "src"
48
+ */
49
+ readonly appLocation?: string;
50
+ /**
51
+ * The path to the Azure Functions API code within the repository
52
+ * @example "api"
53
+ */
54
+ readonly apiLocation?: string;
55
+ /**
56
+ * The path of the build output relative to the app location
57
+ * @example "build", "dist"
58
+ */
59
+ readonly outputLocation?: string;
60
+ /**
61
+ * A custom command to run during deployment of the static content application
62
+ */
63
+ readonly appBuildCommand?: string;
64
+ /**
65
+ * A custom command to run during deployment of the Azure Functions API application
66
+ */
67
+ readonly apiBuildCommand?: string;
68
+ /**
69
+ * Skip Github Action workflow generation
70
+ */
71
+ readonly skipGithubActionWorkflowGeneration?: boolean;
72
+ /**
73
+ * GitHub Action secret name override
74
+ */
75
+ readonly githubActionSecretNameOverride?: string;
76
+ }
77
+ /**
78
+ * Properties for the Azure Static Web App
79
+ *
80
+ * Extends AzapiResourceProps with Static Web App specific properties
81
+ */
82
+ export interface StaticWebAppProps extends AzapiResourceProps {
83
+ /**
84
+ * SKU of the static web app
85
+ * @defaultValue { name: "Free", tier: "Free" }
86
+ */
87
+ readonly sku?: StaticWebAppSku;
88
+ /**
89
+ * URL of the source code repository
90
+ * Optional - if not provided, the Static Web App is created without source control integration
91
+ * @example "https://github.com/my-org/my-repo"
92
+ */
93
+ readonly repositoryUrl?: string;
94
+ /**
95
+ * Source code branch in the repository
96
+ * @example "main"
97
+ */
98
+ readonly branch?: string;
99
+ /**
100
+ * Token used to authenticate against the repository
101
+ * For GitHub, this is a personal access token with `repo` scope
102
+ *
103
+ * @remarks
104
+ * Treat this value as a secret. Prefer passing it via Terraform variables
105
+ * or environment variables rather than hard-coding it.
106
+ */
107
+ readonly repositoryToken?: string;
108
+ /**
109
+ * Build configuration for the static web app
110
+ */
111
+ readonly buildProperties?: StaticWebAppBuildProperties;
112
+ /**
113
+ * Whether staging environments are allowed
114
+ * @example "Enabled", "Disabled"
115
+ * @defaultValue "Enabled"
116
+ */
117
+ readonly stagingEnvironmentPolicy?: string;
118
+ /**
119
+ * Whether configuration file updates are allowed
120
+ * @defaultValue true
121
+ */
122
+ readonly allowConfigFileUpdates?: boolean;
123
+ /**
124
+ * Resource group ID where the Static Web App will be created
125
+ * Optional - will use the subscription scope if not provided
126
+ */
127
+ readonly resourceGroupId?: string;
128
+ /**
129
+ * The lifecycle rules to ignore changes
130
+ * Useful for properties that are externally managed
131
+ *
132
+ * @example ["tags", "body.properties.repositoryToken"]
133
+ */
134
+ readonly ignoreChanges?: string[];
135
+ }
136
+ /**
137
+ * Azure Static Web App
138
+ *
139
+ * This class provides a single, version-aware implementation for the
140
+ * `Microsoft.Web/staticSites` Azure resource type. It automatically handles
141
+ * version resolution, schema validation, and property transformation while
142
+ * exposing the most commonly used Static Web App configuration options.
143
+ *
144
+ * @example
145
+ * // Basic Free-tier Static Web App without source control integration:
146
+ * const swa = new StaticWebApp(this, "swa", {
147
+ * name: "my-static-web-app",
148
+ * location: "eastus2",
149
+ * resourceGroupId: resourceGroup.id,
150
+ * });
151
+ *
152
+ * @example
153
+ * // Standard Static Web App with GitHub integration:
154
+ * const swa = new StaticWebApp(this, "swa", {
155
+ * name: "my-static-web-app",
156
+ * location: "eastus2",
157
+ * resourceGroupId: resourceGroup.id,
158
+ * sku: {
159
+ * name: "Standard",
160
+ * tier: "Standard",
161
+ * },
162
+ * repositoryUrl: "https://github.com/my-org/my-repo",
163
+ * branch: "main",
164
+ * buildProperties: {
165
+ * appLocation: "/",
166
+ * apiLocation: "api",
167
+ * outputLocation: "dist",
168
+ * },
169
+ * });
170
+ *
171
+ * @stability stable
172
+ */
173
+ export declare class StaticWebApp extends AzapiResource {
174
+ /**
175
+ * The input properties for this Static Web App instance
176
+ */
177
+ readonly props: StaticWebAppProps;
178
+ readonly idOutput: cdktf.TerraformOutput;
179
+ readonly nameOutput: cdktf.TerraformOutput;
180
+ readonly locationOutput: cdktf.TerraformOutput;
181
+ readonly tagsOutput: cdktf.TerraformOutput;
182
+ readonly defaultHostnameOutput: cdktf.TerraformOutput;
183
+ /**
184
+ * Creates a new Azure Static Web App using the AzapiResource framework
185
+ *
186
+ * @param scope - The scope in which to define this construct
187
+ * @param id - The unique identifier for this instance
188
+ * @param props - Configuration properties for the Static Web App
189
+ */
190
+ constructor(scope: Construct, id: string, props: StaticWebAppProps);
191
+ /**
192
+ * Gets the default API version to use when no explicit version is specified
193
+ */
194
+ protected defaultVersion(): string;
195
+ /**
196
+ * Gets the Azure resource type for Static Web Apps
197
+ */
198
+ protected resourceType(): string;
199
+ /**
200
+ * Gets the API schema for the resolved version
201
+ */
202
+ protected apiSchema(): ApiSchema;
203
+ /**
204
+ * Indicates that location is required for Static Web Apps
205
+ */
206
+ protected requiresLocation(): boolean;
207
+ /**
208
+ * Creates the resource body for the Azure API call
209
+ * Transforms the input properties into the JSON format expected by the
210
+ * `Microsoft.Web/staticSites` Azure REST API.
211
+ */
212
+ protected createResourceBody(props: any): any;
213
+ /**
214
+ * Get the subscription ID from the Static Web App ID
215
+ * Extracts the subscription ID from the Azure resource ID format
216
+ */
217
+ get subscriptionId(): string;
218
+ /**
219
+ * Get the full resource identifier for use in other Azure resources
220
+ * Alias for the id property
221
+ */
222
+ get resourceId(): string;
223
+ /**
224
+ * Get the default hostname of the Static Web App
225
+ * Returns the Terraform interpolation string for the default hostname
226
+ */
227
+ get defaultHostname(): string;
228
+ /**
229
+ * Add a tag to the Static Web App
230
+ * Note: This modifies the construct props but requires a new deployment to take effect
231
+ */
232
+ addTag(key: string, value: string): void;
233
+ /**
234
+ * Remove a tag from the Static Web App
235
+ * Note: This modifies the construct props but requires a new deployment to take effect
236
+ */
237
+ removeTag(key: string): void;
238
+ /**
239
+ * Applies ignore changes lifecycle rules if specified in props
240
+ */
241
+ private _applyIgnoreChanges;
242
+ }