@drunk-pulumi/azure 0.0.37 → 0.0.39
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 +6 -11
- package/Aks/Helper.js +40 -65
- package/Aks/Identity.d.ts +3 -10
- package/Aks/Identity.js +9 -8
- package/Aks/index.d.ts +67 -71
- package/Aks/index.js +198 -314
- package/Apim/ApiProduct/PolicyBuilder.js +25 -27
- package/Apim/ApiProduct/SwaggerHelper.js +1 -3
- package/Apim/ApiProduct/index.d.ts +3 -3
- package/Apim/ApiProduct/index.js +1 -2
- package/Automation/index.d.ts +7 -0
- package/Automation/index.js +55 -0
- package/AzAd/EnvRoles.Consts.d.ts +12 -0
- package/AzAd/EnvRoles.Consts.js +125 -0
- package/AzAd/EnvRoles.d.ts +17 -15
- package/AzAd/EnvRoles.js +69 -47
- package/AzAd/GraphDefinition.d.ts +2 -2
- package/AzAd/GraphDefinition.js +3055 -3056
- package/AzAd/Helper.d.ts +24 -13
- package/AzAd/Helper.js +98 -25
- package/AzAd/Identities/AzDevOpsIdentity.d.ts +12 -0
- package/AzAd/Identities/AzDevOpsIdentity.js +32 -0
- package/AzAd/Identities/AzDevOpsManagedIdentity.d.ts +7 -0
- package/AzAd/Identities/AzDevOpsManagedIdentity.js +15 -0
- package/AzAd/Identities/AzUserAdRevertSync.d.ts +2 -9
- package/AzAd/Identities/AzUserAdRevertSync.js +4 -5
- package/AzAd/Identities/index.d.ts +3 -0
- package/AzAd/Identities/index.js +10 -0
- package/AzAd/Identity.d.ts +10 -22
- package/AzAd/Identity.js +50 -61
- package/AzAd/Role.d.ts +2 -3
- package/AzAd/Role.js +4 -5
- package/AzAd/RoleAssignment.d.ts +34 -5
- package/AzAd/RoleAssignment.js +2 -2
- package/AzAd/RoleDefinitions/JustInTimeRequestRole.d.ts +2 -0
- package/AzAd/RoleDefinitions/JustInTimeRequestRole.js +24 -0
- package/AzAd/RolesBuiltIn.d.ts +29 -0
- package/AzAd/RolesBuiltIn.js +13034 -8058
- package/AzAd/UserAssignedIdentity.d.ts +6 -0
- package/AzAd/UserAssignedIdentity.js +27 -0
- package/Builder/AksBuilder.d.ts +3 -0
- package/Builder/AksBuilder.js +95 -0
- package/Builder/ResourceBuilder.d.ts +3 -0
- package/Builder/ResourceBuilder.js +116 -0
- package/Builder/VnetBuilder.d.ts +3 -0
- package/Builder/VnetBuilder.js +279 -0
- package/Builder/index.d.ts +4 -0
- package/Builder/index.js +21 -0
- package/Builder/types/askBuilder.d.ts +32 -0
- package/Builder/types/askBuilder.js +3 -0
- package/Builder/types/genericBuilder.d.ts +26 -0
- package/Builder/types/genericBuilder.js +18 -0
- package/Builder/types/index.d.ts +4 -0
- package/Builder/types/index.js +21 -0
- package/Builder/types/resourceBuilder.d.ts +24 -0
- package/Builder/types/resourceBuilder.js +3 -0
- package/Builder/types/vnetBuilder.d.ts +65 -0
- package/Builder/types/vnetBuilder.js +3 -0
- package/Certificate/index.d.ts +1 -1
- package/Certificate/index.js +26 -28
- package/Common/AutoTags.js +2 -2
- package/Common/AzureEnv.d.ts +4 -3
- package/Common/AzureEnv.js +31 -24
- package/Common/GlobalEnv.d.ts +1 -2
- package/Common/GlobalEnv.js +7 -7
- package/Common/Location.d.ts +3 -3
- package/Common/Location.js +22 -9
- package/Common/LocationBuiltIn.d.ts +6 -81
- package/Common/LocationBuiltIn.js +491 -1923
- package/Common/Naming/index.d.ts +6 -4
- package/Common/Naming/index.js +64 -60
- package/Common/ResourceEnv.d.ts +2 -2
- package/Common/ResourceEnv.js +11 -10
- package/Common/StackEnv.js +2 -9
- package/Core/KeyGenetators.d.ts +16 -20
- package/Core/KeyGenetators.js +17 -16
- package/Core/Random.d.ts +4 -4
- package/Core/Random.js +10 -10
- package/Core/ResourceGroup.d.ts +13 -6
- package/Core/ResourceGroup.js +12 -24
- package/IOT/Hub/index.d.ts +4 -8
- package/IOT/Hub/index.js +19 -54
- package/KeyVault/Helper.d.ts +8 -6
- package/KeyVault/Helper.js +13 -19
- package/KeyVault/index.d.ts +1 -3
- package/KeyVault/index.js +2 -26
- package/Logs/Helpers.d.ts +35 -25
- package/Logs/Helpers.js +33 -20
- package/Logs/LogAnalytics.d.ts +2 -2
- package/Logs/LogAnalytics.js +15 -6
- package/Logs/index.d.ts +3 -3
- package/Logs/index.js +4 -4
- package/MySql/index.d.ts +2 -3
- package/MySql/index.js +16 -19
- package/{ReadMe.md → README.md} +6 -1
- package/Sql/index.d.ts +15 -9
- package/Sql/index.js +39 -41
- package/Storage/CdnEndpoint.d.ts +2 -2
- package/Storage/CdnEndpoint.js +14 -15
- package/Storage/Helper.d.ts +2 -2
- package/Storage/Helper.js +6 -6
- package/Storage/ManagementRules.d.ts +5 -23
- package/Storage/ManagementRules.js +3 -3
- package/Storage/index.d.ts +3 -3
- package/Storage/index.js +28 -28
- package/VM/AzureDevOpsExtension.d.ts +16 -0
- package/VM/AzureDevOpsExtension.js +14 -0
- package/VM/Extension.d.ts +15 -0
- package/VM/Extension.js +13 -0
- package/VM/GlobalSchedule.d.ts +10 -0
- package/VM/GlobalSchedule.js +20 -0
- package/VM/index.d.ts +18 -18
- package/VM/index.js +94 -57
- package/VNet/Bastion.d.ts +4 -4
- package/VNet/Bastion.js +12 -8
- package/VNet/Firewall.d.ts +19 -12
- package/VNet/Firewall.js +59 -40
- package/VNet/FirewallPolicies/AksFirewallPolicy.d.ts +16 -16
- package/VNet/FirewallPolicies/AksFirewallPolicy.js +193 -220
- package/VNet/FirewallPolicies/CloudPCFirewallPolicy.d.ts +12 -10
- package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +170 -282
- package/VNet/FirewallPolicies/DefaultFirewallPolicy.d.ts +3 -0
- package/VNet/FirewallPolicies/DefaultFirewallPolicy.js +25 -0
- package/VNet/FirewallPolicies/index.d.ts +4 -0
- package/VNet/FirewallPolicies/index.js +10 -0
- package/VNet/FirewallPolicy.d.ts +14 -11
- package/VNet/FirewallPolicy.js +67 -74
- package/VNet/FirewallRules/AksFirewallRules.d.ts +4 -3
- package/VNet/FirewallRules/AksFirewallRules.js +101 -100
- package/VNet/Helper.d.ts +8 -4
- package/VNet/Helper.js +42 -35
- package/VNet/IpAddress.d.ts +6 -8
- package/VNet/IpAddress.js +6 -11
- package/VNet/IpAddressPrefix.d.ts +12 -9
- package/VNet/IpAddressPrefix.js +14 -13
- package/VNet/NSGRules/AppGatewaySecurityRule.d.ts +9 -0
- package/VNet/NSGRules/AppGatewaySecurityRule.js +46 -0
- package/VNet/NSGRules/AzADSecurityRule.d.ts +6 -0
- package/VNet/NSGRules/AzADSecurityRule.js +39 -0
- package/VNet/NSGRules/BastionSecurityRule.d.ts +9 -0
- package/VNet/NSGRules/BastionSecurityRule.js +93 -0
- package/VNet/NatGateway.d.ts +10 -0
- package/VNet/NatGateway.js +21 -0
- package/VNet/NetworkPeering.d.ts +7 -7
- package/VNet/NetworkPeering.js +29 -20
- package/VNet/PrivateDns.d.ts +8 -10
- package/VNet/PrivateDns.js +12 -14
- package/VNet/PrivateEndpoint.js +5 -2
- package/VNet/RouteTable.d.ts +7 -8
- package/VNet/RouteTable.js +6 -6
- package/VNet/SecurityGroup.d.ts +4 -4
- package/VNet/SecurityGroup.js +7 -3
- package/VNet/Subnet.d.ts +10 -7
- package/VNet/Subnet.js +4 -3
- package/VNet/VPNGateway.d.ts +13 -0
- package/VNet/VPNGateway.js +73 -0
- package/VNet/VirtualWAN.d.ts +7 -10
- package/VNet/VirtualWAN.js +1 -1
- package/VNet/Vnet.d.ts +29 -23
- package/VNet/Vnet.js +58 -121
- package/VNet/index.d.ts +17 -18
- package/VNet/index.js +41 -54
- package/VNet/types.d.ts +94 -0
- package/VNet/types.js +3 -0
- package/Web/types.d.ts +2 -134
- package/package.json +8 -8
- package/types.d.ts +22 -8
- package/z_tests/_tools/Mocks.js +12 -13
- package/Automation/AutoAccount.d.ts +0 -5
- package/Automation/AutoAccount.js +0 -18
- package/AzAd/Identities/AzDevOps.d.ts +0 -23
- package/AzAd/Identities/AzDevOps.js +0 -61
- package/AzAd/KeyVaultRoles.d.ts +0 -8
- package/AzAd/KeyVaultRoles.js +0 -53
- package/AzAd/ManagedIdentity.d.ts +0 -6
- package/AzAd/ManagedIdentity.js +0 -20
- package/AzAd/UserIdentity.d.ts +0 -5
- package/AzAd/UserIdentity.js +0 -12
- package/Common/Naming/AzureRegions.d.ts +0 -4
- package/Common/Naming/AzureRegions.js +0 -49
- package/KeyVault/VaultPermissions.d.ts +0 -27
- package/KeyVault/VaultPermissions.js +0 -226
- package/VNet/FirewallRules/types.d.ts +0 -20
- package/VNet/FirewallRules/types.js +0 -5
- package/VNet/NSGRules/AzADService.d.ts +0 -10
- package/VNet/NSGRules/AzADService.js +0 -45
package/VNet/types.d.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { enums, input as inputs } from "@pulumi/azure-native/types";
|
|
2
|
+
import { Input, Output } from "@pulumi/pulumi";
|
|
3
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
4
|
+
export type VnetInfoType = {
|
|
5
|
+
vnetName: Input<string>;
|
|
6
|
+
resourceGroupName: Input<string>;
|
|
7
|
+
subscriptionId?: Input<string>;
|
|
8
|
+
};
|
|
9
|
+
export interface RouteArgs {
|
|
10
|
+
name?: Input<string>;
|
|
11
|
+
addressPrefix?: pulumi.Input<string>;
|
|
12
|
+
hasBgpOverride?: pulumi.Input<boolean>;
|
|
13
|
+
nextHopIpAddress?: pulumi.Input<string>;
|
|
14
|
+
nextHopType: pulumi.Input<string | enums.network.RouteNextHopType>;
|
|
15
|
+
}
|
|
16
|
+
export interface CustomSecurityRuleArgs {
|
|
17
|
+
access: pulumi.Input<string | enums.network.SecurityRuleAccess>;
|
|
18
|
+
description?: pulumi.Input<string>;
|
|
19
|
+
destinationAddressPrefix?: pulumi.Input<string>;
|
|
20
|
+
destinationAddressPrefixes?: pulumi.Input<pulumi.Input<string>[]>;
|
|
21
|
+
destinationApplicationSecurityGroups?: pulumi.Input<pulumi.Input<inputs.network.ApplicationSecurityGroupArgs>[]>;
|
|
22
|
+
destinationPortRange?: pulumi.Input<string>;
|
|
23
|
+
destinationPortRanges?: pulumi.Input<pulumi.Input<string>[]>;
|
|
24
|
+
direction: pulumi.Input<string | enums.network.SecurityRuleDirection>;
|
|
25
|
+
name?: pulumi.Input<string>;
|
|
26
|
+
priority: pulumi.Input<number>;
|
|
27
|
+
protocol: pulumi.Input<string | enums.network.SecurityRuleProtocol>;
|
|
28
|
+
sourceAddressPrefix?: pulumi.Input<string>;
|
|
29
|
+
sourceAddressPrefixes?: pulumi.Input<pulumi.Input<string>[]>;
|
|
30
|
+
sourceApplicationSecurityGroups?: pulumi.Input<pulumi.Input<inputs.network.ApplicationSecurityGroupArgs>[]>;
|
|
31
|
+
sourcePortRange?: pulumi.Input<string>;
|
|
32
|
+
sourcePortRanges?: pulumi.Input<pulumi.Input<string>[]>;
|
|
33
|
+
type?: pulumi.Input<string>;
|
|
34
|
+
}
|
|
35
|
+
export interface NatRuleArgs {
|
|
36
|
+
description?: Input<string>;
|
|
37
|
+
destinationAddresses?: Input<Input<string>[]>;
|
|
38
|
+
destinationPorts?: Input<Input<string>[]>;
|
|
39
|
+
ipProtocols?: Input<Input<string | enums.network.FirewallPolicyRuleNetworkProtocol>[]>;
|
|
40
|
+
name?: Input<string>;
|
|
41
|
+
ruleType: Input<"NatRule">;
|
|
42
|
+
sourceAddresses?: Input<Input<string>[]>;
|
|
43
|
+
sourceIpGroups?: Input<Input<string>[]>;
|
|
44
|
+
translatedAddress?: Input<string>;
|
|
45
|
+
translatedFqdn?: Input<string>;
|
|
46
|
+
translatedPort?: Input<string>;
|
|
47
|
+
}
|
|
48
|
+
export interface NetworkRuleArgs {
|
|
49
|
+
description?: Input<string>;
|
|
50
|
+
destinationAddresses?: Input<Input<string>[]>;
|
|
51
|
+
destinationFqdns?: Input<Input<string>[]>;
|
|
52
|
+
destinationIpGroups?: Input<Input<string>[]>;
|
|
53
|
+
destinationPorts?: Input<Input<string>[]>;
|
|
54
|
+
ipProtocols?: Input<Input<string | enums.network.FirewallPolicyRuleNetworkProtocol>[]>;
|
|
55
|
+
name?: Input<string>;
|
|
56
|
+
ruleType: Input<"NetworkRule">;
|
|
57
|
+
sourceAddresses?: Input<Input<string>[]>;
|
|
58
|
+
sourceIpGroups?: Input<Input<string>[]>;
|
|
59
|
+
}
|
|
60
|
+
export interface ApplicationRuleArgs {
|
|
61
|
+
description?: Input<string>;
|
|
62
|
+
fqdnTags?: Input<Input<string>[]>;
|
|
63
|
+
httpHeadersToInsert?: Input<Input<inputs.network.FirewallPolicyHttpHeaderToInsertArgs>[]>;
|
|
64
|
+
name?: Input<string>;
|
|
65
|
+
protocols?: Input<Input<inputs.network.FirewallPolicyRuleApplicationProtocolArgs>[]>;
|
|
66
|
+
ruleType: Input<"ApplicationRule">;
|
|
67
|
+
sourceAddresses?: Input<Input<string>[]>;
|
|
68
|
+
sourceIpGroups?: Input<Input<string>[]>;
|
|
69
|
+
targetFqdns?: Input<Input<string>[]>;
|
|
70
|
+
targetUrls?: Input<Input<string>[]>;
|
|
71
|
+
terminateTLS?: Input<boolean>;
|
|
72
|
+
webCategories?: Input<Input<string>[]>;
|
|
73
|
+
}
|
|
74
|
+
export type FirewallPolicyRuleCollectionResults = {
|
|
75
|
+
name: string;
|
|
76
|
+
priority: number;
|
|
77
|
+
ruleCollections: Input<Input<inputs.network.FirewallPolicyFilterRuleCollectionArgs | inputs.network.FirewallPolicyNatRuleCollectionArgs>[]>;
|
|
78
|
+
};
|
|
79
|
+
export type FirewallPolicyResults = {
|
|
80
|
+
name: string;
|
|
81
|
+
dnatRules?: Array<Input<NatRuleArgs>>;
|
|
82
|
+
netRules?: Array<Input<NetworkRuleArgs>>;
|
|
83
|
+
appRules?: Array<Input<ApplicationRuleArgs>>;
|
|
84
|
+
};
|
|
85
|
+
export interface FirewallPolicyProps {
|
|
86
|
+
/**These props for create new policy*/
|
|
87
|
+
parentPolicyId?: Output<string>;
|
|
88
|
+
rules?: FirewallPolicyRuleCollectionResults[];
|
|
89
|
+
}
|
|
90
|
+
export interface FirewallRuleResults {
|
|
91
|
+
applicationRuleCollections?: inputs.network.AzureFirewallApplicationRuleCollectionArgs[];
|
|
92
|
+
natRuleCollections?: inputs.network.AzureFirewallNatRuleCollectionArgs[];
|
|
93
|
+
networkRuleCollections?: inputs.network.AzureFirewallNetworkRuleCollectionArgs[];
|
|
94
|
+
}
|
package/VNet/types.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVk5ldC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
package/Web/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as pulumi from
|
|
2
|
-
import { ConnectionStringType } from
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import { ConnectionStringType } from "@pulumi/azure-native/types/enums/web";
|
|
3
3
|
export interface NameValuePairArgs {
|
|
4
4
|
name: pulumi.Input<string>;
|
|
5
5
|
value: pulumi.Input<string>;
|
|
@@ -14,155 +14,23 @@ interface CorsSettingsArgs {
|
|
|
14
14
|
supportCredentials?: pulumi.Input<boolean>;
|
|
15
15
|
}
|
|
16
16
|
export interface SiteConfigArgs {
|
|
17
|
-
/**
|
|
18
|
-
* Always On
|
|
19
|
-
*/
|
|
20
17
|
alwaysOn?: pulumi.Input<boolean>;
|
|
21
|
-
/**
|
|
22
|
-
* Information about the formal API definition for the web app.
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* App Command Line to launch
|
|
26
|
-
*/
|
|
27
18
|
appCommandLine?: pulumi.Input<string>;
|
|
28
|
-
/**
|
|
29
|
-
* Application Settings
|
|
30
|
-
*/
|
|
31
19
|
appSettings?: pulumi.Input<pulumi.Input<NameValuePairArgs>[]>;
|
|
32
|
-
/**
|
|
33
|
-
* Auto heal enabled
|
|
34
|
-
*/
|
|
35
20
|
autoHealEnabled?: pulumi.Input<boolean>;
|
|
36
|
-
/**
|
|
37
|
-
* Auto heal rules
|
|
38
|
-
*/
|
|
39
|
-
/**
|
|
40
|
-
* Auto swap slot name
|
|
41
|
-
*/
|
|
42
|
-
/**
|
|
43
|
-
* Connection strings
|
|
44
|
-
*/
|
|
45
21
|
connectionStrings?: pulumi.Input<pulumi.Input<ConnStringInfoArgs>[]>;
|
|
46
|
-
/**
|
|
47
|
-
* Cross-Origin Resource Sharing (CORS) settings.
|
|
48
|
-
*/
|
|
49
22
|
cors?: pulumi.Input<CorsSettingsArgs>;
|
|
50
|
-
/**
|
|
51
|
-
* Default documents
|
|
52
|
-
*/
|
|
53
23
|
defaultDocuments?: pulumi.Input<pulumi.Input<string>[]>;
|
|
54
|
-
/**
|
|
55
|
-
* Detailed error logging enabled
|
|
56
|
-
*/
|
|
57
24
|
detailedErrorLoggingEnabled?: pulumi.Input<boolean>;
|
|
58
|
-
/**
|
|
59
|
-
* Document root
|
|
60
|
-
*/
|
|
61
25
|
documentRoot?: pulumi.Input<string>;
|
|
62
|
-
/**
|
|
63
|
-
* This is work around for polymorphic types
|
|
64
|
-
*/
|
|
65
|
-
/**
|
|
66
|
-
* Handler mappings
|
|
67
|
-
*/
|
|
68
|
-
/**
|
|
69
|
-
* HTTP logging Enabled
|
|
70
|
-
*/
|
|
71
|
-
/**
|
|
72
|
-
* Resource Id
|
|
73
|
-
*/
|
|
74
|
-
/**
|
|
75
|
-
* Ip Security restrictions
|
|
76
|
-
*/
|
|
77
|
-
/**
|
|
78
|
-
* Site limits
|
|
79
|
-
*/
|
|
80
|
-
/**
|
|
81
|
-
* Site load balancing
|
|
82
|
-
*/
|
|
83
|
-
/**
|
|
84
|
-
* Local mysql enabled
|
|
85
|
-
*/
|
|
86
|
-
/**
|
|
87
|
-
* Resource Location
|
|
88
|
-
*/
|
|
89
|
-
/**
|
|
90
|
-
* HTTP Logs Directory size limit
|
|
91
|
-
*/
|
|
92
|
-
/**
|
|
93
|
-
* Managed pipeline mode
|
|
94
|
-
*/
|
|
95
|
-
/**
|
|
96
|
-
* Site Metadata
|
|
97
|
-
*/
|
|
98
|
-
/**
|
|
99
|
-
* Resource Name
|
|
100
|
-
*/
|
|
101
|
-
/**
|
|
102
|
-
* Net Framework Version
|
|
103
|
-
*/
|
|
104
|
-
/**
|
|
105
|
-
* Version of Node
|
|
106
|
-
*/
|
|
107
26
|
nodeVersion?: pulumi.Input<string>;
|
|
108
|
-
/**
|
|
109
|
-
* Number of workers
|
|
110
|
-
*/
|
|
111
27
|
numberOfWorkers?: pulumi.Input<number>;
|
|
112
|
-
/**
|
|
113
|
-
* Version of PHP
|
|
114
|
-
*/
|
|
115
|
-
/**
|
|
116
|
-
* Publishing password
|
|
117
|
-
*/
|
|
118
|
-
/**
|
|
119
|
-
* Publishing user name
|
|
120
|
-
*/
|
|
121
|
-
/**
|
|
122
|
-
* Version of Python
|
|
123
|
-
*/
|
|
124
|
-
/**
|
|
125
|
-
* Remote Debugging Enabled
|
|
126
|
-
*/
|
|
127
28
|
remoteDebuggingEnabled?: pulumi.Input<boolean>;
|
|
128
|
-
/**
|
|
129
|
-
* Remote Debugging Version
|
|
130
|
-
*/
|
|
131
29
|
remoteDebuggingVersion?: pulumi.Input<string>;
|
|
132
|
-
/**
|
|
133
|
-
* Enable request tracing
|
|
134
|
-
*/
|
|
135
30
|
requestTracingEnabled?: pulumi.Input<boolean>;
|
|
136
|
-
/**
|
|
137
|
-
* Request tracing expiration time
|
|
138
|
-
*/
|
|
139
31
|
requestTracingExpirationTime?: pulumi.Input<string>;
|
|
140
|
-
/**
|
|
141
|
-
* SCM type
|
|
142
|
-
*/
|
|
143
32
|
scmType?: pulumi.Input<string>;
|
|
144
|
-
/**
|
|
145
|
-
* Resource tags
|
|
146
|
-
*/
|
|
147
|
-
/**
|
|
148
|
-
* Tracing options
|
|
149
|
-
*/
|
|
150
33
|
tracingOptions?: pulumi.Input<string>;
|
|
151
|
-
/**
|
|
152
|
-
* Resource type
|
|
153
|
-
*/
|
|
154
|
-
/**
|
|
155
|
-
* Use 32 bit worker process
|
|
156
|
-
*/
|
|
157
|
-
/**
|
|
158
|
-
* Virtual applications
|
|
159
|
-
*/
|
|
160
|
-
/**
|
|
161
|
-
* Vnet name
|
|
162
|
-
*/
|
|
163
|
-
/**
|
|
164
|
-
* Web socket enabled.
|
|
165
|
-
*/
|
|
166
34
|
webSocketsEnabled?: pulumi.Input<boolean>;
|
|
167
35
|
linuxFxVersion?: pulumi.Input<string>;
|
|
168
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@drunk-pulumi/azure",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.39",
|
|
4
4
|
"author": "drunkcoding@outlook.com",
|
|
5
5
|
"description": "The custom helpers pulumi-azure",
|
|
6
6
|
"license": "MIT",
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
"url": "https://github.com/baoduy/drunk-pulumi-azure.git"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@drunk-pulumi/azure-providers": "^0.0.
|
|
21
|
-
"@pulumi/azure-native": "^2.
|
|
22
|
-
"@pulumi/azuread": "5.
|
|
23
|
-
"@pulumi/pulumi": "^3.
|
|
24
|
-
"@pulumi/random": "^4.16.
|
|
25
|
-
"@pulumi/tls": "^5.0.
|
|
26
|
-
"axios": "^1.
|
|
20
|
+
"@drunk-pulumi/azure-providers": "^0.0.9",
|
|
21
|
+
"@pulumi/azure-native": "^2.43.1",
|
|
22
|
+
"@pulumi/azuread": "5.50.0",
|
|
23
|
+
"@pulumi/pulumi": "^3.118.0",
|
|
24
|
+
"@pulumi/random": "^4.16.2",
|
|
25
|
+
"@pulumi/tls": "^5.0.3",
|
|
26
|
+
"axios": "^1.7.2",
|
|
27
27
|
"netmask": "^2.0.2",
|
|
28
28
|
"node-forge": "^1.3.1",
|
|
29
29
|
"to-words": "^4.0.1"
|
package/types.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { Input, Output, Resource } from
|
|
2
|
-
import * as authorization from
|
|
3
|
-
import { DiagnosticSetting } from
|
|
1
|
+
import { Input, Output, Resource } from "@pulumi/pulumi";
|
|
2
|
+
import * as authorization from "@pulumi/azure-native/authorization";
|
|
3
|
+
import { DiagnosticSetting } from "@pulumi/azure-native/aadiam/diagnosticSetting";
|
|
4
|
+
import { EnvRoleKeyTypes } from "./AzAd/EnvRoles";
|
|
4
5
|
export interface BasicArgs {
|
|
5
6
|
dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
|
|
7
|
+
importUri?: string;
|
|
8
|
+
ignoreChanges?: string[];
|
|
6
9
|
}
|
|
7
10
|
export interface ResourceGroupInfo {
|
|
8
11
|
resourceGroupName: string;
|
|
@@ -22,7 +25,7 @@ export interface PrivateLinkProps {
|
|
|
22
25
|
}
|
|
23
26
|
export interface NetworkRulesProps {
|
|
24
27
|
subnetId?: Input<string>;
|
|
25
|
-
privateLink?: Omit<PrivateLinkProps,
|
|
28
|
+
privateLink?: Omit<PrivateLinkProps, "subnetId">;
|
|
26
29
|
ipAddresses?: Input<string>[];
|
|
27
30
|
}
|
|
28
31
|
export interface BasicMonitorArgs extends BasicArgs {
|
|
@@ -35,12 +38,17 @@ export interface DiagnosticProps extends BasicMonitorArgs {
|
|
|
35
38
|
metricsCategories?: string[];
|
|
36
39
|
logsCategories?: string[];
|
|
37
40
|
}
|
|
41
|
+
export type ResourceType = {
|
|
42
|
+
name: string;
|
|
43
|
+
groupName: string;
|
|
44
|
+
formattedName?: boolean;
|
|
45
|
+
};
|
|
38
46
|
export interface ResourceInfo {
|
|
39
47
|
resourceName: string;
|
|
40
48
|
group: ResourceGroupInfo;
|
|
41
49
|
id: Output<string>;
|
|
42
50
|
}
|
|
43
|
-
export interface ApimInfo extends Omit<ResourceInfo,
|
|
51
|
+
export interface ApimInfo extends Omit<ResourceInfo, "resourceName" | "id"> {
|
|
44
52
|
serviceName: string;
|
|
45
53
|
}
|
|
46
54
|
export interface BasicResourceArgs extends BasicArgs {
|
|
@@ -49,9 +57,7 @@ export interface BasicResourceArgs extends BasicArgs {
|
|
|
49
57
|
}
|
|
50
58
|
export interface DefaultResourceArgs extends BasicArgs {
|
|
51
59
|
lock?: boolean;
|
|
52
|
-
monitoring?: Omit<DiagnosticProps,
|
|
53
|
-
importUri?: string;
|
|
54
|
-
ignoreChanges?: string[];
|
|
60
|
+
monitoring?: Omit<DiagnosticProps, "name" | "targetResourceId">;
|
|
55
61
|
}
|
|
56
62
|
export interface BasicResourceResultProps<TClass> {
|
|
57
63
|
name: string;
|
|
@@ -69,3 +75,11 @@ export interface KeyVaultInfo {
|
|
|
69
75
|
export interface AppInsightInfo extends ResourceInfo {
|
|
70
76
|
instrumentationKey: Input<string>;
|
|
71
77
|
}
|
|
78
|
+
export type IdentityRoleAssignment = {
|
|
79
|
+
vaultInfo?: KeyVaultInfo;
|
|
80
|
+
roles?: Array<{
|
|
81
|
+
name: string;
|
|
82
|
+
scope: Input<string>;
|
|
83
|
+
}>;
|
|
84
|
+
envRole?: EnvRoleKeyTypes;
|
|
85
|
+
};
|
package/z_tests/_tools/Mocks.js
CHANGED
|
@@ -6,7 +6,7 @@ const tryFindName = (props) => {
|
|
|
6
6
|
if (!name) {
|
|
7
7
|
const keys = Object.keys(props);
|
|
8
8
|
//Try to find the name that is not a resourceGroupName
|
|
9
|
-
let key = keys.find((k) => k.endsWith(
|
|
9
|
+
let key = keys.find((k) => k.endsWith("Name"));
|
|
10
10
|
if (key) {
|
|
11
11
|
name = props[key];
|
|
12
12
|
}
|
|
@@ -17,31 +17,30 @@ const tryFindName = (props) => {
|
|
|
17
17
|
exports.default = pulumi.runtime.setMocks({
|
|
18
18
|
newResource: (args) => {
|
|
19
19
|
const name = tryFindName(args.inputs);
|
|
20
|
-
//console.log(`Mocks resource ${name}`);
|
|
21
20
|
return {
|
|
22
21
|
id: `/subscriptions/12345/resourceGroups/resr-group/providers/${name}`,
|
|
23
22
|
name,
|
|
24
23
|
state: {
|
|
25
24
|
name,
|
|
26
25
|
...args.inputs,
|
|
27
|
-
result: args.type.includes(
|
|
28
|
-
?
|
|
29
|
-
: name.endsWith(
|
|
26
|
+
result: args.type.includes("Random")
|
|
27
|
+
? "5c1c5657-085b-41c8-8d11-de897e70eae7"
|
|
28
|
+
: name.endsWith("ssh")
|
|
30
29
|
? {
|
|
31
|
-
publicKey:
|
|
32
|
-
privateKey:
|
|
30
|
+
publicKey: "1234567890",
|
|
31
|
+
privateKey: "1234567890",
|
|
33
32
|
}
|
|
34
|
-
:
|
|
33
|
+
: "",
|
|
35
34
|
},
|
|
36
35
|
};
|
|
37
36
|
},
|
|
38
37
|
call: (args) => {
|
|
39
|
-
if (args.token ===
|
|
38
|
+
if (args.token === "azure:core/getSubscription:getSubscription")
|
|
40
39
|
return {
|
|
41
|
-
id:
|
|
42
|
-
display_name:
|
|
40
|
+
id: "00000000-0000-0000-0000-000000000000",
|
|
41
|
+
display_name: "subscription",
|
|
43
42
|
};
|
|
44
43
|
return args.inputs;
|
|
45
44
|
},
|
|
46
|
-
},
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
}, "testProject", "testStack", false, "testOrganization");
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvel90ZXN0cy9fdG9vbHMvTW9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBeUM7QUFFekMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNqQyxJQUFJLElBQUksR0FBVyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUM7SUFFcEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxzREFBc0Q7UUFDdEQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRS9DLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBQ0QseURBQXlEO0lBQ3pELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ3BDO0lBQ0UsV0FBVyxFQUFFLENBQ1gsSUFBcUMsRUFLckMsRUFBRTtRQUNGLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdEMsT0FBTztZQUNMLEVBQUUsRUFBRSw0REFBNEQsSUFBSSxFQUFFO1lBQ3RFLElBQUk7WUFDSixLQUFLLEVBQUU7Z0JBQ0wsSUFBSTtnQkFDSixHQUFHLElBQUksQ0FBQyxNQUFNO2dCQUNkLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7b0JBQ2xDLENBQUMsQ0FBQyxzQ0FBc0M7b0JBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQzt3QkFDcEIsQ0FBQyxDQUFDOzRCQUNFLFNBQVMsRUFBRSxZQUFZOzRCQUN2QixVQUFVLEVBQUUsWUFBWTt5QkFDekI7d0JBQ0gsQ0FBQyxDQUFDLEVBQUU7YUFDVDtTQUNGLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUMsSUFBaUMsRUFBRSxFQUFFO1FBQzFDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyw0Q0FBNEM7WUFDN0QsT0FBTztnQkFDTCxFQUFFLEVBQUUsc0NBQXNDO2dCQUMxQyxZQUFZLEVBQUUsY0FBYzthQUM3QixDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FDRixFQUNELGFBQWEsRUFDYixXQUFXLEVBQ1gsS0FBSyxFQUNMLGtCQUFrQixDQUNuQixDQUFDIn0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const automation = require("@pulumi/azure-native/automation");
|
|
4
|
-
const Naming_1 = require("../Common/Naming");
|
|
5
|
-
exports.default = ({ name, group }) => {
|
|
6
|
-
name = (0, Naming_1.getAutomationAccountName)(name);
|
|
7
|
-
return new automation.AutomationAccount(name, {
|
|
8
|
-
automationAccountName: name,
|
|
9
|
-
...group,
|
|
10
|
-
publicNetworkAccess: false,
|
|
11
|
-
identity: { type: 'SystemAssigned' },
|
|
12
|
-
disableLocalAuth: true,
|
|
13
|
-
sku: {
|
|
14
|
-
name: 'Free', //Free, Basic
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0b0FjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQXV0b21hdGlvbi9BdXRvQWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDhEQUE4RDtBQUM5RCw2Q0FBNEQ7QUFLNUQsa0JBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQVMsRUFBRSxFQUFFO0lBQ3hDLElBQUksR0FBRyxJQUFBLGlDQUF3QixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRXRDLE9BQU8sSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFO1FBQzVDLHFCQUFxQixFQUFFLElBQUk7UUFDM0IsR0FBRyxLQUFLO1FBQ1IsbUJBQW1CLEVBQUUsS0FBSztRQUMxQixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7UUFDcEMsZ0JBQWdCLEVBQUUsSUFBSTtRQUV0QixHQUFHLEVBQUU7WUFDSCxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWE7U0FDNUI7S0FFRixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMifQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { KeyVaultInfo } from '../../types';
|
|
2
|
-
export declare const defaultName = "azure-devops";
|
|
3
|
-
interface Props {
|
|
4
|
-
name?: string;
|
|
5
|
-
enableOwner?: boolean;
|
|
6
|
-
vaultInfo?: KeyVaultInfo;
|
|
7
|
-
allowAccessPolicy?: boolean;
|
|
8
|
-
}
|
|
9
|
-
/** Get Global ADO Identity */
|
|
10
|
-
export declare const getAdoIdentity: () => import("@pulumi/pulumi").Output<import("@pulumi/pulumi").UnwrappedObject<{
|
|
11
|
-
app: import("@pulumi/azuread").GetApplicationResult;
|
|
12
|
-
principal: import("@pulumi/azuread").GetServicePrincipalResult;
|
|
13
|
-
}>>;
|
|
14
|
-
/** Create Global ADO Identity */
|
|
15
|
-
declare const _default: ({ name, enableOwner, vaultInfo, allowAccessPolicy, ...others }: Props) => import("../Identity").IdentityResult & {
|
|
16
|
-
vaultNames: {
|
|
17
|
-
clientIdKeyName: string;
|
|
18
|
-
clientSecretKeyName: string;
|
|
19
|
-
principalIdKeyName: string;
|
|
20
|
-
principalSecretKeyName: string;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
export default _default;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAdoIdentity = exports.defaultName = void 0;
|
|
4
|
-
const Identity_1 = require("../Identity");
|
|
5
|
-
const Helper_1 = require("../Helper");
|
|
6
|
-
const GraphDefinition_1 = require("../GraphDefinition");
|
|
7
|
-
const pulumi_1 = require("@pulumi/pulumi");
|
|
8
|
-
exports.defaultName = 'azure-devops';
|
|
9
|
-
/** Get Global ADO Identity */
|
|
10
|
-
const getAdoIdentity = () => (0, pulumi_1.output)((0, Helper_1.getIdentity)(exports.defaultName, true));
|
|
11
|
-
exports.getAdoIdentity = getAdoIdentity;
|
|
12
|
-
/** Create Global ADO Identity */
|
|
13
|
-
exports.default = ({ name = exports.defaultName, enableOwner, vaultInfo, allowAccessPolicy, ...others }) => {
|
|
14
|
-
const graphAccess = (0, GraphDefinition_1.getGraphPermissions)({ name: 'User.Read', type: 'Scope' });
|
|
15
|
-
const principalRoles = enableOwner
|
|
16
|
-
? [{ roleName: 'Owner' }]
|
|
17
|
-
: [
|
|
18
|
-
{ roleName: 'Contributor' },
|
|
19
|
-
{ roleName: 'Network Contributor' },
|
|
20
|
-
{ roleName: 'Storage Account Contributor' },
|
|
21
|
-
{ roleName: 'Storage Blob Data Contributor' },
|
|
22
|
-
{ roleName: 'Storage File Data SMB Share Contributor' },
|
|
23
|
-
{ roleName: 'Storage Queue Data Contributor' },
|
|
24
|
-
{ roleName: 'Storage Table Data Contributor' },
|
|
25
|
-
{ roleName: 'Log Analytics Contributor' },
|
|
26
|
-
{ roleName: 'Key Vault Administrator' },
|
|
27
|
-
{ roleName: 'Key Vault Certificates Officer' },
|
|
28
|
-
{ roleName: 'Key Vault Contributor' },
|
|
29
|
-
{ roleName: 'Key Vault Crypto Officer' },
|
|
30
|
-
{ roleName: 'Key Vault Crypto Service Encryption User' },
|
|
31
|
-
{ roleName: 'Key Vault Crypto User' },
|
|
32
|
-
{ roleName: 'Key Vault Secrets Officer' },
|
|
33
|
-
{ roleName: 'Key Vault Secrets User' },
|
|
34
|
-
{ roleName: 'User Access Administrator' },
|
|
35
|
-
{ roleName: 'AcrPush' },
|
|
36
|
-
{ roleName: 'AcrPull' },
|
|
37
|
-
{ roleName: 'Data Factory Contributor' },
|
|
38
|
-
];
|
|
39
|
-
const ado = (0, Identity_1.default)({
|
|
40
|
-
name,
|
|
41
|
-
appType: 'web',
|
|
42
|
-
createClientSecret: true,
|
|
43
|
-
createPrincipal: true,
|
|
44
|
-
requiredResourceAccesses: [graphAccess],
|
|
45
|
-
principalRoles,
|
|
46
|
-
vaultInfo,
|
|
47
|
-
...others,
|
|
48
|
-
});
|
|
49
|
-
//Grant key vault permission to ADO
|
|
50
|
-
// if (allowAccessPolicy && vaultInfo) {
|
|
51
|
-
// grantVaultAccessPolicy({
|
|
52
|
-
// vaultInfo,
|
|
53
|
-
// name: 'azure-devops-vault-permission',
|
|
54
|
-
// permission: 'ReadWrite',
|
|
55
|
-
// objectId: ado.objectId,
|
|
56
|
-
// });
|
|
57
|
-
// }
|
|
58
|
-
console.log(`Add this principal ${name} to [User administrator, Application administrator, Cloud application administrator and Global Reader] of Azure AD to allow to Add/Update and Delete Groups, Users`);
|
|
59
|
-
return ado;
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXpEZXZPcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQXpBZC9JZGVudGl0aWVzL0F6RGV2T3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQUFtQztBQUNuQyxzQ0FBd0M7QUFDeEMsd0RBQXlEO0FBQ3pELDJDQUFzQztBQUV6QixRQUFBLFdBQVcsR0FBRyxjQUFjLENBQUM7QUFTMUMsK0JBQStCO0FBQ3hCLE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUEsZUFBTSxFQUFDLElBQUEsb0JBQVcsRUFBQyxtQkFBVyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFBOUQsUUFBQSxjQUFjLGtCQUFnRDtBQUUzRSxpQ0FBaUM7QUFDakMsa0JBQWUsQ0FBQyxFQUNkLElBQUksR0FBRyxtQkFBVyxFQUNsQixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixHQUFHLE1BQU0sRUFDSCxFQUFFLEVBQUU7SUFDVixNQUFNLFdBQVcsR0FBRyxJQUFBLHFDQUFtQixFQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUU5RSxNQUFNLGNBQWMsR0FBRyxXQUFXO1FBQ2hDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQztZQUNFLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRTtZQUMzQixFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRTtZQUNuQyxFQUFFLFFBQVEsRUFBRSw2QkFBNkIsRUFBRTtZQUMzQyxFQUFFLFFBQVEsRUFBRSwrQkFBK0IsRUFBRTtZQUM3QyxFQUFFLFFBQVEsRUFBRSx5Q0FBeUMsRUFBRTtZQUN2RCxFQUFFLFFBQVEsRUFBRSxnQ0FBZ0MsRUFBRTtZQUM5QyxFQUFFLFFBQVEsRUFBRSxnQ0FBZ0MsRUFBRTtZQUM5QyxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRTtZQUN6QyxFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRTtZQUN2QyxFQUFFLFFBQVEsRUFBRSxnQ0FBZ0MsRUFBRTtZQUM5QyxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRTtZQUNyQyxFQUFFLFFBQVEsRUFBRSwwQkFBMEIsRUFBRTtZQUN4QyxFQUFFLFFBQVEsRUFBRSwwQ0FBMEMsRUFBRTtZQUN4RCxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRTtZQUNyQyxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRTtZQUN6QyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTtZQUN0QyxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRTtZQUN6QyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUU7WUFDdkIsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFO1lBQ3ZCLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFO1NBQ3pDLENBQUM7SUFFTixNQUFNLEdBQUcsR0FBRyxJQUFBLGtCQUFRLEVBQUM7UUFDbkIsSUFBSTtRQUNKLE9BQU8sRUFBRSxLQUFLO1FBQ2Qsa0JBQWtCLEVBQUUsSUFBSTtRQUN4QixlQUFlLEVBQUUsSUFBSTtRQUNyQix3QkFBd0IsRUFBRSxDQUFDLFdBQVcsQ0FBQztRQUN2QyxjQUFjO1FBQ2QsU0FBUztRQUNULEdBQUcsTUFBTTtLQUNWLENBQUMsQ0FBQztJQUVILG1DQUFtQztJQUNuQyx3Q0FBd0M7SUFDeEMsNkJBQTZCO0lBQzdCLGlCQUFpQjtJQUNqQiw2Q0FBNkM7SUFDN0MsK0JBQStCO0lBQy9CLDhCQUE4QjtJQUM5QixRQUFRO0lBQ1IsSUFBSTtJQUVKLE9BQU8sQ0FBQyxHQUFHLENBQ1Qsc0JBQXNCLElBQUksb0tBQW9LLENBQy9MLENBQUM7SUFFRixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQyJ9
|
package/AzAd/KeyVaultRoles.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare const getVaultRoleNames: (name: string) => {
|
|
2
|
-
readOnly: string;
|
|
3
|
-
admin: string;
|
|
4
|
-
};
|
|
5
|
-
export declare const createVaultRoles: (name: string) => {
|
|
6
|
-
adminGroup: import("@pulumi/pulumi").Output<import("@pulumi/azuread/group").Group>;
|
|
7
|
-
readOnlyGroup: import("@pulumi/pulumi").Output<import("@pulumi/azuread/group").Group>;
|
|
8
|
-
};
|
package/AzAd/KeyVaultRoles.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createVaultRoles = exports.getVaultRoleNames = void 0;
|
|
4
|
-
const AzureEnv_1 = require("../Common/AzureEnv");
|
|
5
|
-
const Role_1 = require("./Role");
|
|
6
|
-
const AzDevOps_1 = require("./Identities/AzDevOps");
|
|
7
|
-
const Group_1 = require("./Group");
|
|
8
|
-
const getConfig = (name) => ({
|
|
9
|
-
readOnly: {
|
|
10
|
-
env: AzureEnv_1.currentEnv,
|
|
11
|
-
roleName: "Readonly",
|
|
12
|
-
appName: "KeyVault",
|
|
13
|
-
moduleName: name,
|
|
14
|
-
},
|
|
15
|
-
admin: {
|
|
16
|
-
env: AzureEnv_1.currentEnv,
|
|
17
|
-
roleName: "Admin",
|
|
18
|
-
appName: "KeyVault",
|
|
19
|
-
moduleName: name,
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
const getVaultRoleNames = (name) => {
|
|
23
|
-
const vaultRoleConfig = getConfig(name);
|
|
24
|
-
return {
|
|
25
|
-
readOnly: (0, Role_1.getRoleName)({ ...vaultRoleConfig.readOnly }),
|
|
26
|
-
admin: (0, Role_1.getRoleName)({ ...vaultRoleConfig.admin }),
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
exports.getVaultRoleNames = getVaultRoleNames;
|
|
30
|
-
const createVaultRoles = (name) => {
|
|
31
|
-
const vaultRoleConfig = getConfig(name);
|
|
32
|
-
//Admin
|
|
33
|
-
const adminGroup = (0, Role_1.default)({
|
|
34
|
-
...vaultRoleConfig.admin,
|
|
35
|
-
//permissions: [{ roleName: 'Reader', scope: defaultScope }],
|
|
36
|
-
});
|
|
37
|
-
//ReadOnly
|
|
38
|
-
const readOnlyGroup = (0, Role_1.default)({
|
|
39
|
-
...vaultRoleConfig.readOnly,
|
|
40
|
-
//permissions: [{ roleName: 'Reader', scope: defaultScope }],
|
|
41
|
-
members: [adminGroup.objectId],
|
|
42
|
-
});
|
|
43
|
-
//Add Global ADO Identity as Admin
|
|
44
|
-
const ado = (0, AzDevOps_1.getAdoIdentity)();
|
|
45
|
-
(0, Group_1.addMemberToGroup)({
|
|
46
|
-
name: "ado-admin-role",
|
|
47
|
-
groupObjectId: adminGroup.objectId,
|
|
48
|
-
objectId: ado.principal.objectId,
|
|
49
|
-
});
|
|
50
|
-
return { adminGroup, readOnlyGroup };
|
|
51
|
-
};
|
|
52
|
-
exports.createVaultRoles = createVaultRoles;
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5VmF1bHRSb2xlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BekFkL0tleVZhdWx0Um9sZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQWdEO0FBQ2hELGlDQUF5RDtBQUN6RCxvREFBdUQ7QUFDdkQsbUNBQTJDO0FBRTNDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLFFBQVEsRUFBRTtRQUNSLEdBQUcsRUFBRSxxQkFBVTtRQUNmLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLE9BQU8sRUFBRSxVQUFVO1FBQ25CLFVBQVUsRUFBRSxJQUFJO0tBQ0Q7SUFDakIsS0FBSyxFQUFFO1FBQ0wsR0FBRyxFQUFFLHFCQUFVO1FBQ2YsUUFBUSxFQUFFLE9BQU87UUFDakIsT0FBTyxFQUFFLFVBQVU7UUFDbkIsVUFBVSxFQUFFLElBQUk7S0FDRDtDQUNsQixDQUFDLENBQUM7QUFFSSxNQUFNLGlCQUFpQixHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7SUFDaEQsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLE9BQU87UUFDTCxRQUFRLEVBQUUsSUFBQSxrQkFBVyxFQUFDLEVBQUUsR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEQsS0FBSyxFQUFFLElBQUEsa0JBQVcsRUFBQyxFQUFFLEdBQUcsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ2pELENBQUM7QUFDSixDQUFDLENBQUM7QUFOVyxRQUFBLGlCQUFpQixxQkFNNUI7QUFFSyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7SUFDL0MsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLE9BQU87SUFDUCxNQUFNLFVBQVUsR0FBRyxJQUFBLGNBQUksRUFBQztRQUN0QixHQUFHLGVBQWUsQ0FBQyxLQUFLO1FBQ3hCLDZEQUE2RDtLQUM5RCxDQUFDLENBQUM7SUFFSCxVQUFVO0lBQ1YsTUFBTSxhQUFhLEdBQUcsSUFBQSxjQUFJLEVBQUM7UUFDekIsR0FBRyxlQUFlLENBQUMsUUFBUTtRQUMzQiw2REFBNkQ7UUFDN0QsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztLQUMvQixDQUFDLENBQUM7SUFFSCxrQ0FBa0M7SUFDbEMsTUFBTSxHQUFHLEdBQUcsSUFBQSx5QkFBYyxHQUFFLENBQUM7SUFDN0IsSUFBQSx3QkFBZ0IsRUFBQztRQUNmLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1FBQ2xDLFFBQVEsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVE7S0FDakMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsQ0FBQztBQUN2QyxDQUFDLENBQUM7QUF4QlcsUUFBQSxnQkFBZ0Isb0JBd0IzQiJ9
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { BasicResourceArgs } from '../types';
|
|
2
|
-
interface Props extends BasicResourceArgs {
|
|
3
|
-
lock?: boolean;
|
|
4
|
-
}
|
|
5
|
-
declare const _default: ({ name, group, lock }: Props) => import("@pulumi/azure-native/managedidentity/userAssignedIdentity").UserAssignedIdentity;
|
|
6
|
-
export default _default;
|
package/AzAd/ManagedIdentity.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const azure = require("@pulumi/azure-native");
|
|
4
|
-
const Naming_1 = require("../Common/Naming");
|
|
5
|
-
const Locker_1 = require("../Core/Locker");
|
|
6
|
-
exports.default = ({ name, group, lock }) => {
|
|
7
|
-
const n = (0, Naming_1.getManagedIdentityName)(name);
|
|
8
|
-
const managedIdentity = new azure.managedidentity.UserAssignedIdentity(n, {
|
|
9
|
-
resourceName: n,
|
|
10
|
-
...group,
|
|
11
|
-
});
|
|
12
|
-
if (lock) {
|
|
13
|
-
(0, Locker_1.default)({
|
|
14
|
-
name: n,
|
|
15
|
-
resource: managedIdentity,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
return managedIdentity;
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlZElkZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0F6QWQvTWFuYWdlZElkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsOENBQThDO0FBQzlDLDZDQUEwRDtBQUMxRCwyQ0FBb0M7QUFNcEMsa0JBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFTLEVBQUUsRUFBRTtJQUM5QyxNQUFNLENBQUMsR0FBRyxJQUFBLCtCQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sZUFBZSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUU7UUFDeEUsWUFBWSxFQUFFLENBQUM7UUFDZixHQUFHLEtBQUs7S0FDVCxDQUFDLENBQUM7SUFFSCxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsSUFBQSxnQkFBTSxFQUFDO1lBQ0wsSUFBSSxFQUFFLENBQUM7WUFDUCxRQUFRLEVBQUUsZUFBZTtTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyxDQUFDIn0=
|
package/AzAd/UserIdentity.d.ts
DELETED
package/AzAd/UserIdentity.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const managedidentity = require("@pulumi/azure-native/managedidentity");
|
|
4
|
-
const Naming_1 = require("../Common/Naming");
|
|
5
|
-
exports.default = ({ name, group }) => {
|
|
6
|
-
name = (0, Naming_1.getIdentityName)(name);
|
|
7
|
-
return new managedidentity.UserAssignedIdentity(name, {
|
|
8
|
-
resourceName: name,
|
|
9
|
-
...group,
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlcklkZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0F6QWQvVXNlcklkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0Esd0VBQXdFO0FBQ3hFLDZDQUFtRDtBQUluRCxrQkFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBUyxFQUFFLEVBQUU7SUFDeEMsSUFBSSxHQUFHLElBQUEsd0JBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixPQUFPLElBQUksZUFBZSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRTtRQUNwRCxZQUFZLEVBQUUsSUFBSTtRQUNsQixHQUFHLEtBQUs7S0FDVCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMifQ==
|