@drunk-pulumi/azure 0.0.36 → 0.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/Aks/Helper.d.ts +6 -11
  2. package/Aks/Helper.js +40 -65
  3. package/Aks/Identity.d.ts +3 -10
  4. package/Aks/Identity.js +9 -8
  5. package/Aks/index.d.ts +67 -71
  6. package/Aks/index.js +198 -314
  7. package/Apim/ApiProduct/PolicyBuilder.js +25 -27
  8. package/Apim/ApiProduct/SwaggerHelper.js +1 -3
  9. package/Apim/ApiProduct/index.d.ts +3 -3
  10. package/Apim/ApiProduct/index.js +1 -2
  11. package/Automation/index.d.ts +7 -0
  12. package/Automation/index.js +55 -0
  13. package/AzAd/EnvRoles.Consts.d.ts +12 -0
  14. package/AzAd/EnvRoles.Consts.js +125 -0
  15. package/AzAd/EnvRoles.d.ts +16 -15
  16. package/AzAd/EnvRoles.js +69 -47
  17. package/AzAd/GraphDefinition.d.ts +2 -2
  18. package/AzAd/GraphDefinition.js +3055 -3056
  19. package/AzAd/Helper.d.ts +24 -13
  20. package/AzAd/Helper.js +98 -25
  21. package/AzAd/Identities/AzDevOpsIdentity.d.ts +12 -0
  22. package/AzAd/Identities/AzDevOpsIdentity.js +32 -0
  23. package/AzAd/Identities/AzDevOpsManagedIdentity.d.ts +7 -0
  24. package/AzAd/Identities/AzDevOpsManagedIdentity.js +15 -0
  25. package/AzAd/Identities/AzUserAdRevertSync.d.ts +2 -9
  26. package/AzAd/Identities/AzUserAdRevertSync.js +4 -5
  27. package/AzAd/Identities/index.d.ts +3 -0
  28. package/AzAd/Identities/index.js +10 -0
  29. package/AzAd/Identity.d.ts +10 -22
  30. package/AzAd/Identity.js +50 -61
  31. package/AzAd/Role.d.ts +2 -3
  32. package/AzAd/Role.js +4 -5
  33. package/AzAd/RoleAssignment.d.ts +34 -5
  34. package/AzAd/RoleAssignment.js +2 -2
  35. package/AzAd/RoleDefinitions/JustInTimeRequestRole.d.ts +2 -0
  36. package/AzAd/RoleDefinitions/JustInTimeRequestRole.js +25 -0
  37. package/AzAd/RolesBuiltIn.d.ts +29 -0
  38. package/AzAd/RolesBuiltIn.js +13034 -8058
  39. package/AzAd/UserAssignedIdentity.d.ts +6 -0
  40. package/AzAd/UserAssignedIdentity.js +27 -0
  41. package/Builder/AksBuilder.d.ts +3 -0
  42. package/Builder/AksBuilder.js +95 -0
  43. package/Builder/VnetBuilder.d.ts +3 -0
  44. package/Builder/VnetBuilder.js +279 -0
  45. package/Builder/index.d.ts +2 -0
  46. package/Builder/index.js +8 -0
  47. package/Builder/types.d.ts +120 -0
  48. package/Builder/types.js +18 -0
  49. package/Certificate/index.d.ts +1 -1
  50. package/Certificate/index.js +26 -28
  51. package/Common/AutoTags.js +2 -2
  52. package/Common/AzureEnv.d.ts +4 -3
  53. package/Common/AzureEnv.js +31 -24
  54. package/Common/GlobalEnv.d.ts +1 -2
  55. package/Common/GlobalEnv.js +7 -7
  56. package/Common/Location.d.ts +3 -3
  57. package/Common/Location.js +22 -9
  58. package/Common/LocationBuiltIn.d.ts +6 -81
  59. package/Common/LocationBuiltIn.js +491 -1923
  60. package/Common/Naming/index.d.ts +6 -4
  61. package/Common/Naming/index.js +64 -60
  62. package/Common/ResourceEnv.d.ts +2 -2
  63. package/Common/ResourceEnv.js +11 -10
  64. package/Common/StackEnv.js +2 -9
  65. package/Core/KeyGenetators.d.ts +16 -20
  66. package/Core/KeyGenetators.js +17 -16
  67. package/Core/Random.d.ts +4 -4
  68. package/Core/Random.js +10 -10
  69. package/Core/ResourceGroup.d.ts +12 -6
  70. package/Core/ResourceGroup.js +12 -24
  71. package/IOT/Hub/index.d.ts +4 -8
  72. package/IOT/Hub/index.js +19 -54
  73. package/KeyVault/Helper.d.ts +8 -6
  74. package/KeyVault/Helper.js +13 -19
  75. package/KeyVault/index.d.ts +1 -3
  76. package/KeyVault/index.js +2 -26
  77. package/Logs/Helpers.d.ts +35 -25
  78. package/Logs/Helpers.js +33 -20
  79. package/Logs/LogAnalytics.d.ts +2 -2
  80. package/Logs/LogAnalytics.js +15 -6
  81. package/Logs/index.d.ts +3 -3
  82. package/Logs/index.js +4 -4
  83. package/MySql/index.d.ts +2 -3
  84. package/MySql/index.js +16 -19
  85. package/{ReadMe.md → README.md} +6 -1
  86. package/Sql/index.d.ts +17 -10
  87. package/Sql/index.js +39 -42
  88. package/Storage/CdnEndpoint.d.ts +2 -2
  89. package/Storage/CdnEndpoint.js +14 -15
  90. package/Storage/Helper.d.ts +2 -2
  91. package/Storage/Helper.js +6 -6
  92. package/Storage/ManagementRules.d.ts +5 -23
  93. package/Storage/ManagementRules.js +3 -3
  94. package/Storage/index.d.ts +3 -3
  95. package/Storage/index.js +28 -28
  96. package/VM/AzureDevOpsExtension.d.ts +16 -0
  97. package/VM/AzureDevOpsExtension.js +14 -0
  98. package/VM/Extension.d.ts +15 -0
  99. package/VM/Extension.js +13 -0
  100. package/VM/GlobalSchedule.d.ts +10 -0
  101. package/VM/GlobalSchedule.js +20 -0
  102. package/VM/index.d.ts +18 -18
  103. package/VM/index.js +94 -57
  104. package/VNet/Bastion.d.ts +4 -4
  105. package/VNet/Bastion.js +12 -8
  106. package/VNet/Firewall.d.ts +19 -12
  107. package/VNet/Firewall.js +59 -40
  108. package/VNet/FirewallPolicies/AksFirewallPolicy.d.ts +16 -16
  109. package/VNet/FirewallPolicies/AksFirewallPolicy.js +193 -220
  110. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.d.ts +12 -10
  111. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +170 -282
  112. package/VNet/FirewallPolicies/DefaultFirewallPolicy.d.ts +3 -0
  113. package/VNet/FirewallPolicies/DefaultFirewallPolicy.js +25 -0
  114. package/VNet/FirewallPolicies/index.d.ts +4 -0
  115. package/VNet/FirewallPolicies/index.js +10 -0
  116. package/VNet/FirewallPolicy.d.ts +14 -11
  117. package/VNet/FirewallPolicy.js +67 -74
  118. package/VNet/FirewallRules/AksFirewallRules.d.ts +4 -3
  119. package/VNet/FirewallRules/AksFirewallRules.js +101 -100
  120. package/VNet/Helper.d.ts +8 -4
  121. package/VNet/Helper.js +42 -35
  122. package/VNet/IpAddress.d.ts +6 -8
  123. package/VNet/IpAddress.js +6 -11
  124. package/VNet/IpAddressPrefix.d.ts +12 -9
  125. package/VNet/IpAddressPrefix.js +14 -13
  126. package/VNet/NSGRules/AppGatewaySecurityRule.d.ts +9 -0
  127. package/VNet/NSGRules/AppGatewaySecurityRule.js +46 -0
  128. package/VNet/NSGRules/AzADSecurityRule.d.ts +6 -0
  129. package/VNet/NSGRules/AzADSecurityRule.js +39 -0
  130. package/VNet/NSGRules/BastionSecurityRule.d.ts +9 -0
  131. package/VNet/NSGRules/BastionSecurityRule.js +93 -0
  132. package/VNet/NatGateway.d.ts +10 -0
  133. package/VNet/NatGateway.js +21 -0
  134. package/VNet/NetworkPeering.d.ts +7 -7
  135. package/VNet/NetworkPeering.js +29 -20
  136. package/VNet/PrivateDns.d.ts +8 -10
  137. package/VNet/PrivateDns.js +12 -14
  138. package/VNet/PrivateEndpoint.js +5 -2
  139. package/VNet/RouteTable.d.ts +7 -8
  140. package/VNet/RouteTable.js +6 -6
  141. package/VNet/SecurityGroup.d.ts +4 -4
  142. package/VNet/SecurityGroup.js +7 -3
  143. package/VNet/Subnet.d.ts +10 -7
  144. package/VNet/Subnet.js +4 -3
  145. package/VNet/VPNGateway.d.ts +13 -0
  146. package/VNet/VPNGateway.js +73 -0
  147. package/VNet/VirtualWAN.d.ts +7 -10
  148. package/VNet/VirtualWAN.js +1 -1
  149. package/VNet/Vnet.d.ts +29 -23
  150. package/VNet/Vnet.js +58 -121
  151. package/VNet/index.d.ts +17 -18
  152. package/VNet/index.js +41 -54
  153. package/VNet/types.d.ts +94 -0
  154. package/VNet/types.js +3 -0
  155. package/Web/types.d.ts +2 -134
  156. package/package.json +8 -8
  157. package/types.d.ts +22 -8
  158. package/z_tests/_tools/Mocks.js +12 -13
  159. package/Automation/AutoAccount.d.ts +0 -5
  160. package/Automation/AutoAccount.js +0 -18
  161. package/AzAd/Identities/AzDevOps.d.ts +0 -23
  162. package/AzAd/Identities/AzDevOps.js +0 -61
  163. package/AzAd/KeyVaultRoles.d.ts +0 -8
  164. package/AzAd/KeyVaultRoles.js +0 -53
  165. package/AzAd/ManagedIdentity.d.ts +0 -6
  166. package/AzAd/ManagedIdentity.js +0 -20
  167. package/AzAd/UserIdentity.d.ts +0 -5
  168. package/AzAd/UserIdentity.js +0 -12
  169. package/Common/Naming/AzureRegions.d.ts +0 -4
  170. package/Common/Naming/AzureRegions.js +0 -49
  171. package/KeyVault/VaultPermissions.d.ts +0 -27
  172. package/KeyVault/VaultPermissions.js +0 -226
  173. package/VNet/FirewallRules/types.d.ts +0 -20
  174. package/VNet/FirewallRules/types.js +0 -5
  175. package/VNet/NSGRules/AzADService.d.ts +0 -10
  176. package/VNet/NSGRules/AzADService.js +0 -45
@@ -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 '@pulumi/pulumi';
2
- import { ConnectionStringType } from '@pulumi/azure-native/types/enums/web';
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.36",
3
+ "version": "0.0.38",
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.7",
21
- "@pulumi/azure-native": "^2.38.0",
22
- "@pulumi/azuread": "5.48.0",
23
- "@pulumi/pulumi": "^3.113.3",
24
- "@pulumi/random": "^4.16.1",
25
- "@pulumi/tls": "^5.0.2",
26
- "axios": "^1.6.8",
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 '@pulumi/pulumi';
2
- import * as authorization from '@pulumi/azure-native/authorization';
3
- import { DiagnosticSetting } from '@pulumi/azure-native/aadiam/diagnosticSetting';
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, 'subnetId'>;
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, 'resourceName' | 'id'> {
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, 'name' | 'targetResourceId'>;
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
+ };
@@ -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('Name'));
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('Random')
28
- ? '5c1c5657-085b-41c8-8d11-de897e70eae7'
29
- : name.endsWith('ssh')
26
+ result: args.type.includes("Random")
27
+ ? "5c1c5657-085b-41c8-8d11-de897e70eae7"
28
+ : name.endsWith("ssh")
30
29
  ? {
31
- publicKey: '1234567890',
32
- privateKey: '1234567890',
30
+ publicKey: "1234567890",
31
+ privateKey: "1234567890",
33
32
  }
34
- : '',
33
+ : "",
35
34
  },
36
35
  };
37
36
  },
38
37
  call: (args) => {
39
- if (args.token === 'azure:core/getSubscription:getSubscription')
38
+ if (args.token === "azure:core/getSubscription:getSubscription")
40
39
  return {
41
- id: '00000000-0000-0000-0000-000000000000',
42
- display_name: 'subscription',
40
+ id: "00000000-0000-0000-0000-000000000000",
41
+ display_name: "subscription",
43
42
  };
44
43
  return args.inputs;
45
44
  },
46
- }, 'testProject', 'testStack', false, 'testOrganization');
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvel90ZXN0cy9fdG9vbHMvTW9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBeUM7QUFFekMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNqQyxJQUFJLElBQUksR0FBVyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUM7SUFFcEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxzREFBc0Q7UUFDdEQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRS9DLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBQ0QseURBQXlEO0lBQ3pELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ3BDO0lBQ0UsV0FBVyxFQUFFLENBQ1gsSUFBcUMsRUFLckMsRUFBRTtRQUNGLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsd0NBQXdDO1FBRXhDLE9BQU87WUFDTCxFQUFFLEVBQUUsNERBQTRELElBQUksRUFBRTtZQUN0RSxJQUFJO1lBQ0osS0FBSyxFQUFFO2dCQUNMLElBQUk7Z0JBQ0osR0FBRyxJQUFJLENBQUMsTUFBTTtnQkFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO29CQUNsQyxDQUFDLENBQUMsc0NBQXNDO29CQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7d0JBQ3RCLENBQUMsQ0FBQzs0QkFDRSxTQUFTLEVBQUUsWUFBWTs0QkFDdkIsVUFBVSxFQUFFLFlBQVk7eUJBQ3pCO3dCQUNILENBQUMsQ0FBQyxFQUFFO2FBQ1A7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLElBQWlDLEVBQUUsRUFBRTtRQUMxQyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssNENBQTRDO1lBQzdELE9BQU87Z0JBQ0wsRUFBRSxFQUFFLHNDQUFzQztnQkFDMUMsWUFBWSxFQUFFLGNBQWM7YUFDN0IsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0NBQ0YsRUFDRCxhQUFhLEVBQ2IsV0FBVyxFQUNYLEtBQUssRUFDTCxrQkFBa0IsQ0FDbkIsQ0FBQyJ9
45
+ }, "testProject", "testStack", false, "testOrganization");
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvel90ZXN0cy9fdG9vbHMvTW9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBeUM7QUFFekMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtJQUNqQyxJQUFJLElBQUksR0FBVyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUM7SUFFcEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxzREFBc0Q7UUFDdEQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRS9DLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBQ0QseURBQXlEO0lBQ3pELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ3BDO0lBQ0UsV0FBVyxFQUFFLENBQ1gsSUFBcUMsRUFLckMsRUFBRTtRQUNGLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdEMsT0FBTztZQUNMLEVBQUUsRUFBRSw0REFBNEQsSUFBSSxFQUFFO1lBQ3RFLElBQUk7WUFDSixLQUFLLEVBQUU7Z0JBQ0wsSUFBSTtnQkFDSixHQUFHLElBQUksQ0FBQyxNQUFNO2dCQUNkLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7b0JBQ2xDLENBQUMsQ0FBQyxzQ0FBc0M7b0JBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQzt3QkFDcEIsQ0FBQyxDQUFDOzRCQUNFLFNBQVMsRUFBRSxZQUFZOzRCQUN2QixVQUFVLEVBQUUsWUFBWTt5QkFDekI7d0JBQ0gsQ0FBQyxDQUFDLEVBQUU7YUFDVDtTQUNGLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUMsSUFBaUMsRUFBRSxFQUFFO1FBQzFDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyw0Q0FBNEM7WUFDN0QsT0FBTztnQkFDTCxFQUFFLEVBQUUsc0NBQXNDO2dCQUMxQyxZQUFZLEVBQUUsY0FBYzthQUM3QixDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FDRixFQUNELGFBQWEsRUFDYixXQUFXLEVBQ1gsS0FBSyxFQUNMLGtCQUFrQixDQUNuQixDQUFDIn0=
@@ -1,5 +0,0 @@
1
- import { BasicResourceArgs } from '../types';
2
- interface Props extends BasicResourceArgs {
3
- }
4
- declare const _default: ({ name, group }: Props) => import("@pulumi/azure-native/automation/automationAccount").AutomationAccount;
5
- export default _default;
@@ -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
@@ -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
- };
@@ -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;
@@ -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=
@@ -1,5 +0,0 @@
1
- import { BasicResourceArgs } from "../types";
2
- interface Props extends BasicResourceArgs {
3
- }
4
- declare const _default: ({ name, group }: Props) => import("@pulumi/azure-native/managedidentity/userAssignedIdentity").UserAssignedIdentity;
5
- export default _default;
@@ -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==
@@ -1,4 +0,0 @@
1
- export declare const azRegions: {
2
- region: string;
3
- code: string;
4
- }[];