@drunk-pulumi/azure 1.0.22 → 1.0.24

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 (140) hide show
  1. package/Aks/Identity.d.ts +1 -1
  2. package/Aks/Identity.js +1 -1
  3. package/Aks/index.d.ts +2 -3
  4. package/Aks/index.js +2 -2
  5. package/AzAd/EnvRoles.Consts.d.ts +6 -5
  6. package/AzAd/EnvRoles.Consts.js +48 -42
  7. package/AzAd/Helper.js +7 -1
  8. package/AzAd/Identities/AzDevOpsIdentity.d.ts +1 -1
  9. package/AzAd/Identities/AzDevOpsIdentity.js +1 -1
  10. package/AzAd/Identities/AzUserAdRevertSync.d.ts +1 -1
  11. package/AzAd/Identity.d.ts +2 -11
  12. package/AzAd/Identity.js +2 -2
  13. package/AzAd/UserAssignedIdentity.js +6 -1
  14. package/Builder/AcrBuilder.d.ts +8 -0
  15. package/Builder/AcrBuilder.js +176 -0
  16. package/Builder/AksBuilder.d.ts +5 -0
  17. package/Builder/AksBuilder.js +90 -6
  18. package/Builder/ApimApiBuilder.js +2 -3
  19. package/Builder/ApimBuilder.js +3 -7
  20. package/Builder/ApimPolicyBuilder.js +1 -1
  21. package/Builder/ApimProductBuilder.d.ts +6 -5
  22. package/Builder/ApimProductBuilder.js +53 -27
  23. package/Builder/AppCertBuilder.d.ts +3 -0
  24. package/Builder/AppCertBuilder.js +75 -0
  25. package/Builder/AppConfigBuilder.d.ts +3 -0
  26. package/Builder/AppConfigBuilder.js +148 -0
  27. package/Builder/AutomationBuilder.d.ts +3 -0
  28. package/Builder/AutomationBuilder.js +106 -0
  29. package/Builder/IotHubBuilder.d.ts +3 -0
  30. package/Builder/IotHubBuilder.js +240 -0
  31. package/Builder/LogicAppBuilder.d.ts +3 -0
  32. package/Builder/LogicAppBuilder.js +69 -0
  33. package/Builder/MySqlBuilder.d.ts +3 -0
  34. package/Builder/MySqlBuilder.js +225 -0
  35. package/Builder/PostgreSqlBuilder.d.ts +3 -0
  36. package/Builder/PostgreSqlBuilder.js +231 -0
  37. package/Builder/RedisCacheBuilder.d.ts +3 -0
  38. package/Builder/RedisCacheBuilder.js +144 -0
  39. package/Builder/ResourceBuilder.js +14 -4
  40. package/Builder/ServiceBusBuilder.js +4 -11
  41. package/Builder/SignalRBuilder.d.ts +3 -0
  42. package/Builder/SignalRBuilder.js +172 -0
  43. package/Builder/VaultBuilder.js +7 -26
  44. package/Builder/index.d.ts +10 -0
  45. package/Builder/index.js +22 -2
  46. package/Builder/types/acrBuilder.d.ts +54 -0
  47. package/Builder/types/acrBuilder.js +3 -0
  48. package/Builder/types/apimBuilder.d.ts +109 -5
  49. package/Builder/types/apimPolicyBuilder.d.ts +129 -7
  50. package/Builder/types/apimPolicyBuilder.js +4 -1
  51. package/Builder/types/apimProductBuilder.d.ts +152 -5
  52. package/Builder/types/appCertBuilder.d.ts +31 -0
  53. package/Builder/types/appCertBuilder.js +3 -0
  54. package/Builder/types/appConfigBuilder.d.ts +37 -0
  55. package/Builder/types/appConfigBuilder.js +3 -0
  56. package/Builder/types/askBuilder.d.ts +79 -1
  57. package/Builder/types/automationBuilder.d.ts +28 -0
  58. package/Builder/types/automationBuilder.js +3 -0
  59. package/Builder/types/cdnBuilder.d.ts +11 -0
  60. package/Builder/types/dnsZoneBuilder.d.ts +20 -0
  61. package/Builder/types/envRoleBuilder.d.ts +28 -0
  62. package/Builder/types/genericBuilder.d.ts +78 -0
  63. package/Builder/types/genericBuilder.js +9 -1
  64. package/Builder/types/index.d.ts +11 -0
  65. package/Builder/types/index.js +12 -1
  66. package/Builder/types/iotHubBuilder.d.ts +64 -0
  67. package/Builder/types/iotHubBuilder.js +3 -0
  68. package/Builder/types/logicAppBuilder.d.ts +27 -0
  69. package/Builder/types/logicAppBuilder.js +3 -0
  70. package/Builder/types/mySqlBuilder.d.ts +98 -0
  71. package/Builder/types/mySqlBuilder.js +3 -0
  72. package/Builder/types/posgreSqlBuilder.d.ts +107 -0
  73. package/Builder/types/posgreSqlBuilder.js +3 -0
  74. package/Builder/types/privateDnsZoneBuilder.d.ts +26 -0
  75. package/Builder/types/redisCacheBuilder.d.ts +46 -0
  76. package/Builder/types/redisCacheBuilder.js +3 -0
  77. package/Builder/types/resourceBuilder.d.ts +173 -7
  78. package/Builder/types/serviceBusBuilder.d.ts +55 -0
  79. package/Builder/types/signalRBuilder.d.ts +97 -0
  80. package/Builder/types/signalRBuilder.js +3 -0
  81. package/Builder/types/sqlBuilder.d.ts +88 -1
  82. package/Builder/types/storageBuilder.d.ts +63 -0
  83. package/Builder/types/vaultBuilder.d.ts +43 -1
  84. package/Builder/types/vdiBuilder.d.ts +41 -2
  85. package/Builder/types/vmBuilder.d.ts +83 -1
  86. package/Builder/types/vnetBuilder.d.ts +107 -0
  87. package/Common/OpenApi/index.js +37 -0
  88. package/{Web → Common/OpenApi}/types.js +1 -1
  89. package/Common/index.d.ts +1 -0
  90. package/Common/index.js +3 -2
  91. package/CustomRoles/index.js +4 -4
  92. package/KeyVault/Helper.d.ts +1 -0
  93. package/KeyVault/Helper.js +2 -1
  94. package/KeyVault/index.d.ts +1 -11
  95. package/KeyVault/index.js +3 -21
  96. package/Sql/index.js +3 -6
  97. package/Storage/index.js +4 -8
  98. package/VNet/PrivateEndpoint.d.ts +10 -3
  99. package/VNet/PrivateEndpoint.js +62 -2
  100. package/VNet/index.d.ts +11 -0
  101. package/VNet/index.js +18 -2
  102. package/package.json +1 -1
  103. package/types.d.ts +173 -6
  104. package/Apim/ApiProduct/OpenApi.js +0 -3
  105. package/Apim/ApiProduct/SwaggerHelper.js +0 -37
  106. package/Apps/LogicApp.d.ts +0 -5
  107. package/Apps/LogicApp.js +0 -38
  108. package/Automation/index.d.ts +0 -6
  109. package/Automation/index.js +0 -78
  110. package/ContainerRegistry/Helper.d.ts +0 -15
  111. package/ContainerRegistry/Helper.js +0 -77
  112. package/ContainerRegistry/index.d.ts +0 -15
  113. package/ContainerRegistry/index.js +0 -93
  114. package/CosmosDb/index.d.ts +0 -28
  115. package/CosmosDb/index.js +0 -142
  116. package/IOT/Hub/index.d.ts +0 -26
  117. package/IOT/Hub/index.js +0 -191
  118. package/MySql/index.d.ts +0 -16
  119. package/MySql/index.js +0 -185
  120. package/Postgresql/index.d.ts +0 -16
  121. package/Postgresql/index.js +0 -157
  122. package/RedisCache/index.d.ts +0 -15
  123. package/RedisCache/index.js +0 -111
  124. package/SignalR/index.d.ts +0 -19
  125. package/SignalR/index.js +0 -128
  126. package/Sql/Auditing.d.ts +0 -0
  127. package/Sql/Auditing.js +0 -2
  128. package/Sql/Helper.d.ts +0 -9
  129. package/Sql/Helper.js +0 -11
  130. package/VNet/GlobalNetworkPeering.d.ts +0 -9
  131. package/VNet/GlobalNetworkPeering.js +0 -40
  132. package/Web/AppCertOrder.d.ts +0 -8
  133. package/Web/AppCertOrder.js +0 -52
  134. package/Web/AppConfig.d.ts +0 -10
  135. package/Web/AppConfig.js +0 -93
  136. package/Web/AppGateway.d.ts +0 -15
  137. package/Web/AppGateway.js +0 -58
  138. package/Web/types.d.ts +0 -37
  139. /package/{Apim/ApiProduct/SwaggerHelper.d.ts → Common/OpenApi/index.d.ts} +0 -0
  140. /package/{Apim/ApiProduct/OpenApi.d.ts → Common/OpenApi/types.d.ts} +0 -0
package/Builder/index.js CHANGED
@@ -17,25 +17,45 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.VnetBuilder = exports.VmBuilder = exports.VdiBuilder = exports.VaultBuilder = exports.StorageBuilder = exports.SqlBuilder = exports.ServiceBusBuilder = exports.ResourceBuilder = exports.PrivateDnsZoneBuilder = exports.EnvRoleBuilder = exports.DnsZoneBuilder = exports.CdnBuilder = exports.ApimRootBuilder = exports.ApimBuilder = exports.AksBuilder = void 0;
20
+ exports.VnetBuilder = exports.VmBuilder = exports.VdiBuilder = exports.VaultBuilder = exports.StorageBuilder = exports.SqlBuilder = exports.SignalRBuilder = exports.ServiceBusBuilder = exports.ResourceBuilder = exports.RedisCacheBuilder = exports.PrivateDnsZoneBuilder = exports.PostgreSqlBuilder = exports.MySqlBuilder = exports.LogicAppBuilder = exports.IotHubBuilder = exports.EnvRoleBuilder = exports.DnsZoneBuilder = exports.CdnBuilder = exports.AutomationBuilder = exports.AppConfigBuilder = exports.AppCertBuilder = exports.ApimRootBuilder = exports.ApimBuilder = exports.AksBuilder = exports.AcrBuilder = void 0;
21
+ var AcrBuilder_1 = require("./AcrBuilder");
22
+ Object.defineProperty(exports, "AcrBuilder", { enumerable: true, get: function () { return __importDefault(AcrBuilder_1).default; } });
21
23
  var AksBuilder_1 = require("./AksBuilder");
22
24
  Object.defineProperty(exports, "AksBuilder", { enumerable: true, get: function () { return __importDefault(AksBuilder_1).default; } });
23
25
  var ApimBuilder_1 = require("./ApimBuilder");
24
26
  Object.defineProperty(exports, "ApimBuilder", { enumerable: true, get: function () { return __importDefault(ApimBuilder_1).default; } });
25
27
  var ApimRootBuilder_1 = require("./ApimRootBuilder");
26
28
  Object.defineProperty(exports, "ApimRootBuilder", { enumerable: true, get: function () { return __importDefault(ApimRootBuilder_1).default; } });
29
+ var AppCertBuilder_1 = require("./AppCertBuilder");
30
+ Object.defineProperty(exports, "AppCertBuilder", { enumerable: true, get: function () { return __importDefault(AppCertBuilder_1).default; } });
31
+ var AppConfigBuilder_1 = require("./AppConfigBuilder");
32
+ Object.defineProperty(exports, "AppConfigBuilder", { enumerable: true, get: function () { return __importDefault(AppConfigBuilder_1).default; } });
33
+ var AutomationBuilder_1 = require("./AutomationBuilder");
34
+ Object.defineProperty(exports, "AutomationBuilder", { enumerable: true, get: function () { return __importDefault(AutomationBuilder_1).default; } });
27
35
  var CdnBuilder_1 = require("./CdnBuilder");
28
36
  Object.defineProperty(exports, "CdnBuilder", { enumerable: true, get: function () { return __importDefault(CdnBuilder_1).default; } });
29
37
  var DnsZoneBuilder_1 = require("./DnsZoneBuilder");
30
38
  Object.defineProperty(exports, "DnsZoneBuilder", { enumerable: true, get: function () { return __importDefault(DnsZoneBuilder_1).default; } });
31
39
  var EnvRoleBuilder_1 = require("./EnvRoleBuilder");
32
40
  Object.defineProperty(exports, "EnvRoleBuilder", { enumerable: true, get: function () { return EnvRoleBuilder_1.EnvRoleBuilder; } });
41
+ var IotHubBuilder_1 = require("./IotHubBuilder");
42
+ Object.defineProperty(exports, "IotHubBuilder", { enumerable: true, get: function () { return __importDefault(IotHubBuilder_1).default; } });
43
+ var LogicAppBuilder_1 = require("./LogicAppBuilder");
44
+ Object.defineProperty(exports, "LogicAppBuilder", { enumerable: true, get: function () { return __importDefault(LogicAppBuilder_1).default; } });
45
+ var MySqlBuilder_1 = require("./MySqlBuilder");
46
+ Object.defineProperty(exports, "MySqlBuilder", { enumerable: true, get: function () { return __importDefault(MySqlBuilder_1).default; } });
47
+ var PostgreSqlBuilder_1 = require("./PostgreSqlBuilder");
48
+ Object.defineProperty(exports, "PostgreSqlBuilder", { enumerable: true, get: function () { return __importDefault(PostgreSqlBuilder_1).default; } });
33
49
  var PrivateDnsZoneBuilder_1 = require("./PrivateDnsZoneBuilder");
34
50
  Object.defineProperty(exports, "PrivateDnsZoneBuilder", { enumerable: true, get: function () { return __importDefault(PrivateDnsZoneBuilder_1).default; } });
51
+ var RedisCacheBuilder_1 = require("./RedisCacheBuilder");
52
+ Object.defineProperty(exports, "RedisCacheBuilder", { enumerable: true, get: function () { return __importDefault(RedisCacheBuilder_1).default; } });
35
53
  var ResourceBuilder_1 = require("./ResourceBuilder");
36
54
  Object.defineProperty(exports, "ResourceBuilder", { enumerable: true, get: function () { return __importDefault(ResourceBuilder_1).default; } });
37
55
  var ServiceBusBuilder_1 = require("./ServiceBusBuilder");
38
56
  Object.defineProperty(exports, "ServiceBusBuilder", { enumerable: true, get: function () { return __importDefault(ServiceBusBuilder_1).default; } });
57
+ var SignalRBuilder_1 = require("./SignalRBuilder");
58
+ Object.defineProperty(exports, "SignalRBuilder", { enumerable: true, get: function () { return __importDefault(SignalRBuilder_1).default; } });
39
59
  var SqlBuilder_1 = require("./SqlBuilder");
40
60
  Object.defineProperty(exports, "SqlBuilder", { enumerable: true, get: function () { return __importDefault(SqlBuilder_1).default; } });
41
61
  var StorageBuilder_1 = require("./StorageBuilder");
@@ -49,4 +69,4 @@ Object.defineProperty(exports, "VmBuilder", { enumerable: true, get: function ()
49
69
  var VnetBuilder_1 = require("./VnetBuilder");
50
70
  Object.defineProperty(exports, "VnetBuilder", { enumerable: true, get: function () { return __importDefault(VnetBuilder_1).default; } });
51
71
  __exportStar(require("./types"), exports);
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQnVpbGRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUFxRDtBQUE1Qyx5SEFBQSxPQUFPLE9BQWM7QUFDOUIsNkNBQXVEO0FBQTlDLDJIQUFBLE9BQU8sT0FBZTtBQUMvQixxREFBK0Q7QUFBdEQsbUlBQUEsT0FBTyxPQUFtQjtBQUNuQywyQ0FBcUQ7QUFBNUMseUhBQUEsT0FBTyxPQUFjO0FBQzlCLG1EQUE2RDtBQUFwRCxpSUFBQSxPQUFPLE9BQWtCO0FBQ2xDLG1EQUFrRDtBQUF6QyxnSEFBQSxjQUFjLE9BQUE7QUFDdkIsaUVBQTJFO0FBQWxFLCtJQUFBLE9BQU8sT0FBeUI7QUFDekMscURBQStEO0FBQXRELG1JQUFBLE9BQU8sT0FBbUI7QUFDbkMseURBQW1FO0FBQTFELHVJQUFBLE9BQU8sT0FBcUI7QUFDckMsMkNBQXFEO0FBQTVDLHlIQUFBLE9BQU8sT0FBYztBQUM5QixtREFBNkQ7QUFBcEQsaUlBQUEsT0FBTyxPQUFrQjtBQUNsQywrQ0FBeUQ7QUFBaEQsNkhBQUEsT0FBTyxPQUFnQjtBQUNoQywyQ0FBcUQ7QUFBNUMseUhBQUEsT0FBTyxPQUFjO0FBQzlCLHlDQUFtRDtBQUExQyx1SEFBQSxPQUFPLE9BQWE7QUFDN0IsNkNBQXVEO0FBQTlDLDJIQUFBLE9BQU8sT0FBZTtBQUUvQiwwQ0FBd0IifQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQnVpbGRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUFxRDtBQUE1Qyx5SEFBQSxPQUFPLE9BQWM7QUFDOUIsMkNBQXFEO0FBQTVDLHlIQUFBLE9BQU8sT0FBYztBQUM5Qiw2Q0FBdUQ7QUFBOUMsMkhBQUEsT0FBTyxPQUFlO0FBQy9CLHFEQUErRDtBQUF0RCxtSUFBQSxPQUFPLE9BQW1CO0FBQ25DLG1EQUE2RDtBQUFwRCxpSUFBQSxPQUFPLE9BQWtCO0FBQ2xDLHVEQUFpRTtBQUF4RCxxSUFBQSxPQUFPLE9BQW9CO0FBQ3BDLHlEQUFtRTtBQUExRCx1SUFBQSxPQUFPLE9BQXFCO0FBQ3JDLDJDQUFxRDtBQUE1Qyx5SEFBQSxPQUFPLE9BQWM7QUFDOUIsbURBQTZEO0FBQXBELGlJQUFBLE9BQU8sT0FBa0I7QUFDbEMsbURBQWtEO0FBQXpDLGdIQUFBLGNBQWMsT0FBQTtBQUN2QixpREFBMkQ7QUFBbEQsK0hBQUEsT0FBTyxPQUFpQjtBQUNqQyxxREFBK0Q7QUFBdEQsbUlBQUEsT0FBTyxPQUFtQjtBQUNuQywrQ0FBeUQ7QUFBaEQsNkhBQUEsT0FBTyxPQUFnQjtBQUNoQyx5REFBbUU7QUFBMUQsdUlBQUEsT0FBTyxPQUFxQjtBQUNyQyxpRUFBMkU7QUFBbEUsK0lBQUEsT0FBTyxPQUF5QjtBQUN6Qyx5REFBbUU7QUFBMUQsdUlBQUEsT0FBTyxPQUFxQjtBQUNyQyxxREFBK0Q7QUFBdEQsbUlBQUEsT0FBTyxPQUFtQjtBQUNuQyx5REFBbUU7QUFBMUQsdUlBQUEsT0FBTyxPQUFxQjtBQUNyQyxtREFBNkQ7QUFBcEQsaUlBQUEsT0FBTyxPQUFrQjtBQUNsQywyQ0FBcUQ7QUFBNUMseUhBQUEsT0FBTyxPQUFjO0FBQzlCLG1EQUE2RDtBQUFwRCxpSUFBQSxPQUFPLE9BQWtCO0FBQ2xDLCtDQUF5RDtBQUFoRCw2SEFBQSxPQUFPLE9BQWdCO0FBQ2hDLDJDQUFxRDtBQUE1Qyx5SEFBQSxPQUFPLE9BQWM7QUFDOUIseUNBQW1EO0FBQTFDLHVIQUFBLE9BQU8sT0FBYTtBQUM3Qiw2Q0FBdUQ7QUFBOUMsMkhBQUEsT0FBTyxPQUFlO0FBRS9CLDBDQUF3QiJ9
@@ -0,0 +1,54 @@
1
+ import { BuilderProps, IBuilder } from './genericBuilder';
2
+ import { NetworkPropsType, ResourceInfo, WithEncryptionInfo } from '../../types';
3
+ import * as registry from '@pulumi/azure-native/containerregistry';
4
+ /**
5
+ * Arguments for the ACR Builder, extending BuilderProps with encryption information.
6
+ */
7
+ export type AcrBuilderArgs = BuilderProps & WithEncryptionInfo;
8
+ /**
9
+ * Type for ACR SKU, can be either a predefined SkuName from the registry or a custom string.
10
+ */
11
+ export type AcrSkuBuilderType = registry.SkuName | string;
12
+ /**
13
+ * Policies for ACR, currently only including retention day.
14
+ */
15
+ export type AcrBuilderPolicies = {
16
+ retentionDay: number;
17
+ };
18
+ /**
19
+ * Network properties for ACR, excluding subnetId from NetworkPropsType.
20
+ */
21
+ export type AcrBuilderNetworkType = Omit<NetworkPropsType, 'subnetId'>;
22
+ /**
23
+ * Interface for building Azure Container Registry (ACR) resources.
24
+ * This interface extends the generic IBuilder interface with ACR-specific methods.
25
+ * It provides a fluent API for configuring ACR properties such as SKU, network settings, and policies.
26
+ */
27
+ export interface IAcrSkuBuilder {
28
+ /**
29
+ * Sets the SKU for the ACR.
30
+ * @param props The SKU to set for the ACR.
31
+ * @returns An instance of IAcrBuilder for further configuration.
32
+ */
33
+ withSku(props: AcrSkuBuilderType): IAcrBuilder;
34
+ }
35
+ /**
36
+ * Interface for configuring ACR-specific properties.
37
+ * Extends the generic IBuilder interface with ResourceInfo as the build result type.
38
+ */
39
+ export interface IAcrBuilder extends IBuilder<ResourceInfo> {
40
+ /**
41
+ * Sets the network configuration for the ACR.
42
+ * This is only available for premium SKU.
43
+ * @param props The network properties to set.
44
+ * @returns The current IAcrBuilder instance for method chaining.
45
+ */
46
+ withNetwork(props: AcrBuilderNetworkType): IAcrBuilder;
47
+ /**
48
+ * Sets the policies for the ACR.
49
+ * This is only available for premium SKU.
50
+ * @param props The policies to set, including retention day.
51
+ * @returns The current IAcrBuilder instance for method chaining.
52
+ */
53
+ withPolicy(props: AcrBuilderPolicies): IAcrBuilder;
54
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9CdWlsZGVyL3R5cGVzL2FjckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -2,68 +2,172 @@ import { SkuType } from '@pulumi/azure-native/apimanagement';
2
2
  import { Input } from '@pulumi/pulumi';
3
3
  import { BuilderProps, IBuilder } from './genericBuilder';
4
4
  import { PrivateLinkPropsType, ResourceInfo, WithLogInfo } from '../../types';
5
+ /**
6
+ * Type for arguments passed to the APIM builder.
7
+ */
5
8
  export type ApimBuilderArgs = BuilderProps & WithLogInfo;
9
+ /**
10
+ * Type for configuring SKU (Stock Keeping Unit) for APIM.
11
+ */
6
12
  export type ApimSkuBuilderType = {
7
13
  sku: SkuType;
8
14
  capacity?: number;
9
15
  };
16
+ /**
17
+ * Type for configuring publisher information for APIM.
18
+ */
10
19
  export type ApimPublisherBuilderType = {
11
20
  publisherEmail: Input<string>;
12
- /** default is organization name */
21
+ /** Default is organization name */
13
22
  publisherName?: Input<string>;
14
- /** default is apimgmt-noreply@mail.windowsazure.com */
23
+ /** Default is apimgmt-noreply@mail.windowsazure.com */
15
24
  notificationSenderEmail?: 'apimgmt-noreply@mail.windowsazure.com' | Input<string>;
16
25
  };
26
+ /**
27
+ * Type for configuring certificates for APIM.
28
+ */
17
29
  export type ApimCertBuilderType = {
18
30
  certificate: Input<string>;
19
31
  certificatePassword?: Input<string>;
20
32
  };
33
+ /**
34
+ * Type for configuring domain and certificates for APIM.
35
+ */
21
36
  export type ApimDomainBuilderType = {
22
37
  domain: Input<string>;
23
38
  } & ApimCertBuilderType;
39
+ /**
40
+ * Type for configuring additional locations for APIM.
41
+ */
24
42
  export type ApimAdditionalLocationType = {
25
43
  disableGateway?: Input<boolean>;
26
44
  location: string;
27
45
  };
46
+ /**
47
+ * Type for configuring availability zones for APIM.
48
+ */
28
49
  export type ApimZoneType = ['1', '2'] | ['1', '2', '3'];
50
+ /**
51
+ * Type for configuring virtual network (VNet) for APIM.
52
+ */
29
53
  export type ApimVnetType = {
30
54
  enableGateway?: Input<boolean>;
31
55
  subnetId: Input<string>;
32
56
  /**
33
- * The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network,
57
+ * The type of VPN in which API Management service needs to be configured in.
58
+ * None (Default Value) means the API Management service is not part of any Virtual Network,
34
59
  * External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint,
35
60
  * and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.
36
- * */
61
+ */
37
62
  type: 'External' | 'Internal';
38
63
  };
64
+ /**
65
+ * Type for configuring private link for APIM.
66
+ */
39
67
  export type ApimPrivateLinkType = PrivateLinkPropsType & {
40
68
  disablePublicAccess?: boolean;
41
69
  };
70
+ /**
71
+ * Type for configuring authentication for APIM.
72
+ */
42
73
  export type ApimAuthType = {
43
74
  clientId: Input<string>;
44
75
  clientSecret: Input<string>;
45
76
  authority?: Input<string>;
46
77
  type: 'facebook' | 'google' | 'microsoft' | 'twitter' | 'aad' | 'aadB2C' | string;
47
78
  };
79
+ /**
80
+ * Interface for building SKU configuration for APIM.
81
+ */
48
82
  export interface IApimSkuBuilder {
83
+ /**
84
+ * Configures the SKU for APIM.
85
+ * @param props - The SKU configuration.
86
+ * @returns The publisher builder instance.
87
+ */
49
88
  withSku(props: ApimSkuBuilderType): IApimPublisherBuilder;
50
89
  }
90
+ /**
91
+ * Interface for building publisher configuration for APIM.
92
+ */
51
93
  export interface IApimPublisherBuilder {
94
+ /**
95
+ * Configures the publisher information for APIM.
96
+ * @param props - The publisher configuration.
97
+ * @returns The APIM builder instance.
98
+ */
52
99
  withPublisher(props: ApimPublisherBuilderType): IApimBuilder;
53
100
  }
101
+ /**
102
+ * Interface for building authentication configuration for APIM.
103
+ */
54
104
  export interface IApimAuthBuilder {
105
+ /**
106
+ * Configures Entra ID authentication for APIM.
107
+ * @returns The APIM builder instance.
108
+ */
55
109
  withEntraID(): IApimBuilder;
110
+ /**
111
+ * Configures authentication for APIM.
112
+ * @param props - The authentication configuration.
113
+ * @returns The APIM builder instance.
114
+ */
56
115
  withAuth(props: ApimAuthType): IApimBuilder;
116
+ /**
117
+ * Disables sign-in for APIM.
118
+ * @returns The APIM builder instance.
119
+ */
57
120
  disableSignIn(): IApimBuilder;
58
121
  }
122
+ /**
123
+ * Interface for building APIM configuration.
124
+ */
59
125
  export interface IApimBuilder extends IBuilder<ResourceInfo>, IApimAuthBuilder {
126
+ /**
127
+ * Configures a CA certificate for APIM.
128
+ * @param props - The certificate configuration.
129
+ * @returns The APIM builder instance.
130
+ */
60
131
  withCACert(props: ApimCertBuilderType): IApimBuilder;
132
+ /**
133
+ * Configures a root certificate for APIM.
134
+ * @param props - The certificate configuration.
135
+ * @returns The APIM builder instance.
136
+ */
61
137
  withRootCert(props: ApimCertBuilderType): IApimBuilder;
138
+ /**
139
+ * Configures a proxy domain for APIM.
140
+ * @param props - The domain configuration.
141
+ * @returns The APIM builder instance.
142
+ */
62
143
  withProxyDomain(props: ApimDomainBuilderType): IApimBuilder;
63
- /**Allows multi locations*/
144
+ /**
145
+ * Configures additional locations for APIM.
146
+ * @param props - The additional location configuration.
147
+ * @returns The APIM builder instance.
148
+ */
64
149
  withAdditionalLocation(props: ApimAdditionalLocationType): IApimBuilder;
150
+ /**
151
+ * Configures availability zones for APIM.
152
+ * @param props - The zone configuration.
153
+ * @returns The APIM builder instance.
154
+ */
65
155
  withZones(props: ApimZoneType): IApimBuilder;
156
+ /**
157
+ * Configures a subnet for APIM.
158
+ * @param props - The subnet configuration.
159
+ * @returns The APIM builder instance.
160
+ */
66
161
  withSubnet(props: ApimVnetType): IApimBuilder;
162
+ /**
163
+ * Configures a private link for APIM.
164
+ * @param props - The private link configuration.
165
+ * @returns The APIM builder instance.
166
+ */
67
167
  withPrivateLink(props: ApimPrivateLinkType): IApimBuilder;
168
+ /**
169
+ * Restores APIM from a deleted state.
170
+ * @returns The APIM builder instance.
171
+ */
68
172
  restoreFomDeleted(): IApimBuilder;
69
173
  }
@@ -1,83 +1,205 @@
1
1
  import { WithNamedType } from '../../types';
2
+ /**
3
+ * Enum for different types of header operations.
4
+ */
2
5
  export declare enum SetHeaderTypes {
3
6
  delete = "delete",
4
7
  override = "override",
5
8
  skip = "skip",
6
9
  append = "append"
7
10
  }
11
+ /**
12
+ * Type for base URL configuration.
13
+ */
8
14
  export type ApimBaseUrlType = {
9
15
  url: string;
10
16
  };
17
+ /**
18
+ * Type for setting headers, extends WithNamedType.
19
+ */
11
20
  export type ApimSetHeaderType = WithNamedType & {
12
21
  value?: string;
13
22
  type: SetHeaderTypes;
14
23
  };
24
+ /**
25
+ * Type for checking headers, extends WithNamedType.
26
+ */
15
27
  export type ApimCheckHeaderType = WithNamedType & {
16
28
  value?: string[];
17
29
  };
30
+ /**
31
+ * Type for mocking responses.
32
+ */
18
33
  export type ApimMockPropsType = {
19
34
  code?: number;
20
35
  contentType?: string;
21
36
  };
37
+ /**
38
+ * Type for rewriting URIs.
39
+ */
22
40
  export type ApimRewriteUriType = {
23
41
  template?: string;
24
42
  };
43
+ /**
44
+ * Type for rate limiting configuration.
45
+ */
25
46
  export type ApimRateLimitType = {
26
- /** Number of call */
47
+ /** Number of calls */
27
48
  calls?: number;
28
- /** in period (second) */
49
+ /** Time period in seconds */
29
50
  inSecond?: number;
30
- /** only applied to the success condition `@(context.Response.StatusCode >= 200 && context.Response.StatusCode < 300)` */
51
+ /** Apply only to successful responses */
31
52
  successConditionOnly?: boolean;
32
53
  };
54
+ /**
55
+ * Type for output caching configuration.
56
+ */
33
57
  export type ApimOutCacheType = {
34
58
  duration?: number;
35
59
  };
60
+ /**
61
+ * Type for authentication certificate configuration.
62
+ */
36
63
  export type ApimAuthCertType = {
37
64
  thumbprint: string;
38
65
  };
66
+ /**
67
+ * Type for client certificate configuration, extends Partial<ApimAuthCertType>.
68
+ */
39
69
  export type ApimClientCertType = Partial<ApimAuthCertType> & {
40
70
  issuer?: string;
41
71
  subject?: string;
42
72
  verifyCert?: boolean;
43
73
  };
74
+ /**
75
+ * Type for CORS configuration.
76
+ */
44
77
  export type ApimCorsType = {
45
78
  origins?: string[];
46
79
  };
80
+ /**
81
+ * Type for client IP header configuration.
82
+ */
47
83
  export type ApimClientIpHeaderType = {
48
- /** ex: `x-${organization}-clientIp` */
84
+ /** Example: `x-${organization}-clientIp` */
49
85
  headerKey: string;
50
86
  };
87
+ /**
88
+ * Type for validating JWT whitelist IPs.
89
+ */
51
90
  export type ApimValidateJwtWhitelistIpType = {
52
91
  claimKey: 'client_IpWhitelist' | string;
53
92
  };
93
+ /**
94
+ * Type for IP address whitelisting.
95
+ */
54
96
  export type ApimWhitelistIpType = {
55
97
  ipAddresses: string[];
56
98
  };
99
+ /**
100
+ * Type for find and replace operations.
101
+ */
57
102
  export type ApimFindAndReplaceType = {
58
103
  from: string;
59
104
  to: string;
60
105
  };
106
+ /**
107
+ * Type for custom policies.
108
+ */
61
109
  export type ApimCustomPolicyType = {
62
110
  policy: string;
63
111
  };
112
+ /**
113
+ * Interface for building APIM policies.
114
+ */
64
115
  export interface IApimPolicyBuilder {
116
+ /**
117
+ * Sets the base URL.
118
+ * @param props - The base URL configuration.
119
+ * @returns The policy builder instance.
120
+ */
65
121
  setBaseUrl(props: ApimBaseUrlType): IApimPolicyBuilder;
122
+ /**
123
+ * Sets a header.
124
+ * @param props - The header configuration.
125
+ * @returns The policy builder instance.
126
+ */
66
127
  setHeader(props: ApimSetHeaderType): IApimPolicyBuilder;
128
+ /**
129
+ * Checks a header.
130
+ * @param props - The header check configuration.
131
+ * @returns The policy builder instance.
132
+ */
67
133
  checkHeader(props: ApimCheckHeaderType): IApimPolicyBuilder;
134
+ /**
135
+ * Mocks a response.
136
+ * @param props - The mock response configuration.
137
+ * @returns The policy builder instance.
138
+ */
68
139
  mockResponse(props: ApimMockPropsType): IApimPolicyBuilder;
140
+ /**
141
+ * Rewrites a URI.
142
+ * @param props - The URI rewrite configuration.
143
+ * @returns The policy builder instance.
144
+ */
69
145
  rewriteUri(props: ApimRewriteUriType): IApimPolicyBuilder;
146
+ /**
147
+ * Sets rate limiting.
148
+ * @param props - The rate limit configuration.
149
+ * @returns The policy builder instance.
150
+ */
70
151
  setRateLimit(props: ApimRateLimitType): IApimPolicyBuilder;
152
+ /**
153
+ * Sets cache options.
154
+ * @param props - The cache options configuration.
155
+ * @returns The policy builder instance.
156
+ */
71
157
  setCacheOptions(props: ApimOutCacheType): IApimPolicyBuilder;
158
+ /**
159
+ * Sets a backend certificate.
160
+ * @param props - The backend certificate configuration.
161
+ * @returns The policy builder instance.
162
+ */
72
163
  setBackendCert(props: ApimAuthCertType): IApimPolicyBuilder;
164
+ /**
165
+ * Verifies a client certificate.
166
+ * @param props - The client certificate configuration.
167
+ * @returns The policy builder instance.
168
+ */
73
169
  verifyClientCert(props: ApimClientCertType): IApimPolicyBuilder;
170
+ /**
171
+ * Sets CORS options.
172
+ * @param props - The CORS configuration.
173
+ * @returns The policy builder instance.
174
+ */
74
175
  setCors(props: ApimCorsType): IApimPolicyBuilder;
176
+ /**
177
+ * Sets a client IP header.
178
+ * @param props - The client IP header configuration.
179
+ * @returns The policy builder instance.
180
+ */
75
181
  setClientIpHeader(props: ApimClientIpHeaderType): IApimPolicyBuilder;
76
- /** Filter IP from Bearer Token */
182
+ /**
183
+ * Validates JWT whitelist IPs.
184
+ * @param props - The JWT whitelist IP configuration.
185
+ * @returns The policy builder instance.
186
+ */
77
187
  validateJwtWhitelistIp(props: ApimValidateJwtWhitelistIpType): IApimPolicyBuilder;
78
- /** IP Address Whitelisting */
188
+ /**
189
+ * Sets IP address whitelisting.
190
+ * @param props - The IP address whitelist configuration.
191
+ * @returns The policy builder instance.
192
+ */
79
193
  setWhitelistIPs(props: ApimWhitelistIpType): IApimPolicyBuilder;
80
- /**Replace outbound results */
194
+ /**
195
+ * Sets find and replace operations.
196
+ * @param props - The find and replace configuration.
197
+ * @returns The policy builder instance.
198
+ */
81
199
  setFindAndReplaces(props: ApimFindAndReplaceType): IApimPolicyBuilder;
200
+ /**
201
+ * Builds the policy and returns it as a string.
202
+ * @returns The built policy as a string.
203
+ */
82
204
  build(): string;
83
205
  }
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SetHeaderTypes = void 0;
4
+ /**
5
+ * Enum for different types of header operations.
6
+ */
4
7
  var SetHeaderTypes;
5
8
  (function (SetHeaderTypes) {
6
9
  SetHeaderTypes["delete"] = "delete";
@@ -8,4 +11,4 @@ var SetHeaderTypes;
8
11
  SetHeaderTypes["skip"] = "skip";
9
12
  SetHeaderTypes["append"] = "append";
10
13
  })(SetHeaderTypes || (exports.SetHeaderTypes = SetHeaderTypes = {}));
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpbVBvbGljeUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9hcGltUG9saWN5QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEIsbUNBQWlCLENBQUE7SUFDakIsdUNBQXFCLENBQUE7SUFDckIsK0JBQWEsQ0FBQTtJQUNiLG1DQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxjQUFjLDhCQUFkLGNBQWMsUUFLekIifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpbVBvbGljeUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9hcGltUG9saWN5QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7R0FFRztBQUNILElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QixtQ0FBaUIsQ0FBQTtJQUNqQix1Q0FBcUIsQ0FBQTtJQUNyQiwrQkFBYSxDQUFBO0lBQ2IsbUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLGNBQWMsOEJBQWQsY0FBYyxRQUt6QiJ9