@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.
- package/Aks/Identity.d.ts +1 -1
- package/Aks/Identity.js +1 -1
- package/Aks/index.d.ts +2 -3
- package/Aks/index.js +2 -2
- package/AzAd/EnvRoles.Consts.d.ts +6 -5
- package/AzAd/EnvRoles.Consts.js +48 -42
- package/AzAd/Helper.js +7 -1
- package/AzAd/Identities/AzDevOpsIdentity.d.ts +1 -1
- package/AzAd/Identities/AzDevOpsIdentity.js +1 -1
- package/AzAd/Identities/AzUserAdRevertSync.d.ts +1 -1
- package/AzAd/Identity.d.ts +2 -11
- package/AzAd/Identity.js +2 -2
- package/AzAd/UserAssignedIdentity.js +6 -1
- package/Builder/AcrBuilder.d.ts +8 -0
- package/Builder/AcrBuilder.js +176 -0
- package/Builder/AksBuilder.d.ts +5 -0
- package/Builder/AksBuilder.js +90 -6
- package/Builder/ApimApiBuilder.js +2 -3
- package/Builder/ApimBuilder.js +3 -7
- package/Builder/ApimPolicyBuilder.js +1 -1
- package/Builder/ApimProductBuilder.d.ts +6 -5
- package/Builder/ApimProductBuilder.js +53 -27
- package/Builder/AppCertBuilder.d.ts +3 -0
- package/Builder/AppCertBuilder.js +75 -0
- package/Builder/AppConfigBuilder.d.ts +3 -0
- package/Builder/AppConfigBuilder.js +148 -0
- package/Builder/AutomationBuilder.d.ts +3 -0
- package/Builder/AutomationBuilder.js +106 -0
- package/Builder/IotHubBuilder.d.ts +3 -0
- package/Builder/IotHubBuilder.js +240 -0
- package/Builder/LogicAppBuilder.d.ts +3 -0
- package/Builder/LogicAppBuilder.js +69 -0
- package/Builder/MySqlBuilder.d.ts +3 -0
- package/Builder/MySqlBuilder.js +225 -0
- package/Builder/PostgreSqlBuilder.d.ts +3 -0
- package/Builder/PostgreSqlBuilder.js +231 -0
- package/Builder/RedisCacheBuilder.d.ts +3 -0
- package/Builder/RedisCacheBuilder.js +144 -0
- package/Builder/ResourceBuilder.js +14 -4
- package/Builder/ServiceBusBuilder.js +4 -11
- package/Builder/SignalRBuilder.d.ts +3 -0
- package/Builder/SignalRBuilder.js +172 -0
- package/Builder/VaultBuilder.js +7 -26
- package/Builder/index.d.ts +10 -0
- package/Builder/index.js +22 -2
- package/Builder/types/acrBuilder.d.ts +54 -0
- package/Builder/types/acrBuilder.js +3 -0
- package/Builder/types/apimBuilder.d.ts +109 -5
- package/Builder/types/apimPolicyBuilder.d.ts +129 -7
- package/Builder/types/apimPolicyBuilder.js +4 -1
- package/Builder/types/apimProductBuilder.d.ts +152 -5
- package/Builder/types/appCertBuilder.d.ts +31 -0
- package/Builder/types/appCertBuilder.js +3 -0
- package/Builder/types/appConfigBuilder.d.ts +37 -0
- package/Builder/types/appConfigBuilder.js +3 -0
- package/Builder/types/askBuilder.d.ts +79 -1
- package/Builder/types/automationBuilder.d.ts +28 -0
- package/Builder/types/automationBuilder.js +3 -0
- package/Builder/types/cdnBuilder.d.ts +11 -0
- package/Builder/types/dnsZoneBuilder.d.ts +20 -0
- package/Builder/types/envRoleBuilder.d.ts +28 -0
- package/Builder/types/genericBuilder.d.ts +78 -0
- package/Builder/types/genericBuilder.js +9 -1
- package/Builder/types/index.d.ts +11 -0
- package/Builder/types/index.js +12 -1
- package/Builder/types/iotHubBuilder.d.ts +64 -0
- package/Builder/types/iotHubBuilder.js +3 -0
- package/Builder/types/logicAppBuilder.d.ts +27 -0
- package/Builder/types/logicAppBuilder.js +3 -0
- package/Builder/types/mySqlBuilder.d.ts +98 -0
- package/Builder/types/mySqlBuilder.js +3 -0
- package/Builder/types/posgreSqlBuilder.d.ts +107 -0
- package/Builder/types/posgreSqlBuilder.js +3 -0
- package/Builder/types/privateDnsZoneBuilder.d.ts +26 -0
- package/Builder/types/redisCacheBuilder.d.ts +46 -0
- package/Builder/types/redisCacheBuilder.js +3 -0
- package/Builder/types/resourceBuilder.d.ts +173 -7
- package/Builder/types/serviceBusBuilder.d.ts +55 -0
- package/Builder/types/signalRBuilder.d.ts +97 -0
- package/Builder/types/signalRBuilder.js +3 -0
- package/Builder/types/sqlBuilder.d.ts +88 -1
- package/Builder/types/storageBuilder.d.ts +63 -0
- package/Builder/types/vaultBuilder.d.ts +43 -1
- package/Builder/types/vdiBuilder.d.ts +41 -2
- package/Builder/types/vmBuilder.d.ts +83 -1
- package/Builder/types/vnetBuilder.d.ts +107 -0
- package/Common/OpenApi/index.js +37 -0
- package/{Web → Common/OpenApi}/types.js +1 -1
- package/Common/index.d.ts +1 -0
- package/Common/index.js +3 -2
- package/CustomRoles/index.js +4 -4
- package/KeyVault/Helper.d.ts +1 -0
- package/KeyVault/Helper.js +2 -1
- package/KeyVault/index.d.ts +1 -11
- package/KeyVault/index.js +3 -21
- package/Sql/index.js +3 -6
- package/Storage/index.js +4 -8
- package/VNet/PrivateEndpoint.d.ts +10 -3
- package/VNet/PrivateEndpoint.js +62 -2
- package/VNet/index.d.ts +11 -0
- package/VNet/index.js +18 -2
- package/package.json +1 -1
- package/types.d.ts +173 -6
- package/Apim/ApiProduct/OpenApi.js +0 -3
- package/Apim/ApiProduct/SwaggerHelper.js +0 -37
- package/Apps/LogicApp.d.ts +0 -5
- package/Apps/LogicApp.js +0 -38
- package/Automation/index.d.ts +0 -6
- package/Automation/index.js +0 -78
- package/ContainerRegistry/Helper.d.ts +0 -15
- package/ContainerRegistry/Helper.js +0 -77
- package/ContainerRegistry/index.d.ts +0 -15
- package/ContainerRegistry/index.js +0 -93
- package/CosmosDb/index.d.ts +0 -28
- package/CosmosDb/index.js +0 -142
- package/IOT/Hub/index.d.ts +0 -26
- package/IOT/Hub/index.js +0 -191
- package/MySql/index.d.ts +0 -16
- package/MySql/index.js +0 -185
- package/Postgresql/index.d.ts +0 -16
- package/Postgresql/index.js +0 -157
- package/RedisCache/index.d.ts +0 -15
- package/RedisCache/index.js +0 -111
- package/SignalR/index.d.ts +0 -19
- package/SignalR/index.js +0 -128
- package/Sql/Auditing.d.ts +0 -0
- package/Sql/Auditing.js +0 -2
- package/Sql/Helper.d.ts +0 -9
- package/Sql/Helper.js +0 -11
- package/VNet/GlobalNetworkPeering.d.ts +0 -9
- package/VNet/GlobalNetworkPeering.js +0 -40
- package/Web/AppCertOrder.d.ts +0 -8
- package/Web/AppCertOrder.js +0 -52
- package/Web/AppConfig.d.ts +0 -10
- package/Web/AppConfig.js +0 -93
- package/Web/AppGateway.d.ts +0 -15
- package/Web/AppGateway.js +0 -58
- package/Web/types.d.ts +0 -37
- /package/{Apim/ApiProduct/SwaggerHelper.d.ts → Common/OpenApi/index.d.ts} +0 -0
- /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,
|
|
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
|
-
/**
|
|
21
|
+
/** Default is organization name */
|
|
13
22
|
publisherName?: Input<string>;
|
|
14
|
-
/**
|
|
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.
|
|
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
|
-
/**
|
|
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
|
|
47
|
+
/** Number of calls */
|
|
27
48
|
calls?: number;
|
|
28
|
-
/**
|
|
49
|
+
/** Time period in seconds */
|
|
29
50
|
inSecond?: number;
|
|
30
|
-
/** only
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpbVBvbGljeUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQnVpbGRlci90eXBlcy9hcGltUG9saWN5QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7R0FFRztBQUNILElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QixtQ0FBaUIsQ0FBQTtJQUNqQix1Q0FBcUIsQ0FBQTtJQUNyQiwrQkFBYSxDQUFBO0lBQ2IsbUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLGNBQWMsOEJBQWQsY0FBYyxRQUt6QiJ9
|