@drunk-pulumi/azure 0.0.19
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/Helper.d.ts +43 -0
- package/Aks/Helper.js +72 -0
- package/Aks/Identity.d.ts +14 -0
- package/Aks/Identity.js +32 -0
- package/Aks/VmSetAutoScale/index.d.ts +16 -0
- package/Aks/VmSetAutoScale/index.js +132 -0
- package/Aks/VmSetMonitor/index.d.ts +12 -0
- package/Aks/VmSetMonitor/index.js +67 -0
- package/Aks/index.d.ts +100 -0
- package/Aks/index.js +558 -0
- package/Apim/ApiProduct/Api.d.ts +35 -0
- package/Apim/ApiProduct/Api.js +131 -0
- package/Apim/ApiProduct/OpenApi.d.ts +85 -0
- package/Apim/ApiProduct/OpenApi.js +3 -0
- package/Apim/ApiProduct/PolicyBuilder.d.ts +79 -0
- package/Apim/ApiProduct/PolicyBuilder.js +361 -0
- package/Apim/ApiProduct/Product.d.ts +8 -0
- package/Apim/ApiProduct/Product.js +63 -0
- package/Apim/ApiProduct/SwaggerHelper.d.ts +6 -0
- package/Apim/ApiProduct/SwaggerHelper.js +44 -0
- package/Apim/ApiProduct/index.d.ts +9 -0
- package/Apim/ApiProduct/index.js +22 -0
- package/Apim/Helpers.d.ts +0 -0
- package/Apim/Helpers.js +2 -0
- package/Apim/HookProxy/index.d.ts +20 -0
- package/Apim/HookProxy/index.js +27 -0
- package/Apim/index.d.ts +22 -0
- package/Apim/index.js +118 -0
- package/Apps/LogicApp.d.ts +12 -0
- package/Apps/LogicApp.js +19 -0
- package/Automation/AutoAccount.d.ts +5 -0
- package/Automation/AutoAccount.js +20 -0
- package/AzAd/B2C.d.ts +9 -0
- package/AzAd/B2C.js +38 -0
- package/AzAd/ConditionalPolicies/index.d.ts +0 -0
- package/AzAd/ConditionalPolicies/index.js +2 -0
- package/AzAd/EnvRoles.d.ts +12 -0
- package/AzAd/EnvRoles.js +62 -0
- package/AzAd/GraphDefinition.d.ts +14 -0
- package/AzAd/GraphDefinition.js +5136 -0
- package/AzAd/Group.d.ts +29 -0
- package/AzAd/Group.js +70 -0
- package/AzAd/Helper.d.ts +18 -0
- package/AzAd/Helper.js +37 -0
- package/AzAd/Identities/AzDevOps.d.ts +23 -0
- package/AzAd/Identities/AzDevOps.js +61 -0
- package/AzAd/Identities/AzUserAdRevertSync.d.ts +14 -0
- package/AzAd/Identities/AzUserAdRevertSync.js +18 -0
- package/AzAd/Identity.d.ts +51 -0
- package/AzAd/Identity.js +133 -0
- package/AzAd/ManagedIdentity.d.ts +6 -0
- package/AzAd/ManagedIdentity.js +23 -0
- package/AzAd/Role.d.ts +19 -0
- package/AzAd/Role.js +25 -0
- package/AzAd/RoleAssignment.d.ts +79 -0
- package/AzAd/RoleAssignment.js +48 -0
- package/AzAd/RolesBuiltIn.d.ts +62 -0
- package/AzAd/RolesBuiltIn.js +13841 -0
- package/Cdn/index.d.ts +11 -0
- package/Cdn/index.js +47 -0
- package/Certificate/index.d.ts +41 -0
- package/Certificate/index.js +156 -0
- package/Certificate/p12.d.ts +5 -0
- package/Certificate/p12.js +37 -0
- package/Common/AppConfigs/dotnetConfig.d.ts +15 -0
- package/Common/AppConfigs/dotnetConfig.js +20 -0
- package/Common/AutoTags.d.ts +1 -0
- package/Common/AutoTags.js +24 -0
- package/Common/AzureEnv.d.ts +37 -0
- package/Common/AzureEnv.js +94 -0
- package/Common/ConfigHelper.d.ts +5 -0
- package/Common/ConfigHelper.js +14 -0
- package/Common/GlobalEnv.d.ts +14 -0
- package/Common/GlobalEnv.js +38 -0
- package/Common/Helpers.d.ts +10 -0
- package/Common/Helpers.js +30 -0
- package/Common/Location.d.ts +4 -0
- package/Common/Location.js +23 -0
- package/Common/LocationBuiltIn.d.ts +81 -0
- package/Common/LocationBuiltIn.js +1925 -0
- package/Common/Naming/index.d.ts +62 -0
- package/Common/Naming/index.js +146 -0
- package/Common/ResourceEnv.d.ts +16 -0
- package/Common/ResourceEnv.js +29 -0
- package/Common/StackEnv.d.ts +4 -0
- package/Common/StackEnv.js +22 -0
- package/Common/index.d.ts +5 -0
- package/Common/index.js +9 -0
- package/ContainerRegistry/Helper.d.ts +23 -0
- package/ContainerRegistry/Helper.js +47 -0
- package/ContainerRegistry/index.d.ts +28 -0
- package/ContainerRegistry/index.js +103 -0
- package/Core/Helper.d.ts +16 -0
- package/Core/Helper.js +37 -0
- package/Core/KeyGenetators.d.ts +33 -0
- package/Core/KeyGenetators.js +66 -0
- package/Core/Locker.d.ts +13 -0
- package/Core/Locker.js +14 -0
- package/Core/Random.d.ts +40 -0
- package/Core/Random.js +83 -0
- package/Core/ResourceCreator.d.ts +17 -0
- package/Core/ResourceCreator.js +48 -0
- package/Core/ResourceGroup.d.ts +13 -0
- package/Core/ResourceGroup.js +45 -0
- package/CosmosDb/index.d.ts +33 -0
- package/CosmosDb/index.js +129 -0
- package/CustomRoles/index.d.ts +5 -0
- package/CustomRoles/index.js +27 -0
- package/IOT/Hub/index.d.ts +32 -0
- package/IOT/Hub/index.js +208 -0
- package/KeyVault/CustomHelper.d.ts +35 -0
- package/KeyVault/CustomHelper.js +40 -0
- package/KeyVault/Helper.d.ts +33 -0
- package/KeyVault/Helper.js +58 -0
- package/KeyVault/VaultAccess.d.ts +15 -0
- package/KeyVault/VaultAccess.js +47 -0
- package/KeyVault/VaultPermissions.d.ts +26 -0
- package/KeyVault/VaultPermissions.js +169 -0
- package/KeyVault/index.d.ts +28 -0
- package/KeyVault/index.js +136 -0
- package/KubeX/AcrSecret.d.ts +15 -0
- package/KubeX/AcrSecret.js +31 -0
- package/KubeX/Apps/AstroPage.d.ts +12 -0
- package/KubeX/Apps/AstroPage.js +33 -0
- package/KubeX/Apps/KafKa.d.ts +6 -0
- package/KubeX/Apps/KafKa.js +13 -0
- package/KubeX/Apps/Nobelium.d.ts +13 -0
- package/KubeX/Apps/Nobelium.js +37 -0
- package/KubeX/Apps/Wikijs.d.ts +30 -0
- package/KubeX/Apps/Wikijs.js +54 -0
- package/KubeX/Apps/WordPress.d.ts +24 -0
- package/KubeX/Apps/WordPress.js +55 -0
- package/KubeX/Apps/YarpProxy/index.d.ts +17 -0
- package/KubeX/Apps/YarpProxy/index.js +107 -0
- package/KubeX/Apps/YarpProxy/type.d.ts +55 -0
- package/KubeX/Apps/YarpProxy/type.js +3 -0
- package/KubeX/CertHelper.d.ts +1 -0
- package/KubeX/CertHelper.js +9 -0
- package/KubeX/CertImports.d.ts +19 -0
- package/KubeX/CertImports.js +70 -0
- package/KubeX/CloudFlare/CertCreator.d.ts +19 -0
- package/KubeX/CloudFlare/CertCreator.js +90 -0
- package/KubeX/CloudFlare/CertImports.d.ts +17 -0
- package/KubeX/CloudFlare/CertImports.js +34 -0
- package/KubeX/CloudFlare/DynamicDns.d.ts +21 -0
- package/KubeX/CloudFlare/DynamicDns.js +39 -0
- package/KubeX/CloudFlare/Tunnel-Helm.d.ts +17 -0
- package/KubeX/CloudFlare/Tunnel-Helm.js +12 -0
- package/KubeX/CloudFlare/Tunnel.d.ts +23 -0
- package/KubeX/CloudFlare/Tunnel.js +54 -0
- package/KubeX/CloudFlare/index.d.ts +13 -0
- package/KubeX/CloudFlare/index.js +36 -0
- package/KubeX/Clusters/K3s/AutoUpgradeController/index.d.ts +6 -0
- package/KubeX/Clusters/K3s/AutoUpgradeController/index.js +60 -0
- package/KubeX/ConfigSecret.d.ts +24 -0
- package/KubeX/ConfigSecret.js +38 -0
- package/KubeX/Core/CertManager/index.d.ts +24 -0
- package/KubeX/Core/CertManager/index.js +96 -0
- package/KubeX/Core/KsCertSecret.d.ts +12 -0
- package/KubeX/Core/KsCertSecret.js +22 -0
- package/KubeX/Core/KsSecret.d.ts +9 -0
- package/KubeX/Core/KsSecret.js +12 -0
- package/KubeX/Core/LoadBalancer/MetalLB.d.ts +7 -0
- package/KubeX/Core/LoadBalancer/MetalLB.js +21 -0
- package/KubeX/Core/Monitoring/index.d.ts +22 -0
- package/KubeX/Core/Monitoring/index.js +322 -0
- package/KubeX/Core/Namespace.d.ts +12 -0
- package/KubeX/Core/Namespace.js +41 -0
- package/KubeX/Core/Nginx/index.d.ts +60 -0
- package/KubeX/Core/Nginx/index.js +109 -0
- package/KubeX/Core/OAuthProxy/index.d.ts +0 -0
- package/KubeX/Core/OAuthProxy/index.js +3 -0
- package/KubeX/Core/ResourceQuota.d.ts +12 -0
- package/KubeX/Core/ResourceQuota.js +13 -0
- package/KubeX/Core/SecurityRules.d.ts +34 -0
- package/KubeX/Core/SecurityRules.js +93 -0
- package/KubeX/Core/StorageClass/azureBlob.d.ts +20 -0
- package/KubeX/Core/StorageClass/azureBlob.js +77 -0
- package/KubeX/Core/StorageClass/azureFile.d.ts +17 -0
- package/KubeX/Core/StorageClass/azureFile.js +45 -0
- package/KubeX/Core/StorageClass/index.d.ts +13 -0
- package/KubeX/Core/StorageClass/index.js +25 -0
- package/KubeX/Core/index.d.ts +57 -0
- package/KubeX/Core/index.js +94 -0
- package/KubeX/Databases/MariaDb.d.ts +11 -0
- package/KubeX/Databases/MariaDb.js +39 -0
- package/KubeX/Databases/MySql.V2.d.ts +11 -0
- package/KubeX/Databases/MySql.V2.js +40 -0
- package/KubeX/Databases/MySql.d.ts +13 -0
- package/KubeX/Databases/MySql.js +55 -0
- package/KubeX/Databases/PostgreSql/PostgreSQL-HA.d.ts +10 -0
- package/KubeX/Databases/PostgreSql/PostgreSQL-HA.js +47 -0
- package/KubeX/Databases/PostgreSql/PostgreSQL.d.ts +10 -0
- package/KubeX/Databases/PostgreSql/PostgreSQL.js +51 -0
- package/KubeX/Databases/PostgreSql/PostgreSql.v1.d.ts +13 -0
- package/KubeX/Databases/PostgreSql/PostgreSql.v1.js +56 -0
- package/KubeX/Databases/PostgreSql/index.d.ts +17 -0
- package/KubeX/Databases/PostgreSql/index.js +6 -0
- package/KubeX/Databases/RedisCache.d.ts +14 -0
- package/KubeX/Databases/RedisCache.js +65 -0
- package/KubeX/Databases/SqlServer.d.ts +15 -0
- package/KubeX/Databases/SqlServer.js +77 -0
- package/KubeX/Deployment/PodAutoscaler.d.ts +14 -0
- package/KubeX/Deployment/PodAutoscaler.js +51 -0
- package/KubeX/Deployment/index.d.ts +136 -0
- package/KubeX/Deployment/index.js +306 -0
- package/KubeX/Helpers.d.ts +4 -0
- package/KubeX/Helpers.js +17 -0
- package/KubeX/Ingress/AppGatewayIngress.d.ts +2 -0
- package/KubeX/Ingress/AppGatewayIngress.js +4 -0
- package/KubeX/Ingress/Conts.d.ts +13 -0
- package/KubeX/Ingress/Conts.js +18 -0
- package/KubeX/Ingress/NginxIngress.d.ts +3 -0
- package/KubeX/Ingress/NginxIngress.js +186 -0
- package/KubeX/Ingress/NginxProxy.d.ts +21 -0
- package/KubeX/Ingress/NginxProxy.js +43 -0
- package/KubeX/Ingress/TraefikIngress/CustomHeader.d.ts +15 -0
- package/KubeX/Ingress/TraefikIngress/CustomHeader.js +15 -0
- package/KubeX/Ingress/TraefikIngress/index.d.ts +11 -0
- package/KubeX/Ingress/TraefikIngress/index.js +95 -0
- package/KubeX/Ingress/index.d.ts +5 -0
- package/KubeX/Ingress/index.js +12 -0
- package/KubeX/Ingress/type.d.ts +82 -0
- package/KubeX/Ingress/type.js +3 -0
- package/KubeX/Providers/index.d.ts +8 -0
- package/KubeX/Providers/index.js +15 -0
- package/KubeX/Storage/Longhorn/index.d.ts +15 -0
- package/KubeX/Storage/Longhorn/index.js +54 -0
- package/KubeX/Storage/index.d.ts +25 -0
- package/KubeX/Storage/index.js +79 -0
- package/KubeX/Tools/AWS/LocalStack.d.ts +7 -0
- package/KubeX/Tools/AWS/LocalStack.js +29 -0
- package/KubeX/Tools/AWS/S3.d.ts +6 -0
- package/KubeX/Tools/AWS/S3.js +44 -0
- package/KubeX/Tools/AWS/index.d.ts +7 -0
- package/KubeX/Tools/AWS/index.js +14 -0
- package/KubeX/Tools/AppHealthzMonitor.d.ts +18 -0
- package/KubeX/Tools/AppHealthzMonitor.js +52 -0
- package/KubeX/Tools/ArgoCD/index.d.ts +17 -0
- package/KubeX/Tools/ArgoCD/index.js +131 -0
- package/KubeX/Tools/Dapr/Storage.d.ts +66 -0
- package/KubeX/Tools/Dapr/Storage.js +70 -0
- package/KubeX/Tools/Dapr/index.d.ts +10 -0
- package/KubeX/Tools/Dapr/index.js +31 -0
- package/KubeX/Tools/Echo-App.d.ts +3 -0
- package/KubeX/Tools/Echo-App.js +21 -0
- package/KubeX/Tools/Gitea/GiteaRepo.d.ts +72 -0
- package/KubeX/Tools/Gitea/GiteaRepo.js +184 -0
- package/KubeX/Tools/Gitea/GiteaRunner.d.ts +11 -0
- package/KubeX/Tools/Gitea/GiteaRunner.js +37 -0
- package/KubeX/Tools/Gitea/GiteaRunner.v1.d.ts +11 -0
- package/KubeX/Tools/Gitea/GiteaRunner.v1.js +123 -0
- package/KubeX/Tools/HarborRepo.d.ts +29 -0
- package/KubeX/Tools/HarborRepo.js +78 -0
- package/KubeX/Tools/HelloWorld.d.ts +3 -0
- package/KubeX/Tools/HelloWorld.js +21 -0
- package/KubeX/Tools/KubeCleanup.d.ts +9 -0
- package/KubeX/Tools/KubeCleanup.js +34 -0
- package/KubeX/Tools/NoIp.d.ts +13 -0
- package/KubeX/Tools/NoIp.js +24 -0
- package/KubeX/Tools/OpenLDAP/index.d.ts +12 -0
- package/KubeX/Tools/OpenLDAP/index.js +56 -0
- package/KubeX/Tools/OutlineVpn/index.d.ts +25 -0
- package/KubeX/Tools/OutlineVpn/index.js +256 -0
- package/KubeX/Tools/SqlPad.d.ts +29 -0
- package/KubeX/Tools/SqlPad.js +133 -0
- package/KubeX/Tools/ToolPod.d.ts +10 -0
- package/KubeX/Tools/ToolPod.js +40 -0
- package/KubeX/Tools/UptimeKuma.d.ts +6 -0
- package/KubeX/Tools/UptimeKuma.js +38 -0
- package/KubeX/Tools/index.d.ts +27 -0
- package/KubeX/Tools/index.js +35 -0
- package/KubeX/VairableResolvers/index.d.ts +15 -0
- package/KubeX/VairableResolvers/index.js +49 -0
- package/KubeX/kx/index.d.ts +114 -0
- package/KubeX/kx/index.js +423 -0
- package/KubeX/types.d.ts +49 -0
- package/KubeX/types.js +3 -0
- package/Logs/AppInsight.d.ts +16 -0
- package/Logs/AppInsight.js +48 -0
- package/Logs/Helpers.d.ts +50 -0
- package/Logs/Helpers.js +95 -0
- package/Logs/LogAnalytics.d.ts +17 -0
- package/Logs/LogAnalytics.js +54 -0
- package/Logs/WebTest.d.ts +13 -0
- package/Logs/WebTest.js +68 -0
- package/Logs/index.d.ts +42 -0
- package/Logs/index.js +69 -0
- package/MySql/index.d.ts +20 -0
- package/MySql/index.js +93 -0
- package/Postgresql/index.d.ts +20 -0
- package/Postgresql/index.js +93 -0
- package/ReadMe.md +36 -0
- package/RedisCache/index.d.ts +9 -0
- package/RedisCache/index.js +79 -0
- package/ServiceBus/ServiceBusHelper.d.ts +21 -0
- package/ServiceBus/ServiceBusHelper.js +35 -0
- package/ServiceBus/index.d.ts +98 -0
- package/ServiceBus/index.js +396 -0
- package/SignalR/index.d.ts +20 -0
- package/SignalR/index.js +114 -0
- package/Sql/Auditing.d.ts +0 -0
- package/Sql/Auditing.js +2 -0
- package/Sql/Helper.d.ts +9 -0
- package/Sql/Helper.js +11 -0
- package/Sql/SqlDb.d.ts +14 -0
- package/Sql/SqlDb.js +42 -0
- package/Sql/index.d.ts +44 -0
- package/Sql/index.js +236 -0
- package/Storage/CdnEndpoint.d.ts +12 -0
- package/Storage/CdnEndpoint.js +62 -0
- package/Storage/CdnRules.d.ts +6 -0
- package/Storage/CdnRules.js +134 -0
- package/Storage/Helper.d.ts +28 -0
- package/Storage/Helper.js +66 -0
- package/Storage/ManagementRules.d.ts +70 -0
- package/Storage/ManagementRules.js +32 -0
- package/Storage/index.d.ts +55 -0
- package/Storage/index.js +264 -0
- package/VM/index.d.ts +37 -0
- package/VM/index.js +138 -0
- package/VNet/Bastion.d.ts +8 -0
- package/VNet/Bastion.js +30 -0
- package/VNet/Firewall.d.ts +27 -0
- package/VNet/Firewall.js +87 -0
- package/VNet/FirewallPolicies/AksFirewallPolicy.d.ts +20 -0
- package/VNet/FirewallPolicies/AksFirewallPolicy.js +241 -0
- package/VNet/FirewallPolicies/CloudPCFirewallPolicy.d.ts +14 -0
- package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +303 -0
- package/VNet/FirewallPolicy.d.ts +28 -0
- package/VNet/FirewallPolicy.js +110 -0
- package/VNet/FirewallRules/AksFirewallRules.d.ts +24 -0
- package/VNet/FirewallRules/AksFirewallRules.js +250 -0
- package/VNet/FirewallRules/DefaultRules.d.ts +2 -0
- package/VNet/FirewallRules/DefaultRules.js +23 -0
- package/VNet/FirewallRules/types.d.ts +20 -0
- package/VNet/FirewallRules/types.js +5 -0
- package/VNet/GlobalNetworkPeering.d.ts +9 -0
- package/VNet/GlobalNetworkPeering.js +17 -0
- package/VNet/Helper.d.ts +33 -0
- package/VNet/Helper.js +86 -0
- package/VNet/IpAddress.d.ts +17 -0
- package/VNet/IpAddress.js +38 -0
- package/VNet/IpAddressPrefix.d.ts +22 -0
- package/VNet/IpAddressPrefix.js +42 -0
- package/VNet/NSGRules/AzADService.d.ts +10 -0
- package/VNet/NSGRules/AzADService.js +45 -0
- package/VNet/NetworkPeering.d.ts +10 -0
- package/VNet/NetworkPeering.js +29 -0
- package/VNet/PrivateDns.d.ts +33 -0
- package/VNet/PrivateDns.js +64 -0
- package/VNet/PrivateEndpoint.d.ts +9 -0
- package/VNet/PrivateEndpoint.js +71 -0
- package/VNet/PublicDns.d.ts +21 -0
- package/VNet/PublicDns.js +59 -0
- package/VNet/RouteTable.d.ts +13 -0
- package/VNet/RouteTable.js +23 -0
- package/VNet/SecurityGroup.d.ts +8 -0
- package/VNet/SecurityGroup.js +13 -0
- package/VNet/Subnet.d.ts +26 -0
- package/VNet/Subnet.js +48 -0
- package/VNet/VirtualWAN.d.ts +25 -0
- package/VNet/VirtualWAN.js +40 -0
- package/VNet/Vnet.d.ts +51 -0
- package/VNet/Vnet.js +196 -0
- package/VNet/index.d.ts +65 -0
- package/VNet/index.js +198 -0
- package/Web/AppCertOrder.d.ts +16 -0
- package/Web/AppCertOrder.js +34 -0
- package/Web/AppConfig.d.ts +16 -0
- package/Web/AppConfig.js +79 -0
- package/Web/AppGateway.d.ts +15 -0
- package/Web/AppGateway.js +32 -0
- package/Web/FuncApp.d.ts +12 -0
- package/Web/FuncApp.js +24 -0
- package/Web/Helpers.d.ts +6 -0
- package/Web/Helpers.js +36 -0
- package/Web/WebAppPlan.d.ts +7 -0
- package/Web/WebAppPlan.js +26 -0
- package/Web/types.d.ts +169 -0
- package/Web/types.js +3 -0
- package/package.json +34 -0
- package/types.d.ts +69 -0
- package/types.js +3 -0
- package/z_tests/_tools/Mocks.d.ts +2 -0
- package/z_tests/_tools/Mocks.js +47 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createApi = void 0;
|
|
4
|
+
const apim = require("@pulumi/azure-native/apimanagement");
|
|
5
|
+
const ResourceEnv_1 = require("../../Common/ResourceEnv");
|
|
6
|
+
const types_1 = require("@pulumi/azure-native/types");
|
|
7
|
+
const PolicyBuilder_1 = require("./PolicyBuilder");
|
|
8
|
+
const SwaggerHelper_1 = require("./SwaggerHelper");
|
|
9
|
+
const getApiSetName = (name) => (0, ResourceEnv_1.getResourceName)(name, { prefix: '', suffix: 'set', includeOrgName: false });
|
|
10
|
+
const getApiName = (name) => (0, ResourceEnv_1.getResourceName)(name, { prefix: '', suffix: 'api', includeOrgName: false });
|
|
11
|
+
const getApiPolicyName = (name) => (0, ResourceEnv_1.getResourceName)(name, {
|
|
12
|
+
prefix: '',
|
|
13
|
+
suffix: 'policy',
|
|
14
|
+
includeOrgName: false,
|
|
15
|
+
});
|
|
16
|
+
const getOperationName = (name) => (0, ResourceEnv_1.getResourceName)(name, { prefix: '', suffix: 'ops', includeOrgName: false });
|
|
17
|
+
const createOperation = ({ name, apimInfo, apiId, policies, responses, ...others }) => {
|
|
18
|
+
const opsName = getOperationName(name);
|
|
19
|
+
//Max operationId is 80
|
|
20
|
+
const opsId = opsName.length > 80 ? opsName.substring(opsName.length - 80) : opsName;
|
|
21
|
+
const ops = new apim.ApiOperation(opsName, {
|
|
22
|
+
operationId: opsId,
|
|
23
|
+
apiId: apiId,
|
|
24
|
+
displayName: opsName,
|
|
25
|
+
description: opsName,
|
|
26
|
+
serviceName: apimInfo.serviceName,
|
|
27
|
+
resourceGroupName: apimInfo.group.resourceGroupName,
|
|
28
|
+
responses,
|
|
29
|
+
...others,
|
|
30
|
+
});
|
|
31
|
+
//Mock operation response if the Responses is provided.
|
|
32
|
+
if (responses) {
|
|
33
|
+
if (policies)
|
|
34
|
+
policies.mockResponse = true;
|
|
35
|
+
else
|
|
36
|
+
policies = { mockResponse: true };
|
|
37
|
+
}
|
|
38
|
+
if (policies) {
|
|
39
|
+
const policyName = `${opsName}-policy`;
|
|
40
|
+
new apim.ApiOperationPolicy(policyName, {
|
|
41
|
+
policyId: 'policy',
|
|
42
|
+
operationId: opsId,
|
|
43
|
+
apiId,
|
|
44
|
+
serviceName: apimInfo.serviceName,
|
|
45
|
+
resourceGroupName: apimInfo.group.resourceGroupName,
|
|
46
|
+
format: 'xml',
|
|
47
|
+
value: (0, PolicyBuilder_1.getPolicies)(policies),
|
|
48
|
+
}, { dependsOn: ops });
|
|
49
|
+
}
|
|
50
|
+
return ops;
|
|
51
|
+
};
|
|
52
|
+
const createApi = async ({ name, apimInfo, versions = [{ name: 'v1' }], product, serviceUrl, authHeaderKey, policies, subscriptionRequired, operations, enableApiSet = true, }) => {
|
|
53
|
+
const setName = getApiSetName(name);
|
|
54
|
+
let set;
|
|
55
|
+
if (enableApiSet) {
|
|
56
|
+
set = new apim.ApiVersionSet(setName, {
|
|
57
|
+
versionSetId: setName,
|
|
58
|
+
displayName: setName,
|
|
59
|
+
description: setName,
|
|
60
|
+
serviceName: apimInfo.serviceName,
|
|
61
|
+
resourceGroupName: apimInfo.group.resourceGroupName,
|
|
62
|
+
versioningScheme: types_1.enums.apimanagement.VersioningScheme.Segment,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
const apis = await Promise.all(versions.map(async (v) => {
|
|
66
|
+
const date = new Date();
|
|
67
|
+
const revision = date.getDate() + date.getMonth();
|
|
68
|
+
const apiName = getApiName(name);
|
|
69
|
+
const api = new apim.Api(apiName, {
|
|
70
|
+
apiId: `${apiName};rev=${revision}`,
|
|
71
|
+
displayName: setName,
|
|
72
|
+
description: setName,
|
|
73
|
+
serviceName: apimInfo.serviceName,
|
|
74
|
+
resourceGroupName: apimInfo.group.resourceGroupName,
|
|
75
|
+
apiType: types_1.enums.apimanagement.ApiType.Http,
|
|
76
|
+
isCurrent: true,
|
|
77
|
+
protocols: [types_1.enums.apimanagement.Protocol.Https],
|
|
78
|
+
subscriptionRequired,
|
|
79
|
+
apiVersion: enableApiSet ? v.name : undefined,
|
|
80
|
+
apiVersionDescription: enableApiSet ? v.name : undefined,
|
|
81
|
+
apiRevision: revision.toString(),
|
|
82
|
+
apiRevisionDescription: date.toLocaleDateString(),
|
|
83
|
+
apiVersionSetId: set?.id,
|
|
84
|
+
subscriptionKeyParameterNames: {
|
|
85
|
+
header: authHeaderKey,
|
|
86
|
+
query: authHeaderKey,
|
|
87
|
+
},
|
|
88
|
+
path: name,
|
|
89
|
+
serviceUrl: `${serviceUrl}/${v.name}`,
|
|
90
|
+
format: v.swaggerUrl
|
|
91
|
+
? types_1.enums.apimanagement.ContentFormat.Openapi_json
|
|
92
|
+
: undefined,
|
|
93
|
+
value: v.swaggerUrl
|
|
94
|
+
? await (0, SwaggerHelper_1.getImportConfig)(`${serviceUrl}/${v.swaggerUrl}`, v.name)
|
|
95
|
+
: undefined,
|
|
96
|
+
});
|
|
97
|
+
if (product) {
|
|
98
|
+
new apim.ProductApi(apiName, {
|
|
99
|
+
serviceName: apimInfo.serviceName,
|
|
100
|
+
resourceGroupName: apimInfo.group.resourceGroupName,
|
|
101
|
+
apiId: apiName,
|
|
102
|
+
productId: product.name,
|
|
103
|
+
}, { dependsOn: [api, product] });
|
|
104
|
+
}
|
|
105
|
+
//Apply Default Policy to Api
|
|
106
|
+
const policyName = getApiPolicyName(apiName);
|
|
107
|
+
new apim.ApiPolicy(policyName, {
|
|
108
|
+
serviceName: apimInfo.serviceName,
|
|
109
|
+
resourceGroupName: apimInfo.group.resourceGroupName,
|
|
110
|
+
apiId: api.name,
|
|
111
|
+
policyId: 'policy',
|
|
112
|
+
format: 'xml',
|
|
113
|
+
value: (0, PolicyBuilder_1.getPolicies)({
|
|
114
|
+
cache: false,
|
|
115
|
+
rateLimit: true,
|
|
116
|
+
...policies,
|
|
117
|
+
}),
|
|
118
|
+
}, { dependsOn: [api, product] });
|
|
119
|
+
if (operations) {
|
|
120
|
+
operations.map((ops) => createOperation({
|
|
121
|
+
apiId: api.name,
|
|
122
|
+
apimInfo,
|
|
123
|
+
...ops,
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
return api;
|
|
127
|
+
}));
|
|
128
|
+
return { set, apis };
|
|
129
|
+
};
|
|
130
|
+
exports.createApi = createApi;
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0FwaW0vQXBpUHJvZHVjdC9BcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkRBQTJEO0FBQzNELDBEQUEyRDtBQUUzRCxzREFBb0U7QUFDcEUsbURBQTZEO0FBQzdELG1EQUFrRDtBQUVsRCxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3JDLElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFFOUUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNsQyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBRTlFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUN4QyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFO0lBQ3BCLE1BQU0sRUFBRSxFQUFFO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsY0FBYyxFQUFFLEtBQUs7Q0FDdEIsQ0FBQyxDQUFDO0FBRUwsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3hDLElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFhOUUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxFQUN2QixJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULEdBQUcsTUFBTSxFQUNNLEVBQUUsRUFBRTtJQUNuQixNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2Qyx1QkFBdUI7SUFDdkIsTUFBTSxLQUFLLEdBQ1QsT0FBTyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBRXpFLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7UUFDekMsV0FBVyxFQUFFLEtBQUs7UUFDbEIsS0FBSyxFQUFFLEtBQUs7UUFDWixXQUFXLEVBQUUsT0FBTztRQUNwQixXQUFXLEVBQUUsT0FBTztRQUNwQixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7UUFDakMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7UUFDbkQsU0FBUztRQUNULEdBQUcsTUFBTTtLQUNWLENBQUMsQ0FBQztJQUVILHVEQUF1RDtJQUN2RCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsSUFBSSxRQUFRO1lBQUUsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7O1lBQ3RDLFFBQVEsR0FBRyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLE1BQU0sVUFBVSxHQUFHLEdBQUcsT0FBTyxTQUFTLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQ3pCLFVBQVUsRUFDVjtZQUNFLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEtBQUs7WUFDTCxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDakMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7WUFDbkQsTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsSUFBQSwyQkFBVyxFQUFDLFFBQVEsQ0FBQztTQUM3QixFQUNELEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBZUssTUFBTSxTQUFTLEdBQUcsS0FBSyxFQUFFLEVBQzlCLElBQUksRUFDSixRQUFRLEVBQ1IsUUFBUSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFDM0IsT0FBTyxFQUNQLFVBQVUsRUFDVixhQUFhLEVBQ2IsUUFBUSxFQUNSLG9CQUFvQixFQUNwQixVQUFVLEVBQ1YsWUFBWSxHQUFHLElBQUksR0FDVixFQUFFLEVBQUU7SUFDYixNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEMsSUFBSSxHQUFtQyxDQUFDO0lBQ3hDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakIsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDcEMsWUFBWSxFQUFFLE9BQU87WUFDckIsV0FBVyxFQUFFLE9BQU87WUFDcEIsV0FBVyxFQUFFLE9BQU87WUFDcEIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1lBQ2pDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCO1lBQ25ELGdCQUFnQixFQUFFLGFBQUssQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTztTQUMvRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUM1QixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWpDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUU7WUFDaEMsS0FBSyxFQUFFLEdBQUcsT0FBTyxRQUFRLFFBQVEsRUFBRTtZQUNuQyxXQUFXLEVBQUUsT0FBTztZQUNwQixXQUFXLEVBQUUsT0FBTztZQUNwQixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDakMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7WUFFbkQsT0FBTyxFQUFFLGFBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUk7WUFDekMsU0FBUyxFQUFFLElBQUk7WUFDZixTQUFTLEVBQUUsQ0FBQyxhQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDL0Msb0JBQW9CO1lBRXBCLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDN0MscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBRXhELFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ2hDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUVqRCxlQUFlLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDeEIsNkJBQTZCLEVBQUU7Z0JBQzdCLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixLQUFLLEVBQUUsYUFBYTthQUNyQjtZQUVELElBQUksRUFBRSxJQUFJO1lBQ1YsVUFBVSxFQUFFLEdBQUcsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFFckMsTUFBTSxFQUFFLENBQUMsQ0FBQyxVQUFVO2dCQUNsQixDQUFDLENBQUMsYUFBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsWUFBWTtnQkFDaEQsQ0FBQyxDQUFDLFNBQVM7WUFDYixLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVU7Z0JBQ2pCLENBQUMsQ0FBQyxNQUFNLElBQUEsK0JBQWUsRUFBQyxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDaEUsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDLENBQUM7UUFFSCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxJQUFJLENBQUMsVUFBVSxDQUNqQixPQUFPLEVBQ1A7Z0JBQ0UsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO2dCQUNqQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLGlCQUFpQjtnQkFDbkQsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJO2FBQ3hCLEVBQ0QsRUFBRSxTQUFTLEVBQUUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FDOUIsQ0FBQztRQUNKLENBQUM7UUFFRCw2QkFBNkI7UUFDN0IsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFN0MsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUNoQixVQUFVLEVBQ1Y7WUFDRSxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDakMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7WUFDbkQsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJO1lBQ2YsUUFBUSxFQUFFLFFBQVE7WUFDbEIsTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsSUFBQSwyQkFBVyxFQUFDO2dCQUNqQixLQUFLLEVBQUUsS0FBSztnQkFDWixTQUFTLEVBQUUsSUFBSTtnQkFDZixHQUFHLFFBQVE7YUFDWixDQUFDO1NBQ0gsRUFDRCxFQUFFLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUM5QixDQUFDO1FBRUYsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNyQixlQUFlLENBQUM7Z0JBQ2QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJO2dCQUNmLFFBQVE7Z0JBQ1IsR0FBRyxHQUFHO2FBQ1AsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBRUYsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFuSFcsUUFBQSxTQUFTLGFBbUhwQiJ9
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation schema for OpenAPI Specification 3.0.X.
|
|
3
|
+
*/
|
|
4
|
+
export interface OpenAPI3 {
|
|
5
|
+
components?: Components;
|
|
6
|
+
externalDocs?: ExternalDocumentation;
|
|
7
|
+
info: Info;
|
|
8
|
+
openapi: string;
|
|
9
|
+
paths: Paths;
|
|
10
|
+
security?: {
|
|
11
|
+
[key: string]: string[];
|
|
12
|
+
}[];
|
|
13
|
+
servers?: Server[];
|
|
14
|
+
tags?: Tag[];
|
|
15
|
+
}
|
|
16
|
+
export interface Components {
|
|
17
|
+
callbacks?: {
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
};
|
|
20
|
+
examples?: {
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
};
|
|
23
|
+
headers?: {
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
};
|
|
26
|
+
links?: {
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
};
|
|
29
|
+
parameters?: {
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
};
|
|
32
|
+
requestBodies?: {
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
};
|
|
35
|
+
responses?: {
|
|
36
|
+
[key: string]: any;
|
|
37
|
+
};
|
|
38
|
+
schemas?: {
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
};
|
|
41
|
+
securitySchemes?: {
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export interface ExternalDocumentation {
|
|
46
|
+
description?: string;
|
|
47
|
+
url: string;
|
|
48
|
+
}
|
|
49
|
+
export interface Info {
|
|
50
|
+
contact?: Contact;
|
|
51
|
+
description?: string;
|
|
52
|
+
license?: License;
|
|
53
|
+
termsOfService?: string;
|
|
54
|
+
title: string;
|
|
55
|
+
version: string;
|
|
56
|
+
}
|
|
57
|
+
export interface Contact {
|
|
58
|
+
email?: string;
|
|
59
|
+
name?: string;
|
|
60
|
+
url?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface License {
|
|
63
|
+
name: string;
|
|
64
|
+
url?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface Paths {
|
|
67
|
+
[key: string]: any;
|
|
68
|
+
}
|
|
69
|
+
export interface Server {
|
|
70
|
+
description?: string;
|
|
71
|
+
url: string;
|
|
72
|
+
variables?: {
|
|
73
|
+
[key: string]: ServerVariable;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
export interface ServerVariable {
|
|
77
|
+
default: string;
|
|
78
|
+
description?: string;
|
|
79
|
+
enum?: string[];
|
|
80
|
+
}
|
|
81
|
+
export interface Tag {
|
|
82
|
+
description?: string;
|
|
83
|
+
externalDocs?: ExternalDocumentation;
|
|
84
|
+
name: string;
|
|
85
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbkFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BcGltL0FwaVByb2R1Y3QvT3BlbkFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
interface MockProps {
|
|
2
|
+
code?: number;
|
|
3
|
+
contentType?: string;
|
|
4
|
+
}
|
|
5
|
+
interface RewriteUriProps {
|
|
6
|
+
template?: string;
|
|
7
|
+
}
|
|
8
|
+
interface BaseUrlProps {
|
|
9
|
+
url: string;
|
|
10
|
+
}
|
|
11
|
+
interface RateLimitProps {
|
|
12
|
+
/** Number of call */
|
|
13
|
+
call?: number;
|
|
14
|
+
/** in period (second) */
|
|
15
|
+
period?: number;
|
|
16
|
+
/** only applied to the success condition `@(context.Response.StatusCode >= 200 && context.Response.StatusCode < 300)` */
|
|
17
|
+
successConditionOnly?: boolean;
|
|
18
|
+
}
|
|
19
|
+
interface OutCacheProps {
|
|
20
|
+
duration?: number;
|
|
21
|
+
}
|
|
22
|
+
interface AuthCertProps {
|
|
23
|
+
thumbprint: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ClientCertProps extends Partial<AuthCertProps> {
|
|
26
|
+
issuer?: string;
|
|
27
|
+
subject?: string;
|
|
28
|
+
verifyCert?: boolean;
|
|
29
|
+
}
|
|
30
|
+
interface CorsProps {
|
|
31
|
+
origins?: string[];
|
|
32
|
+
}
|
|
33
|
+
export declare enum SetHeaderTypes {
|
|
34
|
+
delete = "delete",
|
|
35
|
+
override = "override",
|
|
36
|
+
skip = "skip",
|
|
37
|
+
append = "append"
|
|
38
|
+
}
|
|
39
|
+
interface SetHeaderProps {
|
|
40
|
+
name: string;
|
|
41
|
+
value?: string;
|
|
42
|
+
type: SetHeaderTypes;
|
|
43
|
+
}
|
|
44
|
+
interface CheckHeaders {
|
|
45
|
+
checkHeaders: Array<{
|
|
46
|
+
name: string;
|
|
47
|
+
value?: string[];
|
|
48
|
+
}>;
|
|
49
|
+
}
|
|
50
|
+
export interface PoliciesProps {
|
|
51
|
+
setBaseUrl?: BaseUrlProps;
|
|
52
|
+
setHeaders?: Array<SetHeaderProps> | SetHeaderProps;
|
|
53
|
+
checkHeaders?: CheckHeaders;
|
|
54
|
+
mockResponse?: MockProps | boolean;
|
|
55
|
+
rewriteUri?: RewriteUriProps | boolean;
|
|
56
|
+
rateLimit?: RateLimitProps | boolean;
|
|
57
|
+
cache?: OutCacheProps | boolean;
|
|
58
|
+
backendCert?: AuthCertProps;
|
|
59
|
+
clientCert?: ClientCertProps;
|
|
60
|
+
cors?: CorsProps | boolean;
|
|
61
|
+
enableClientIpHeader?: boolean;
|
|
62
|
+
logEventHubName?: string;
|
|
63
|
+
captureClientCertThumbprint?: boolean;
|
|
64
|
+
azFuncUrl?: string;
|
|
65
|
+
azFuncKey?: string;
|
|
66
|
+
/** Filter IP from Bearer Token */
|
|
67
|
+
ipFilter?: boolean;
|
|
68
|
+
/** IP Address Whitelisting */
|
|
69
|
+
whitelistIPs?: string[];
|
|
70
|
+
/**Replace outbound results */
|
|
71
|
+
findAndReplaces?: Array<{
|
|
72
|
+
from: string;
|
|
73
|
+
to: string;
|
|
74
|
+
}>;
|
|
75
|
+
customInboundPolicy?: string;
|
|
76
|
+
customOutPolicy?: string;
|
|
77
|
+
}
|
|
78
|
+
export declare const getPolicies: ({ enableClientIpHeader, findAndReplaces, ...props }: PoliciesProps) => string;
|
|
79
|
+
export {};
|