@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,62 @@
|
|
|
1
|
+
import { ConventionProps } from '../../types';
|
|
2
|
+
/** The method to get Resource group Name*/
|
|
3
|
+
export declare const getResourceGroupName: (name: string) => string;
|
|
4
|
+
/** Get Azure Storage Account and CosmosDb Name*/
|
|
5
|
+
export declare const getStorageName: (name: string) => string;
|
|
6
|
+
/** Get Vault Secret Name. Remove the stack name and replace all _ with - then lower cases. */
|
|
7
|
+
export declare const getSecretName: (name: string) => string;
|
|
8
|
+
export declare const getAppPlanName: (name: string) => string;
|
|
9
|
+
export declare const getCertName: (name: string) => string;
|
|
10
|
+
export declare const getConnectionName: (name: string, type: 'primary' | 'secondary') => string;
|
|
11
|
+
export declare const getKeyName: (name: string, type: 'primary' | 'secondary') => string;
|
|
12
|
+
export declare const getPasswordName: (name: string, type: 'primary' | 'secondary' | null) => string;
|
|
13
|
+
export declare const getAutomationAccountName: (name: string) => string;
|
|
14
|
+
export declare const getB2cName: (name: string) => string;
|
|
15
|
+
export declare const getCosmosDbName: (name: string) => string;
|
|
16
|
+
export declare const getAppConfigName: (name: string) => string;
|
|
17
|
+
export declare const getApimName: (name: string) => string;
|
|
18
|
+
export declare const getSshName: (name: string) => string;
|
|
19
|
+
export declare const getIdentityName: (name: string) => string;
|
|
20
|
+
export declare const getManagedIdentityName: (name: string) => string;
|
|
21
|
+
export declare const getAksName: (name: string) => string;
|
|
22
|
+
export declare const getK8sProviderName: (name: string) => string;
|
|
23
|
+
export declare const getAppInsightName: (name: string) => string;
|
|
24
|
+
export declare const getLogWpName: (name: string) => string;
|
|
25
|
+
export declare const getWebAppName: (name: string) => string;
|
|
26
|
+
export declare const getFuncAppName: (name: string) => string;
|
|
27
|
+
export declare const getWebTestName: (name: string) => string;
|
|
28
|
+
export declare const getAlertName: (name: string) => string;
|
|
29
|
+
export declare const getRedisCacheName: (name: string) => string;
|
|
30
|
+
export declare const getServiceBusName: (name: string) => string;
|
|
31
|
+
export declare const getPrivateEndpointName: (name: string) => string;
|
|
32
|
+
export declare const getSignalRName: (name: string) => string;
|
|
33
|
+
export declare const getElasticPoolName: (name: string) => string;
|
|
34
|
+
export declare const getSqlDbName: (name: string) => string;
|
|
35
|
+
export declare const getSqlServerName: (name: string) => string;
|
|
36
|
+
export declare const getPostgresqlName: (name: string) => string;
|
|
37
|
+
export declare const getMySqlName: (name: string) => string;
|
|
38
|
+
export declare const getFirewallName: (name: string) => string;
|
|
39
|
+
export declare const getFirewallPolicyName: (name: string) => string;
|
|
40
|
+
export declare const getFirewallPolicyGroupName: (name: string) => string;
|
|
41
|
+
export declare const getVMName: (name: string) => string;
|
|
42
|
+
export declare const getNICName: (name: string) => string;
|
|
43
|
+
export declare const getVnetName: (name: string) => string;
|
|
44
|
+
export declare const getWanName: (name: string) => string;
|
|
45
|
+
export declare const getHubName: (name: string) => string;
|
|
46
|
+
export declare const getIotHubName: (name: string) => string;
|
|
47
|
+
export declare const getRouteName: (name: string) => string;
|
|
48
|
+
export declare const getRouteItemName: (name: string) => string;
|
|
49
|
+
export declare const getNetworkSecurityGroupName: (name: string) => string;
|
|
50
|
+
export declare const getIpAddressName: (name: string) => string;
|
|
51
|
+
export declare const getIpAddressPrefixName: (name: string) => string;
|
|
52
|
+
export declare const getAppGatewayName: (name: string) => string;
|
|
53
|
+
export declare const getBastionName: (name: string) => string;
|
|
54
|
+
/**Key vault allow to disable or custom the convention. The max length of vault name is 24*/
|
|
55
|
+
export declare const getKeyVaultName: (name: string, convention?: ConventionProps | false) => string;
|
|
56
|
+
export declare const getCdnEndpointName: (name: string) => string;
|
|
57
|
+
/**The CDN Profile is created to Global group so no prefix*/
|
|
58
|
+
export declare const getCdnProfileName: (name: string) => string;
|
|
59
|
+
/**The Azure Container Registry is created to Global group so no prefix*/
|
|
60
|
+
export declare const getAcrName: (name: string) => string;
|
|
61
|
+
/**The App Cert Order is created to Global group so no prefix*/
|
|
62
|
+
export declare const getCertOrderName: (name: string) => string;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getKeyVaultName = exports.getBastionName = exports.getAppGatewayName = exports.getIpAddressPrefixName = exports.getIpAddressName = exports.getNetworkSecurityGroupName = exports.getRouteItemName = exports.getRouteName = exports.getIotHubName = exports.getHubName = exports.getWanName = exports.getVnetName = exports.getNICName = exports.getVMName = exports.getFirewallPolicyGroupName = exports.getFirewallPolicyName = exports.getFirewallName = exports.getMySqlName = exports.getPostgresqlName = exports.getSqlServerName = exports.getSqlDbName = exports.getElasticPoolName = exports.getSignalRName = exports.getPrivateEndpointName = exports.getServiceBusName = exports.getRedisCacheName = exports.getAlertName = exports.getWebTestName = exports.getFuncAppName = exports.getWebAppName = exports.getLogWpName = exports.getAppInsightName = exports.getK8sProviderName = exports.getAksName = exports.getManagedIdentityName = exports.getIdentityName = exports.getSshName = exports.getApimName = exports.getAppConfigName = exports.getCosmosDbName = exports.getB2cName = exports.getAutomationAccountName = exports.getPasswordName = exports.getKeyName = exports.getConnectionName = exports.getCertName = exports.getAppPlanName = exports.getSecretName = exports.getStorageName = exports.getResourceGroupName = void 0;
|
|
4
|
+
exports.getCertOrderName = exports.getAcrName = exports.getCdnProfileName = exports.getCdnEndpointName = void 0;
|
|
5
|
+
const Helpers_1 = require("../Helpers");
|
|
6
|
+
const ResourceEnv_1 = require("../ResourceEnv");
|
|
7
|
+
const StackEnv_1 = require("../StackEnv");
|
|
8
|
+
/** The method to get Resource group Name*/
|
|
9
|
+
const getResourceGroupName = (name) => (0, ResourceEnv_1.getResourceName)(name, {
|
|
10
|
+
suffix: StackEnv_1.organization ? `grp-${StackEnv_1.organization}` : 'grp',
|
|
11
|
+
});
|
|
12
|
+
exports.getResourceGroupName = getResourceGroupName;
|
|
13
|
+
/** Get Azure Storage Account and CosmosDb Name*/
|
|
14
|
+
const getStorageName = (name) => {
|
|
15
|
+
name = (0, ResourceEnv_1.getResourceName)(name, { includeOrgName: true, suffix: 'stg' });
|
|
16
|
+
name = (0, Helpers_1.replaceAll)(name, '-', '');
|
|
17
|
+
name = (0, Helpers_1.replaceAll)(name, '.', '');
|
|
18
|
+
return name.toLowerCase().substring(0, 24);
|
|
19
|
+
};
|
|
20
|
+
exports.getStorageName = getStorageName;
|
|
21
|
+
/** Get Vault Secret Name. Remove the stack name and replace all _ with - then lower cases. */
|
|
22
|
+
const getSecretName = (name) => {
|
|
23
|
+
name = name.replace(`${StackEnv_1.stack}-`, '');
|
|
24
|
+
name = name.replace(StackEnv_1.stack, '');
|
|
25
|
+
name = (0, Helpers_1.replaceAll)(name, ' ', '-');
|
|
26
|
+
name = (0, Helpers_1.replaceAll)(name, '.', '-');
|
|
27
|
+
return (0, Helpers_1.replaceAll)(name, '_', '-').toLowerCase();
|
|
28
|
+
};
|
|
29
|
+
exports.getSecretName = getSecretName;
|
|
30
|
+
const getAppPlanName = (name) => (0, ResourceEnv_1.getResourceName)(name, { includeOrgName: false, suffix: 'app-plan' });
|
|
31
|
+
exports.getAppPlanName = getAppPlanName;
|
|
32
|
+
const getCertName = (name) => {
|
|
33
|
+
name = (0, exports.getSecretName)(name);
|
|
34
|
+
return `${name}-cert`;
|
|
35
|
+
};
|
|
36
|
+
exports.getCertName = getCertName;
|
|
37
|
+
const getConnectionName = (name, type) => `${(0, exports.getSecretName)(name)}-conn-${type}`;
|
|
38
|
+
exports.getConnectionName = getConnectionName;
|
|
39
|
+
const getKeyName = (name, type) => `${(0, exports.getSecretName)(name)}-key-${type}`;
|
|
40
|
+
exports.getKeyName = getKeyName;
|
|
41
|
+
const getPasswordName = (name, type) => type === null
|
|
42
|
+
? (0, ResourceEnv_1.getResourceName)(name, { suffix: 'pwd' })
|
|
43
|
+
: `${(0, exports.getSecretName)(name)}-pwd-${type}`;
|
|
44
|
+
exports.getPasswordName = getPasswordName;
|
|
45
|
+
const getAutomationAccountName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'acc-auto' });
|
|
46
|
+
exports.getAutomationAccountName = getAutomationAccountName;
|
|
47
|
+
const getB2cName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'b2c' });
|
|
48
|
+
exports.getB2cName = getB2cName;
|
|
49
|
+
const getCosmosDbName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'cdb' });
|
|
50
|
+
exports.getCosmosDbName = getCosmosDbName;
|
|
51
|
+
const getAppConfigName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'cfg' });
|
|
52
|
+
exports.getAppConfigName = getAppConfigName;
|
|
53
|
+
const getApimName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'apim' });
|
|
54
|
+
exports.getApimName = getApimName;
|
|
55
|
+
const getSshName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'ssh' });
|
|
56
|
+
exports.getSshName = getSshName;
|
|
57
|
+
const getIdentityName = (name) => (0, ResourceEnv_1.getResourceName)(name);
|
|
58
|
+
exports.getIdentityName = getIdentityName;
|
|
59
|
+
const getManagedIdentityName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'mid' });
|
|
60
|
+
exports.getManagedIdentityName = getManagedIdentityName;
|
|
61
|
+
const getAksName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'aks' });
|
|
62
|
+
exports.getAksName = getAksName;
|
|
63
|
+
const getK8sProviderName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'ks-pvd' });
|
|
64
|
+
exports.getK8sProviderName = getK8sProviderName;
|
|
65
|
+
const getAppInsightName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'isg' });
|
|
66
|
+
exports.getAppInsightName = getAppInsightName;
|
|
67
|
+
const getLogWpName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'wp' });
|
|
68
|
+
exports.getLogWpName = getLogWpName;
|
|
69
|
+
const getWebAppName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'web' });
|
|
70
|
+
exports.getWebAppName = getWebAppName;
|
|
71
|
+
const getFuncAppName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'func' });
|
|
72
|
+
exports.getFuncAppName = getFuncAppName;
|
|
73
|
+
const getWebTestName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'hlz' });
|
|
74
|
+
exports.getWebTestName = getWebTestName;
|
|
75
|
+
const getAlertName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'alt' });
|
|
76
|
+
exports.getAlertName = getAlertName;
|
|
77
|
+
const getRedisCacheName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'rds' });
|
|
78
|
+
exports.getRedisCacheName = getRedisCacheName;
|
|
79
|
+
const getServiceBusName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'bus' });
|
|
80
|
+
exports.getServiceBusName = getServiceBusName;
|
|
81
|
+
const getPrivateEndpointName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'pre' });
|
|
82
|
+
exports.getPrivateEndpointName = getPrivateEndpointName;
|
|
83
|
+
const getSignalRName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'sigr' });
|
|
84
|
+
exports.getSignalRName = getSignalRName;
|
|
85
|
+
const getElasticPoolName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'elp' });
|
|
86
|
+
exports.getElasticPoolName = getElasticPoolName;
|
|
87
|
+
const getSqlDbName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'db' });
|
|
88
|
+
exports.getSqlDbName = getSqlDbName;
|
|
89
|
+
const getSqlServerName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'sql' });
|
|
90
|
+
exports.getSqlServerName = getSqlServerName;
|
|
91
|
+
const getPostgresqlName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'postgres' });
|
|
92
|
+
exports.getPostgresqlName = getPostgresqlName;
|
|
93
|
+
const getMySqlName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'mysql' });
|
|
94
|
+
exports.getMySqlName = getMySqlName;
|
|
95
|
+
const getFirewallName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'fw' });
|
|
96
|
+
exports.getFirewallName = getFirewallName;
|
|
97
|
+
const getFirewallPolicyName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'fwp' });
|
|
98
|
+
exports.getFirewallPolicyName = getFirewallPolicyName;
|
|
99
|
+
const getFirewallPolicyGroupName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'fw-pg' });
|
|
100
|
+
exports.getFirewallPolicyGroupName = getFirewallPolicyGroupName;
|
|
101
|
+
const getVMName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'vm' });
|
|
102
|
+
exports.getVMName = getVMName;
|
|
103
|
+
const getNICName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'nic' });
|
|
104
|
+
exports.getNICName = getNICName;
|
|
105
|
+
const getVnetName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'vnt' });
|
|
106
|
+
exports.getVnetName = getVnetName;
|
|
107
|
+
const getWanName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'wan' });
|
|
108
|
+
exports.getWanName = getWanName;
|
|
109
|
+
const getHubName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'hub' });
|
|
110
|
+
exports.getHubName = getHubName;
|
|
111
|
+
const getIotHubName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'iot' });
|
|
112
|
+
exports.getIotHubName = getIotHubName;
|
|
113
|
+
const getRouteName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'route' });
|
|
114
|
+
exports.getRouteName = getRouteName;
|
|
115
|
+
const getRouteItemName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: '', includeOrgName: false });
|
|
116
|
+
exports.getRouteItemName = getRouteItemName;
|
|
117
|
+
const getNetworkSecurityGroupName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'nsg' });
|
|
118
|
+
exports.getNetworkSecurityGroupName = getNetworkSecurityGroupName;
|
|
119
|
+
const getIpAddressName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'ip' });
|
|
120
|
+
exports.getIpAddressName = getIpAddressName;
|
|
121
|
+
const getIpAddressPrefixName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'ipx' });
|
|
122
|
+
exports.getIpAddressPrefixName = getIpAddressPrefixName;
|
|
123
|
+
const getAppGatewayName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'gtw' });
|
|
124
|
+
exports.getAppGatewayName = getAppGatewayName;
|
|
125
|
+
const getBastionName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'bst' });
|
|
126
|
+
exports.getBastionName = getBastionName;
|
|
127
|
+
/**Key vault allow to disable or custom the convention. The max length of vault name is 24*/
|
|
128
|
+
const getKeyVaultName = (name, convention = {
|
|
129
|
+
suffix: 'vlt',
|
|
130
|
+
includeOrgName: true,
|
|
131
|
+
}) => (0, ResourceEnv_1.getResourceName)(name, convention == false
|
|
132
|
+
? { prefix: '', suffix: '', includeOrgName: true }
|
|
133
|
+
: convention).substring(0, 24);
|
|
134
|
+
exports.getKeyVaultName = getKeyVaultName;
|
|
135
|
+
const getCdnEndpointName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'cdn' });
|
|
136
|
+
exports.getCdnEndpointName = getCdnEndpointName;
|
|
137
|
+
/**The CDN Profile is created to Global group so no prefix*/
|
|
138
|
+
const getCdnProfileName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'cdn-pfl' });
|
|
139
|
+
exports.getCdnProfileName = getCdnProfileName;
|
|
140
|
+
/**The Azure Container Registry is created to Global group so no prefix*/
|
|
141
|
+
const getAcrName = (name) => (0, Helpers_1.replaceAll)((0, ResourceEnv_1.getResourceName)(name, { prefix: '', suffix: 'acr' }), '-', '');
|
|
142
|
+
exports.getAcrName = getAcrName;
|
|
143
|
+
/**The App Cert Order is created to Global group so no prefix*/
|
|
144
|
+
const getCertOrderName = (name) => (0, ResourceEnv_1.getResourceName)(name.replace('.', '-'), { prefix: '', suffix: 'ca' });
|
|
145
|
+
exports.getCertOrderName = getCertOrderName;
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQ29tbW9uL05hbWluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0Esd0NBQXdDO0FBQ3hDLGdEQUFpRDtBQUNqRCwwQ0FBa0Q7QUFFbEQsMkNBQTJDO0FBQ3BDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUMzRCxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFO0lBQ3BCLE1BQU0sRUFBRSx1QkFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLHVCQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSztDQUNyRCxDQUFDLENBQUM7QUFIUSxRQUFBLG9CQUFvQix3QkFHNUI7QUFFTCxpREFBaUQ7QUFDMUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRTtJQUNyRCxJQUFJLEdBQUcsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEUsSUFBSSxHQUFHLElBQUEsb0JBQVUsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLElBQUksR0FBRyxJQUFBLG9CQUFVLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQztBQUxXLFFBQUEsY0FBYyxrQkFLekI7QUFFRiw4RkFBOEY7QUFDdkYsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtJQUM1QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLGdCQUFLLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyQyxJQUFJLEdBQUcsSUFB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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ConventionProps, ResourceGroupInfo } from '../types';
|
|
2
|
+
import { Input } from '@pulumi/pulumi';
|
|
3
|
+
export declare const resourceConvention: {
|
|
4
|
+
prefix: string;
|
|
5
|
+
suffix: undefined;
|
|
6
|
+
};
|
|
7
|
+
/** The method to get Resource Name. This is not applicable for Azure Storage Account and CosmosDb*/
|
|
8
|
+
export declare const getResourceName: (name: string, convention?: ConventionProps) => string;
|
|
9
|
+
export interface ResourceInfoArg {
|
|
10
|
+
/**If name and provider of the resource is not provided then the Id will be resource group Id*/
|
|
11
|
+
name?: Input<string>;
|
|
12
|
+
/**The provider name of the resource ex: "Microsoft.Network/virtualNetworks" or "Microsoft.Network/networkSecurityGroups"*/
|
|
13
|
+
provider?: string;
|
|
14
|
+
group: ResourceGroupInfo;
|
|
15
|
+
subscriptionId?: Input<string>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getResourceName = exports.resourceConvention = void 0;
|
|
4
|
+
const Helpers_1 = require("./Helpers");
|
|
5
|
+
const StackEnv_1 = require("./StackEnv");
|
|
6
|
+
exports.resourceConvention = {
|
|
7
|
+
prefix: StackEnv_1.stack,
|
|
8
|
+
suffix: undefined, //This may be specified by each resource name
|
|
9
|
+
};
|
|
10
|
+
/** ==================== Resources Variables ========================= */
|
|
11
|
+
const getName = (name, convention) => {
|
|
12
|
+
if (!name)
|
|
13
|
+
return name;
|
|
14
|
+
name = (0, Helpers_1.replaceAll)(name, ' ', '-');
|
|
15
|
+
//Add prefix
|
|
16
|
+
if (convention.prefix && !name.startsWith(convention.prefix))
|
|
17
|
+
name = convention.prefix + '-' + name;
|
|
18
|
+
//Organization
|
|
19
|
+
if (convention.includeOrgName && !name.includes(StackEnv_1.organization))
|
|
20
|
+
name = name + '-' + StackEnv_1.organization;
|
|
21
|
+
//Add the suffix
|
|
22
|
+
if (convention.suffix && !name.endsWith(convention.suffix))
|
|
23
|
+
name = name + '-' + convention.suffix;
|
|
24
|
+
return name.toLowerCase();
|
|
25
|
+
};
|
|
26
|
+
/** The method to get Resource Name. This is not applicable for Azure Storage Account and CosmosDb*/
|
|
27
|
+
const getResourceName = (name, convention) => getName(name, { ...exports.resourceConvention, ...convention });
|
|
28
|
+
exports.getResourceName = getResourceName;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VFbnYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tbW9uL1Jlc291cmNlRW52LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUF1QztBQUd2Qyx5Q0FBaUQ7QUFFcEMsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxNQUFNLEVBQUUsZ0JBQUs7SUFDYixNQUFNLEVBQUUsU0FBUyxFQUFFLDZDQUE2QztDQUNqRSxDQUFDO0FBRUYseUVBQXlFO0FBRXpFLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBWSxFQUFFLFVBQTJCLEVBQVUsRUFBRTtJQUNwRSxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3ZCLElBQUksR0FBRyxJQUFBLG9CQUFVLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVsQyxZQUFZO0lBQ1osSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQzFELElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFFeEMsY0FBYztJQUNkLElBQUksVUFBVSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQVksQ0FBQztRQUMzRCxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyx1QkFBWSxDQUFDO0lBRW5DLGdCQUFnQjtJQUNoQixJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDeEQsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUV4QyxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFFRixvR0FBb0c7QUFDN0YsTUFBTSxlQUFlLEdBQUcsQ0FDN0IsSUFBWSxFQUNaLFVBQTRCLEVBQ3BCLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRywwQkFBa0IsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFIeEQsUUFBQSxlQUFlLG1CQUd5QyJ9
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stack = exports.projectName = exports.organization = exports.isDryRun = void 0;
|
|
4
|
+
const pulumi = require("@pulumi/pulumi");
|
|
5
|
+
exports.isDryRun = Boolean(process.env.PULUMI_NODEJS_DRY_RUN);
|
|
6
|
+
exports.organization = process.env.PULUMI_NODEJS_ORGANIZATION;
|
|
7
|
+
exports.projectName = process.env.PULUMI_NODEJS_PROJECT ?? pulumi.getProject().toLowerCase();
|
|
8
|
+
exports.stack = process.env.PULUMI_NODEJS_STACK ?? pulumi.getStack().toLowerCase();
|
|
9
|
+
// console.log(
|
|
10
|
+
// 'Pulumi Environments\n',
|
|
11
|
+
// Object.keys(process.env)
|
|
12
|
+
// .filter((key) => key.startsWith('PULUMI_'))
|
|
13
|
+
// .map((key) => `\t${key}: ${process.env[key]}`)
|
|
14
|
+
// .join('\n')
|
|
15
|
+
// );
|
|
16
|
+
console.log('Pulumi Environments:', {
|
|
17
|
+
organization: exports.organization,
|
|
18
|
+
projectName: exports.projectName,
|
|
19
|
+
stack: exports.stack,
|
|
20
|
+
isDryRun: exports.isDryRun,
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tFbnYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tbW9uL1N0YWNrRW52LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF5QztBQUU1QixRQUFBLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3RELFFBQUEsWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTJCLENBQUM7QUFDdkQsUUFBQSxXQUFXLEdBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQzVELFFBQUEsS0FBSyxHQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUVyRSxlQUFlO0FBQ2YsK0JBQStCO0FBQy9CLCtCQUErQjtBQUMvQixzREFBc0Q7QUFDdEQseURBQXlEO0FBQ3pELHNCQUFzQjtBQUN0QixLQUFLO0FBRUwsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRTtJQUNsQyxZQUFZLEVBQVosb0JBQVk7SUFDWixXQUFXLEVBQVgsbUJBQVc7SUFDWCxLQUFLLEVBQUwsYUFBSztJQUNMLFFBQVEsRUFBUixnQkFBUTtDQUNULENBQUMsQ0FBQyJ9
|
package/Common/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.global = exports.resourceEnv = exports.stackEnv = exports.azureEnv = exports.helpers = void 0;
|
|
4
|
+
exports.helpers = require("./Helpers");
|
|
5
|
+
exports.azureEnv = require("./AzureEnv");
|
|
6
|
+
exports.stackEnv = require("./StackEnv");
|
|
7
|
+
exports.resourceEnv = require("./ResourceEnv");
|
|
8
|
+
exports.global = require("./GlobalEnv");
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFxQztBQUNyQyx5Q0FBdUM7QUFDdkMseUNBQXVDO0FBQ3ZDLCtDQUE2QztBQUM3Qyx3Q0FBc0MifQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ResourceGroupInfo } from '../types';
|
|
2
|
+
export interface ImageInfo {
|
|
3
|
+
registry: string;
|
|
4
|
+
imageName: string;
|
|
5
|
+
tags: Tag[];
|
|
6
|
+
}
|
|
7
|
+
export interface Tag {
|
|
8
|
+
name: string;
|
|
9
|
+
signed: boolean;
|
|
10
|
+
}
|
|
11
|
+
interface LatestAcrImageProps {
|
|
12
|
+
repository: string;
|
|
13
|
+
acrName: string;
|
|
14
|
+
group: ResourceGroupInfo;
|
|
15
|
+
}
|
|
16
|
+
/**Get ACR credentials from Global Resource Group*/
|
|
17
|
+
export declare const getAcrCredentials: (name: string) => Promise<{
|
|
18
|
+
username: string;
|
|
19
|
+
password: string;
|
|
20
|
+
url: string;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const getLastAcrImage: ({ acrName, repository, group, }: LatestAcrImageProps) => Promise<string | undefined>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLastAcrImage = exports.getAcrCredentials = void 0;
|
|
4
|
+
const native = require("@pulumi/azure-native");
|
|
5
|
+
const axios_1 = require("axios");
|
|
6
|
+
const Naming_1 = require("../Common/Naming");
|
|
7
|
+
const Common_1 = require("../Common");
|
|
8
|
+
/**Get ACR credentials from Global Resource Group*/
|
|
9
|
+
const getAcrCredentials = async (name) => {
|
|
10
|
+
const n = (0, Naming_1.getAcrName)(name);
|
|
11
|
+
const credentials = await native.containerregistry.listRegistryCredentials({
|
|
12
|
+
registryName: n,
|
|
13
|
+
...Common_1.global.groupInfo,
|
|
14
|
+
});
|
|
15
|
+
return {
|
|
16
|
+
username: credentials.username,
|
|
17
|
+
password: credentials.passwords[0].value,
|
|
18
|
+
url: `https://${n}.azurecr.io`,
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.getAcrCredentials = getAcrCredentials;
|
|
22
|
+
const getLastAcrImage = async ({ acrName, repository, group, }) => {
|
|
23
|
+
const credentials = await native.containerregistry.listRegistryCredentials({
|
|
24
|
+
registryName: acrName,
|
|
25
|
+
...group,
|
|
26
|
+
});
|
|
27
|
+
if (credentials == undefined)
|
|
28
|
+
return;
|
|
29
|
+
const token = Buffer.from(`${credentials.username}:${credentials.passwords[0].value}`).toString('base64');
|
|
30
|
+
const url = `https://${acrName}.azurecr.io/acr/v1/${repository}/_tags?last=1&n=1&orderby=timedesc`;
|
|
31
|
+
const rs = await axios_1.default
|
|
32
|
+
.get(url, {
|
|
33
|
+
headers: { Authorization: `Basic ${token}` },
|
|
34
|
+
})
|
|
35
|
+
.then((rs) => rs.data)
|
|
36
|
+
.catch((err) => {
|
|
37
|
+
console.log(`getLastAcrImage: "${url}" Error`, err.response?.data);
|
|
38
|
+
return undefined;
|
|
39
|
+
});
|
|
40
|
+
const latestImage = rs
|
|
41
|
+
? `${rs.registry}/${rs.imageName}:${rs.tags[0].name}`
|
|
42
|
+
: `${acrName}.azurecr.io/${repository}:latest`;
|
|
43
|
+
console.log(`getLastAcrImage: ${acrName}`, latestImage);
|
|
44
|
+
return latestImage;
|
|
45
|
+
};
|
|
46
|
+
exports.getLastAcrImage = getLastAcrImage;
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbnRhaW5lclJlZ2lzdHJ5L0hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBK0M7QUFDL0MsaUNBQThEO0FBRTlELDZDQUE4QztBQUM5QyxzQ0FBbUM7QUFtQm5DLG1EQUFtRDtBQUM1QyxNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUN0RCxNQUFNLENBQUMsR0FBRyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUM7UUFDekUsWUFBWSxFQUFFLENBQUM7UUFDZixHQUFHLGVBQU0sQ0FBQyxTQUFTO0tBQ3BCLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVM7UUFDL0IsUUFBUSxFQUFFLFdBQVcsQ0FBQyxTQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBTTtRQUMxQyxHQUFHLEVBQUUsV0FBVyxDQUFDLGFBQWE7S0FDL0IsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVpXLFFBQUEsaUJBQWlCLHFCQVk1QjtBQUVLLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxFQUNwQyxPQUFPLEVBQ1AsVUFBVSxFQUNWLEtBQUssR0FDZSxFQUFFLEVBQUU7SUFDeEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUM7UUFDekUsWUFBWSxFQUFFLE9BQU87UUFDckIsR0FBRyxLQUFLO0tBQ1QsQ0FBQyxDQUFDO0lBRUgsSUFBSSxXQUFXLElBQUksU0FBUztRQUFFLE9BQU87SUFFckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDdkIsR0FBRyxXQUFXLENBQUMsUUFBUyxJQUFJLFdBQVcsQ0FBQyxTQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBTSxFQUFFLENBQy9ELENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXJCLE1BQU0sR0FBRyxHQUFHLFdBQVcsT0FBTyxzQkFBc0IsVUFBVSxvQ0FBb0MsQ0FBQztJQUNuRyxNQUFNLEVBQUUsR0FBRyxNQUFNLGVBQUs7U0FDbkIsR0FBRyxDQUFZLEdBQUcsRUFBRTtRQUNuQixPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsU0FBUyxLQUFLLEVBQUUsRUFBRTtLQUN2QixDQUFDO1NBQ3ZCLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztTQUNyQixLQUFLLENBQUMsQ0FBQyxHQUFlLEVBQUUsRUFBRTtRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixHQUFHLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25FLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBRUwsTUFBTSxXQUFXLEdBQUcsRUFBRTtRQUNwQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7UUFDckQsQ0FBQyxDQUFDLEdBQUcsT0FBTyxlQUFlLFVBQVUsU0FBUyxDQUFDO0lBRWpELE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLE9BQU8sRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQWpDVyxRQUFBLGVBQWUsbUJBaUMxQiJ9
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as containerregistry from '@pulumi/azure-native/containerregistry';
|
|
2
|
+
import { DefaultResourceArgs, KeyVaultInfo, NetworkRulesProps, ResourceGroupInfo } from '../types';
|
|
3
|
+
interface Props extends DefaultResourceArgs {
|
|
4
|
+
name: string;
|
|
5
|
+
group?: ResourceGroupInfo;
|
|
6
|
+
adminUserEnabled?: boolean;
|
|
7
|
+
enableStorageAccount?: boolean;
|
|
8
|
+
vaultInfo?: KeyVaultInfo;
|
|
9
|
+
sku?: containerregistry.SkuName;
|
|
10
|
+
/**Only support Premium sku*/
|
|
11
|
+
network?: NetworkRulesProps;
|
|
12
|
+
}
|
|
13
|
+
/** The Azure Container Registry will be created at the GLobal Group.
|
|
14
|
+
* Follow ReadMe file to setup the cleaning tasks for this Registry
|
|
15
|
+
*/
|
|
16
|
+
declare const _default: ({ name, group, sku, adminUserEnabled, lock, vaultInfo, network, ...others }: Props) => {
|
|
17
|
+
name: string;
|
|
18
|
+
registry: import("@pulumi/azure-native/containerregistry/registry").Registry;
|
|
19
|
+
vaultKeyNames: {
|
|
20
|
+
userNameKey: string;
|
|
21
|
+
primaryPasswordKey: string;
|
|
22
|
+
secondaryPasswordKey: string;
|
|
23
|
+
urlKey: string;
|
|
24
|
+
};
|
|
25
|
+
locker: import("@pulumi/azure-native/authorization/managementLockByScope").ManagementLockByScope | undefined;
|
|
26
|
+
diagnostic: import("@pulumi/azure-native/aadiam/diagnosticSetting").DiagnosticSetting | undefined;
|
|
27
|
+
};
|
|
28
|
+
export default _default;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const containerregistry = require("@pulumi/azure-native/containerregistry");
|
|
4
|
+
const ResourceCreator_1 = require("../Core/ResourceCreator");
|
|
5
|
+
const global = require("../Common/GlobalEnv");
|
|
6
|
+
const Naming_1 = require("../Common/Naming");
|
|
7
|
+
const PrivateEndpoint_1 = require("../VNet/PrivateEndpoint");
|
|
8
|
+
const CustomHelper_1 = require("../KeyVault/CustomHelper");
|
|
9
|
+
/** The Azure Container Registry will be created at the GLobal Group.
|
|
10
|
+
* Follow ReadMe file to setup the cleaning tasks for this Registry
|
|
11
|
+
*/
|
|
12
|
+
exports.default = ({ name, group = global.groupInfo, sku = containerregistry.SkuName.Basic, adminUserEnabled = true, lock = true, vaultInfo, network, ...others }) => {
|
|
13
|
+
name = (0, Naming_1.getAcrName)(name);
|
|
14
|
+
const urlKey = `${name}-url`;
|
|
15
|
+
const userNameKey = `${name}-user-name`;
|
|
16
|
+
const primaryPasswordKey = (0, Naming_1.getPasswordName)(name, 'primary');
|
|
17
|
+
const secondaryPasswordKey = (0, Naming_1.getPasswordName)(name, 'secondary');
|
|
18
|
+
const { resource, diagnostic, locker } = (0, ResourceCreator_1.default)(containerregistry.Registry, {
|
|
19
|
+
registryName: name,
|
|
20
|
+
...group,
|
|
21
|
+
adminUserEnabled,
|
|
22
|
+
lock,
|
|
23
|
+
sku: { name: sku },
|
|
24
|
+
networkRuleSet: sku === 'Premium' && network
|
|
25
|
+
? {
|
|
26
|
+
defaultAction: containerregistry.DefaultAction.Allow,
|
|
27
|
+
ipRules: network.ipAddresses
|
|
28
|
+
? network.ipAddresses.map((ip) => ({ iPAddressOrRange: ip }))
|
|
29
|
+
: undefined,
|
|
30
|
+
virtualNetworkRules: network.subnetId
|
|
31
|
+
? [{ virtualNetworkResourceId: network.subnetId }]
|
|
32
|
+
: undefined,
|
|
33
|
+
}
|
|
34
|
+
: undefined,
|
|
35
|
+
...others,
|
|
36
|
+
});
|
|
37
|
+
if (sku === 'Premium' && network?.privateLink && network?.subnetId) {
|
|
38
|
+
(0, PrivateEndpoint_1.default)({
|
|
39
|
+
name: (0, Naming_1.getPrivateEndpointName)(name),
|
|
40
|
+
group,
|
|
41
|
+
privateDnsZoneName: 'privatelink.azurecr.io',
|
|
42
|
+
subnetId: network.subnetId,
|
|
43
|
+
...network.privateLink,
|
|
44
|
+
linkServiceGroupIds: ['azurecr'],
|
|
45
|
+
resourceId: resource.id,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (vaultInfo && adminUserEnabled) {
|
|
49
|
+
resource.id.apply(async (id) => {
|
|
50
|
+
//The Resource is not created in Azure yet.
|
|
51
|
+
if (!id)
|
|
52
|
+
return;
|
|
53
|
+
//Only able to gert the secret once the resource is created.
|
|
54
|
+
const keys = await containerregistry.listRegistryCredentials({
|
|
55
|
+
registryName: name,
|
|
56
|
+
resourceGroupName: global.groupInfo.resourceGroupName,
|
|
57
|
+
});
|
|
58
|
+
(0, CustomHelper_1.addCustomSecret)({
|
|
59
|
+
name: urlKey,
|
|
60
|
+
value: `https://${name}.azurecr.io`,
|
|
61
|
+
vaultInfo,
|
|
62
|
+
contentType: 'Container Registry',
|
|
63
|
+
dependsOn: resource,
|
|
64
|
+
});
|
|
65
|
+
(0, CustomHelper_1.addCustomSecret)({
|
|
66
|
+
name: userNameKey,
|
|
67
|
+
value: keys.username,
|
|
68
|
+
vaultInfo,
|
|
69
|
+
contentType: 'Container Registry',
|
|
70
|
+
dependsOn: resource,
|
|
71
|
+
});
|
|
72
|
+
(0, CustomHelper_1.addCustomSecret)({
|
|
73
|
+
name: primaryPasswordKey,
|
|
74
|
+
formattedName: true,
|
|
75
|
+
value: keys.passwords[0].value,
|
|
76
|
+
vaultInfo,
|
|
77
|
+
contentType: 'Container Registry',
|
|
78
|
+
dependsOn: resource,
|
|
79
|
+
});
|
|
80
|
+
(0, CustomHelper_1.addCustomSecret)({
|
|
81
|
+
name: secondaryPasswordKey,
|
|
82
|
+
formattedName: true,
|
|
83
|
+
value: keys.passwords[1].value,
|
|
84
|
+
vaultInfo,
|
|
85
|
+
contentType: 'Container Registry',
|
|
86
|
+
dependsOn: resource,
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
name,
|
|
92
|
+
registry: resource,
|
|
93
|
+
vaultKeyNames: {
|
|
94
|
+
userNameKey,
|
|
95
|
+
primaryPasswordKey,
|
|
96
|
+
secondaryPasswordKey,
|
|
97
|
+
urlKey,
|
|
98
|
+
},
|
|
99
|
+
locker,
|
|
100
|
+
diagnostic,
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29udGFpbmVyUmVnaXN0cnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0RUFBNEU7QUFPNUUsNkRBQThDO0FBQzlDLDhDQUE4QztBQUM5Qyw2Q0FJMEI7QUFDMUIsNkRBQXNEO0FBQ3RELDJEQUEyRDtBQWEzRDs7R0FFRztBQUNILGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQ3hCLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUNyQyxnQkFBZ0IsR0FBRyxJQUFJLEVBQ3ZCLElBQUksR0FBRyxJQUFJLEVBQ1gsU0FBUyxFQUNULE9BQU8sRUFDUCxHQUFHLE1BQU0sRUFDSCxFQUFFLEVBQUU7SUFDVixJQUFJLEdBQUcsSUFBQSxtQkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBRXhCLE1BQU0sTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7SUFDN0IsTUFBTSxXQUFXLEdBQUcsR0FBRyxJQUFJLFlBQVksQ0FBQztJQUN4QyxNQUFNLGtCQUFrQixHQUFHLElBQUEsd0JBQWUsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFBLHdCQUFlLEVBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEseUJBQU8sRUFDOUMsaUJBQWlCLENBQUMsUUFBUSxFQUMxQjtRQUNFLFlBQVksRUFBRSxJQUFJO1FBQ2xCLEdBQUcsS0FBSztRQUVSLGdCQUFnQjtRQUNoQixJQUFJO1FBQ0osR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRTtRQUNsQixjQUFjLEVBQ1osR0FBRyxLQUFLLFNBQVMsSUFBSSxPQUFPO1lBQzFCLENB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
|
package/Core/Helper.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface AzureResourceItem {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
location: string;
|
|
5
|
+
resourceGroupName: string;
|
|
6
|
+
tags: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export interface AzureResourceResult {
|
|
11
|
+
value: Array<AzureResourceItem>;
|
|
12
|
+
}
|
|
13
|
+
/** Find a NetworkSecurityGroups in a Resource Group*/
|
|
14
|
+
export declare const findNetworkSecurityGroups: (group: string) => Promise<AzureResourceItem[] | undefined>;
|
|
15
|
+
/** Find VM Scale set in a Resource Group */
|
|
16
|
+
export declare const findVMScaleSet: (group: string) => Promise<AzureResourceItem[] | undefined>;
|
package/Core/Helper.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findVMScaleSet = exports.findNetworkSecurityGroups = void 0;
|
|
4
|
+
const Axios_1 = require("@drunk-pulumi/azure-providers/Tools/Axios");
|
|
5
|
+
/** Find a NetworkSecurityGroups in a Resource Group*/
|
|
6
|
+
const findNetworkSecurityGroups = async (group) => {
|
|
7
|
+
const axios = (0, Axios_1.createAxios)();
|
|
8
|
+
try {
|
|
9
|
+
const url = `/resourceGroups/${group}/providers/Microsoft.Network/networkSecurityGroups?api-version=2020-05-01`;
|
|
10
|
+
const rs = await axios.get(url).then((rs) => rs.data);
|
|
11
|
+
return rs.value.map((i) => {
|
|
12
|
+
i.resourceGroupName = group;
|
|
13
|
+
return i;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
exports.findNetworkSecurityGroups = findNetworkSecurityGroups;
|
|
21
|
+
/** Find VM Scale set in a Resource Group */
|
|
22
|
+
const findVMScaleSet = async (group) => {
|
|
23
|
+
const axios = (0, Axios_1.createAxios)();
|
|
24
|
+
try {
|
|
25
|
+
const url = `/resourceGroups/${group}/providers/Microsoft.Compute/virtualMachineScaleSets?api-version=2020-06-01`;
|
|
26
|
+
const rs = await axios.get(url).then((rs) => rs.data);
|
|
27
|
+
return rs.value.map((i) => {
|
|
28
|
+
i.resourceGroupName = group;
|
|
29
|
+
return i;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.findVMScaleSet = findVMScaleSet;
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvcmUvSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFzRTtBQWdCdEUsc0RBQXNEO0FBQy9DLE1BQU0seUJBQXlCLEdBQUcsS0FBSyxFQUFFLEtBQWEsRUFBRSxFQUFFO0lBQy9ELE1BQU0sS0FBSyxHQUFHLElBQUEsbUJBQVcsR0FBRSxDQUFDO0lBQzVCLElBQUksQ0FBQztRQUNILE1BQU0sR0FBRyxHQUFHLG1CQUFtQixLQUFLLDJFQUEyRSxDQUFDO1FBQ2hILE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBc0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0UsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hCLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDNUIsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUMsQ0FBQztBQWJXLFFBQUEseUJBQXlCLDZCQWFwQztBQUVGLDRDQUE0QztBQUNyQyxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsS0FBYSxFQUFFLEVBQUU7SUFDcEQsTUFBTSxLQUFLLEdBQUcsSUFBQSxtQkFBVyxHQUFFLENBQUM7SUFDNUIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsbUJBQW1CLEtBQUssNkVBQTZFLENBQUM7UUFDbEgsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUM1QixPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBYlcsUUFBQSxjQUFjLGtCQWF6QiJ9
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { KeyVaultInfo } from '../types';
|
|
2
|
+
import { SshKeyResource } from '@drunk-pulumi/azure-providers/SshKeyGenerator';
|
|
3
|
+
import { LoginProps } from './Random';
|
|
4
|
+
import { PGPProps, PGPResource } from '@drunk-pulumi/azure-providers/PGPGenerator';
|
|
5
|
+
export declare const generateSsh: ({ name, loginPrefix, maxUserNameLength, passwordOptions, vaultInfo, }: LoginProps & {
|
|
6
|
+
vaultInfo: KeyVaultInfo;
|
|
7
|
+
}) => {
|
|
8
|
+
userName: import("@pulumi/pulumi").Output<string>;
|
|
9
|
+
ssh: SshKeyResource;
|
|
10
|
+
password: import("@pulumi/pulumi").Output<string>;
|
|
11
|
+
vaultNames: {
|
|
12
|
+
passwordKeyName: string;
|
|
13
|
+
publicKeyName: string;
|
|
14
|
+
privateKeyName: string;
|
|
15
|
+
};
|
|
16
|
+
lists: {
|
|
17
|
+
getUserName: () => Promise<string | undefined>;
|
|
18
|
+
getPublicKey: () => Promise<string | undefined>;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export declare const generatePGP: ({ name, options, vaultInfo, }: {
|
|
22
|
+
name: string;
|
|
23
|
+
vaultInfo: KeyVaultInfo;
|
|
24
|
+
options: PGPProps;
|
|
25
|
+
}) => {
|
|
26
|
+
name: string;
|
|
27
|
+
pgp: PGPResource;
|
|
28
|
+
lists: {
|
|
29
|
+
getPublicKey: () => Promise<string | undefined>;
|
|
30
|
+
getPrivateKey: () => Promise<string | undefined>;
|
|
31
|
+
getRevocationCertificate: () => Promise<string | undefined>;
|
|
32
|
+
};
|
|
33
|
+
};
|