@drunk-pulumi/azure 1.0.23 → 1.0.25

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 (142) hide show
  1. package/Aks/Helper.d.ts +4 -6
  2. package/Aks/Helper.js +13 -18
  3. package/Aks/Identity.js +3 -3
  4. package/Aks/index.js +4 -7
  5. package/AzAd/EnvRoles/EnvRoles.Consts.d.ts +6 -0
  6. package/AzAd/EnvRoles/EnvRoles.Consts.js +178 -0
  7. package/AzAd/{EnvRoles.d.ts → EnvRoles/EnvRoles.d.ts} +1 -9
  8. package/AzAd/EnvRoles/EnvRoles.js +91 -0
  9. package/AzAd/EnvRoles/index.d.ts +2 -0
  10. package/AzAd/EnvRoles/index.js +19 -0
  11. package/AzAd/Group.d.ts +2 -2
  12. package/AzAd/Group.js +3 -3
  13. package/AzAd/Helper.js +6 -66
  14. package/AzAd/Identities/AzDevOpsIdentity.js +4 -5
  15. package/AzAd/Identities/AzDevOpsManagedIdentity.js +1 -1
  16. package/AzAd/Identities/AzUserAdRevertSync.js +3 -3
  17. package/AzAd/Identity.js +1 -2
  18. package/AzAd/RoleDefinitions/index.d.ts +1 -0
  19. package/AzAd/RoleDefinitions/index.js +18 -0
  20. package/AzAd/{GraphDefinition.js → Roles/GraphDefinition.js} +1 -1
  21. package/AzAd/Roles/Role.d.ts +16 -0
  22. package/AzAd/Roles/Role.js +31 -0
  23. package/AzAd/{RoleAssignment.d.ts → Roles/RoleAssignment.d.ts} +1 -1
  24. package/AzAd/{RoleAssignment.js → Roles/RoleAssignment.js} +2 -2
  25. package/AzAd/{RolesBuiltIn.js → Roles/RolesBuiltIn.js} +1 -1
  26. package/AzAd/Roles/index.d.ts +3 -0
  27. package/AzAd/Roles/index.js +22 -0
  28. package/AzAd/UserAssignedIdentity.js +1 -2
  29. package/AzAd/index.d.ts +6 -0
  30. package/AzAd/index.js +23 -0
  31. package/Builder/AcrBuilder.d.ts +5 -0
  32. package/Builder/AcrBuilder.js +43 -10
  33. package/Builder/AksBuilder.d.ts +5 -0
  34. package/Builder/AksBuilder.js +92 -8
  35. package/Builder/ApimApiBuilder.js +1 -1
  36. package/Builder/ApimBuilder.js +3 -7
  37. package/Builder/ApimPolicyBuilder.js +1 -1
  38. package/Builder/ApimProductBuilder.d.ts +6 -5
  39. package/Builder/ApimProductBuilder.js +53 -28
  40. package/Builder/AppConfigBuilder.js +4 -8
  41. package/Builder/DnsZoneBuilder.js +2 -3
  42. package/Builder/EnvRoleBuilder.d.ts +4 -23
  43. package/Builder/EnvRoleBuilder.js +8 -9
  44. package/Builder/MySqlBuilder.js +4 -8
  45. package/Builder/PostgreSqlBuilder.js +4 -8
  46. package/Builder/PrivateDnsZoneBuilder.d.ts +1 -1
  47. package/Builder/PrivateDnsZoneBuilder.js +3 -3
  48. package/Builder/RedisCacheBuilder.js +4 -11
  49. package/Builder/ResourceBuilder.js +6 -6
  50. package/Builder/ServiceBusBuilder.js +4 -11
  51. package/Builder/SignalRBuilder.js +4 -11
  52. package/Builder/VaultBuilder.js +7 -26
  53. package/Builder/types/acrBuilder.d.ts +38 -2
  54. package/Builder/types/apimBuilder.d.ts +109 -5
  55. package/Builder/types/apimPolicyBuilder.d.ts +129 -7
  56. package/Builder/types/apimPolicyBuilder.js +4 -1
  57. package/Builder/types/apimProductBuilder.d.ts +152 -5
  58. package/Builder/types/appCertBuilder.d.ts +17 -0
  59. package/Builder/types/appConfigBuilder.d.ts +22 -0
  60. package/Builder/types/askBuilder.d.ts +79 -1
  61. package/Builder/types/automationBuilder.d.ts +17 -0
  62. package/Builder/types/cdnBuilder.d.ts +11 -0
  63. package/Builder/types/dnsZoneBuilder.d.ts +20 -0
  64. package/Builder/types/envRoleBuilder.d.ts +29 -3
  65. package/Builder/types/genericBuilder.d.ts +78 -0
  66. package/Builder/types/genericBuilder.js +9 -1
  67. package/Builder/types/iotHubBuilder.d.ts +38 -5
  68. package/Builder/types/logicAppBuilder.d.ts +17 -0
  69. package/Builder/types/mySqlBuilder.d.ts +54 -1
  70. package/Builder/types/posgreSqlBuilder.d.ts +64 -2
  71. package/Builder/types/privateDnsZoneBuilder.d.ts +26 -0
  72. package/Builder/types/redisCacheBuilder.d.ts +31 -0
  73. package/Builder/types/resourceBuilder.d.ts +172 -10
  74. package/Builder/types/serviceBusBuilder.d.ts +55 -0
  75. package/Builder/types/signalRBuilder.d.ts +65 -6
  76. package/Builder/types/sqlBuilder.d.ts +88 -1
  77. package/Builder/types/storageBuilder.d.ts +63 -0
  78. package/Builder/types/vaultBuilder.d.ts +43 -1
  79. package/Builder/types/vdiBuilder.d.ts +41 -2
  80. package/Builder/types/vmBuilder.d.ts +83 -1
  81. package/Builder/types/vnetBuilder.d.ts +107 -0
  82. package/Cdn/index.d.ts +1 -1
  83. package/Cdn/index.js +2 -2
  84. package/Common/AzureEnv/AutoTags.js +27 -0
  85. package/Common/{AzureEnv.js → AzureEnv/index.js} +3 -3
  86. package/Common/{LocationBuiltIn.js → Location/LocationBuiltIn.js} +1 -1
  87. package/Common/Location/index.js +36 -0
  88. package/Common/{Naming/Rulers.d.ts → Naming.d.ts} +12 -3
  89. package/Common/Naming.js +392 -0
  90. package/Common/RsInfo/Helper.js +8 -6
  91. package/Common/index.d.ts +1 -4
  92. package/Common/index.js +7 -7
  93. package/Core/KeyGenerators.js +4 -5
  94. package/Core/Random.js +2 -3
  95. package/KeyVault/CustomHelper.d.ts +1 -3
  96. package/KeyVault/CustomHelper.js +27 -3
  97. package/KeyVault/Helper.d.ts +5 -8
  98. package/KeyVault/Helper.js +35 -61
  99. package/KeyVault/index.d.ts +1 -11
  100. package/KeyVault/index.js +3 -21
  101. package/Logs/AppInsight.js +1 -2
  102. package/Logs/Helpers.js +1 -3
  103. package/Logs/LogAnalytics.js +1 -2
  104. package/README.md +37 -29
  105. package/Sql/index.js +4 -7
  106. package/Storage/Helper.js +5 -6
  107. package/Storage/index.js +8 -13
  108. package/VM/index.js +1 -2
  109. package/VNet/PrivateEndpoint.d.ts +47 -4
  110. package/VNet/PrivateEndpoint.js +69 -2
  111. package/VNet/index.d.ts +1 -0
  112. package/VNet/index.js +5 -1
  113. package/envHelper.d.ts +4 -0
  114. package/envHelper.js +62 -0
  115. package/package.json +1 -1
  116. package/types.d.ts +184 -12
  117. package/AzAd/ConditionalPolicies/index.d.ts +0 -0
  118. package/AzAd/ConditionalPolicies/index.js +0 -2
  119. package/AzAd/EnvRoles.Consts.d.ts +0 -22
  120. package/AzAd/EnvRoles.Consts.js +0 -173
  121. package/AzAd/EnvRoles.js +0 -94
  122. package/AzAd/Role.d.ts +0 -17
  123. package/AzAd/Role.js +0 -30
  124. package/Common/AutoTags.js +0 -27
  125. package/Common/GlobalEnv.d.ts +0 -3
  126. package/Common/GlobalEnv.js +0 -29
  127. package/Common/Location.js +0 -36
  128. package/Common/Naming/Rulers.js +0 -537
  129. package/Common/Naming/index.d.ts +0 -10
  130. package/Common/Naming/index.js +0 -112
  131. package/Sql/Auditing.d.ts +0 -0
  132. package/Sql/Auditing.js +0 -2
  133. package/Sql/Helper.d.ts +0 -9
  134. package/Sql/Helper.js +0 -11
  135. package/VNet/GlobalNetworkPeering.d.ts +0 -9
  136. package/VNet/GlobalNetworkPeering.js +0 -40
  137. /package/AzAd/{GraphDefinition.d.ts → Roles/GraphDefinition.d.ts} +0 -0
  138. /package/AzAd/{RolesBuiltIn.d.ts → Roles/RolesBuiltIn.d.ts} +0 -0
  139. /package/Common/{AutoTags.d.ts → AzureEnv/AutoTags.d.ts} +0 -0
  140. /package/Common/{AzureEnv.d.ts → AzureEnv/index.d.ts} +0 -0
  141. /package/Common/{LocationBuiltIn.d.ts → Location/LocationBuiltIn.d.ts} +0 -0
  142. /package/Common/{Location.d.ts → Location/index.d.ts} +0 -0
package/types.d.ts CHANGED
@@ -1,90 +1,182 @@
1
1
  import { CustomResourceOptions, Input, Output, Resource } from '@pulumi/pulumi';
2
- import { EnvRoleKeyTypes } from './AzAd/EnvRoles';
3
2
  import { IEnvRoleBuilder } from './Builder';
4
- export declare namespace NodeJS {
5
- interface ProcessEnv {
6
- DPA_NAMING_DISABLE_PREFIX?: string;
7
- DPA_NAMING_DISABLE_REGION?: string;
8
- DPA_NAMING_DISABLE_SUFFIX?: string;
9
- }
10
- }
11
3
  /** Omit all the key of OT from T */
12
4
  export type TypeOmit<T, OT> = Omit<T, keyof OT>;
13
5
  export type OmitOpts<T> = TypeOmit<T, OptsArgs>;
6
+ /**
7
+ * Information about a resource group.
8
+ */
14
9
  export type ResourceGroupInfo = {
15
10
  resourceGroupName: string;
16
11
  location?: Input<string>;
17
12
  };
13
+ /**
14
+ * Information about a resource group with an ID.
15
+ */
18
16
  export type ResourceGroupWithIdInfo = ResourceGroupInfo & {
19
17
  id: Input<string>;
20
18
  };
19
+ /**
20
+ * Properties for lockable resources.
21
+ */
21
22
  export type WithLockable = {
22
23
  lock?: boolean;
23
24
  };
25
+ /**
26
+ * Properties for resources with dependencies.
27
+ */
24
28
  export type WithDependsOn = {
25
29
  dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
26
30
  };
31
+ /**
32
+ * Options arguments for resources.
33
+ */
27
34
  export type OptsArgs = WithDependsOn & {
28
35
  importUri?: string;
29
36
  ignoreChanges?: string[];
30
37
  };
38
+ /**
39
+ * Arguments for login credentials.
40
+ */
31
41
  export type LoginArgs = {
32
42
  adminLogin: Input<string>;
33
43
  password: Input<string>;
34
44
  };
45
+ /**
46
+ * Properties for named types.
47
+ */
35
48
  export type WithNamedType = {
36
49
  name: string;
37
50
  };
51
+ /**
52
+ * Properties for resources with an output ID.
53
+ */
38
54
  export type WithOutputId = {
39
55
  id: Output<string>;
40
56
  };
57
+ /**
58
+ * Properties for resources with a subscription ID.
59
+ */
41
60
  export type WithSubId = {
42
61
  subscriptionId?: string;
43
62
  };
63
+ /**
64
+ * Properties for resources with principal IDs.
65
+ */
44
66
  export type WithPrincipalId = {
45
67
  clientId: Input<string>;
46
68
  principalId: Input<string>;
47
69
  };
70
+ /**
71
+ * Properties for resources with environment roles.
72
+ */
48
73
  export type WithEnvRoles = {
49
74
  envRoles?: IEnvRoleBuilder;
50
75
  envUIDInfo?: IdentityInfo;
51
76
  };
77
+ /**
78
+ * Properties for resources with encryption.
79
+ */
52
80
  export type WithEncryption = {
53
81
  enableEncryption?: boolean;
54
82
  };
83
+ /**
84
+ * Properties for resources with disk encryption.
85
+ */
55
86
  export type WithDiskEncryption = {
56
87
  diskEncryptionSetId?: Input<string>;
57
88
  };
89
+ /**
90
+ * Properties for resources with vault information.
91
+ */
58
92
  export type WithVaultInfo = {
59
93
  vaultInfo?: KeyVaultInfo;
60
94
  };
95
+ /**
96
+ * Properties for resources with resource group information.
97
+ */
61
98
  export type WithResourceGroupInfo = {
62
99
  group: ResourceGroupInfo;
63
100
  };
101
+ /**
102
+ * Properties for resources with log information.
103
+ */
64
104
  export type WithLogInfo = {
65
105
  logInfo?: LogInfo;
66
106
  };
107
+ /**
108
+ * Properties for resources with encryption information.
109
+ */
67
110
  export type WithEncryptionInfo = WithEnvRoles & WithVaultInfo & WithEncryption;
111
+ /**
112
+ * Properties for resources with Pulumi options.
113
+ */
68
114
  export type WithPulumiOpts = {
69
115
  opts?: CustomResourceOptions;
70
116
  };
117
+ /**
118
+ * Arguments for login credentials with environment roles.
119
+ */
71
120
  export type LoginWithEnvRolesArgs = LoginArgs & WithEnvRoles;
121
+ /**
122
+ * Properties for named types with vault information.
123
+ */
72
124
  export type NamedWithVaultType = WithNamedType & WithVaultInfo;
125
+ /**
126
+ * Basic arguments for named resources.
127
+ */
73
128
  export type NamedBasicArgs = WithNamedType & OptsArgs;
129
+ /**
130
+ * Basic arguments for named resources with vault information.
131
+ */
74
132
  export type NamedWithVaultBasicArgs = NamedWithVaultType & OptsArgs;
133
+ /**
134
+ * Arguments for resources.
135
+ */
75
136
  export type ResourceArgs = WithNamedType & WithResourceGroupInfo;
137
+ /**
138
+ * Arguments for resources with vault information.
139
+ */
76
140
  export type ResourceWithVaultArgs = ResourceArgs & NamedWithVaultType;
141
+ /**
142
+ * Arguments for encrypted resources.
143
+ */
77
144
  export type EncryptResourceArgs = ResourceWithVaultArgs & WithEncryptionInfo;
145
+ /**
146
+ * Basic arguments for resources with formattable names.
147
+ */
78
148
  export type BasicResourceArgs = WithFormattableName & ResourceArgs & OptsArgs;
149
+ /**
150
+ * Basic arguments for resources with vault information.
151
+ */
79
152
  export type BasicResourceWithVaultArgs = WithVaultInfo & BasicResourceArgs;
153
+ /**
154
+ * Basic arguments for encrypted resources.
155
+ */
80
156
  export type BasicEncryptResourceArgs = BasicResourceWithVaultArgs & WithEncryptionInfo & OptsArgs;
81
- /** Basic vs Info is Basic doesn't require of group info*/
157
+ /**
158
+ * Basic resource information.
159
+ */
82
160
  export type BasicResourceInfo = WithNamedType & WithOutputId;
161
+ /**
162
+ * Resource output information.
163
+ */
83
164
  export type ResourceInfo = BasicResourceInfo & ResourceArgs;
84
- /** Resource Info with Subscription ID */
165
+ /**
166
+ * Resource information with subscription ID.
167
+ */
85
168
  export type ResourceInfoWithSub = ResourceInfo & WithSubId;
169
+ /**
170
+ * Key vault information.
171
+ */
86
172
  export type KeyVaultInfo = ResourceInfo;
173
+ /**
174
+ * Identity information.
175
+ */
87
176
  export type IdentityInfo = WithOutputId & WithPrincipalId;
177
+ /**
178
+ * Active Directory identity information.
179
+ */
88
180
  export type AdIdentityInfo = WithNamedType & {
89
181
  objectId: Output<string>;
90
182
  clientId: Output<string>;
@@ -92,13 +184,22 @@ export type AdIdentityInfo = WithNamedType & {
92
184
  principalId: Output<string> | undefined;
93
185
  principalSecret: Output<string> | undefined;
94
186
  };
187
+ /**
188
+ * Active Directory identity information with instance.
189
+ */
95
190
  export type AdIdentityInfoWithInstance<TInstance> = AdIdentityInfo & WithInstance<TInstance>;
191
+ /**
192
+ * Storage connection information.
193
+ */
96
194
  export type StorageConnectionInfo = {
97
195
  primaryConnection?: Output<string>;
98
196
  secondaryConnection?: Output<string>;
99
197
  primaryKey?: Output<string>;
100
198
  secondaryKey?: Output<string>;
101
199
  };
200
+ /**
201
+ * Storage information.
202
+ */
102
203
  export type StorageInfo = ResourceInfo & StorageConnectionInfo & {
103
204
  endpoints: {
104
205
  blob: string;
@@ -106,51 +207,91 @@ export type StorageInfo = ResourceInfo & StorageConnectionInfo & {
106
207
  table: string;
107
208
  };
108
209
  };
210
+ /**
211
+ * Application Insights secrets information.
212
+ */
109
213
  export type AppInsightSecretsInfo = {
110
214
  instrumentationKey?: Output<string>;
111
215
  };
216
+ /**
217
+ * Application Insights information.
218
+ */
112
219
  export type AppInsightInfo = ResourceInfo & AppInsightSecretsInfo;
220
+ /**
221
+ * Log workspace secrets information.
222
+ */
113
223
  export type LogWorkspaceSecretsInfo = {
114
224
  primarySharedKey?: Output<string>;
115
225
  secondarySharedKey?: Output<string>;
116
226
  workspaceId?: Output<string>;
117
227
  };
228
+ /**
229
+ * Log workspace information.
230
+ */
118
231
  export type LogWorkspaceInfo = ResourceInfo & LogWorkspaceSecretsInfo;
232
+ /**
233
+ * Log information.
234
+ */
119
235
  export type LogInfo = {
120
236
  logWp: LogWorkspaceInfo;
121
237
  logStorage: StorageInfo;
122
238
  appInsight: AppInsightInfo;
123
239
  };
240
+ /**
241
+ * Interface for identity information with instance.
242
+ */
124
243
  export interface IdentityInfoWithInstance<InstanceType> extends IdentityInfo, WithInstance<InstanceType> {
125
244
  }
245
+ /**
246
+ * Interface for resources with instance.
247
+ */
126
248
  export interface WithInstance<InstanceType> {
127
249
  instance: InstanceType;
128
250
  }
129
- /** Basic vs Info is Basic doesn't required of group info*/
251
+ /**
252
+ * Interface for basic resource information with instance.
253
+ */
130
254
  export interface BasicResourceInfoWithInstance<InstanceType> extends WithInstance<InstanceType>, BasicResourceInfo {
131
255
  }
256
+ /**
257
+ * Interface for resource information with instance.
258
+ */
132
259
  export interface ResourceInfoWithInstance<InstanceType> extends WithInstance<InstanceType>, ResourceInfo {
133
260
  }
261
+ /**
262
+ * Properties for private link.
263
+ */
134
264
  export type PrivateLinkPropsType = {
135
265
  privateIpAddress?: Input<string>;
136
266
  /** The Subnet that private links will be created.*/
137
267
  subnetIds: Input<string>[];
138
268
  /** The extra Vnet that Private DNS Zone will be linked.*/
139
269
  extraVnetIds?: Input<string>[];
140
- type?: string;
141
270
  };
271
+ /**
272
+ * Properties for network.
273
+ */
142
274
  export type NetworkPropsType = {
143
275
  subnetId?: Input<string>;
144
276
  ipAddresses?: Input<string>[];
145
277
  privateLink?: PrivateLinkPropsType;
146
278
  };
279
+ /**
280
+ * Properties for identity role assignment.
281
+ */
147
282
  export type IdentityRoleAssignment = WithVaultInfo & {
148
283
  role?: EnvRoleKeyTypes;
149
284
  };
285
+ /**
286
+ * Interface for replace pattern.
287
+ */
150
288
  export interface ReplacePattern {
151
289
  from: string | RegExp;
152
290
  to: string;
153
291
  }
292
+ /**
293
+ * Properties for naming conventions.
294
+ */
154
295
  export type ConventionProps = {
155
296
  prefix?: string;
156
297
  suffix?: string;
@@ -165,13 +306,44 @@ export type ConventionProps = {
165
306
  /**The regex to replace specials characters from the name*/
166
307
  replaces?: ReplacePattern[];
167
308
  };
309
+ export type EnvRoleKeyTypes = 'readOnly' | 'contributor' | 'admin';
310
+ export type RoleEnableItem = boolean | {
311
+ [k in EnvRoleKeyTypes]?: boolean;
312
+ };
313
+ export type EnvRoleInfoType = {
314
+ objectId: string;
315
+ displayName: string;
316
+ };
317
+ export type EnvRolesInfo = Record<EnvRoleKeyTypes, Output<EnvRoleInfoType> | EnvRoleInfoType>;
318
+ export type RoleEnableTypes = {
319
+ enableRGRoles?: RoleEnableItem;
320
+ enableAksRoles?: RoleEnableItem;
321
+ enableStorageRoles?: RoleEnableItem;
322
+ enableIotRoles?: RoleEnableItem;
323
+ enableVaultRoles?: RoleEnableItem;
324
+ /** Container Registry Roles */
325
+ enableACRRoles?: RoleEnableItem;
326
+ enableAppConfig?: RoleEnableItem;
327
+ enableServiceBus?: RoleEnableItem;
328
+ enableSignalR?: RoleEnableItem;
329
+ };
330
+ export type ListRoleType = Record<EnvRoleKeyTypes, Set<string>>;
331
+ /**
332
+ * Type for naming.
333
+ */
168
334
  export type NamingType = string | {
169
335
  val: string;
170
336
  rule: ConventionProps;
171
337
  };
338
+ /**
339
+ * Properties for formattable names.
340
+ */
172
341
  export type WithFormattableName = {
173
342
  name: NamingType;
174
343
  };
344
+ /**
345
+ * Properties for diagnostic settings.
346
+ */
175
347
  export type DiagnosticProps = WithNamedType & WithDependsOn & {
176
348
  logInfo: Partial<Omit<LogInfo, 'appInsight'>>;
177
349
  targetResourceId: Input<string>;
File without changes
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQXpBZC9Db25kaXRpb25hbFBvbGljaWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,22 +0,0 @@
1
- import { EnvRoleKeyTypes, EnvRolesInfo } from './EnvRoles';
2
- import { RoleAssignmentProps } from './RoleAssignment';
3
- export type ListRoleType = Record<EnvRoleKeyTypes, Set<string>>;
4
- export declare const grantEnvRolesAccess: ({ name, envRoles, scope, dependsOn, ...others }: RoleEnableTypes & Omit<RoleAssignmentProps, "roleName" | "principalType" | "principalId"> & {
5
- envRoles: EnvRolesInfo;
6
- }) => void;
7
- export type RoleEnableItem = boolean | {
8
- [k in EnvRoleKeyTypes]?: boolean;
9
- };
10
- export type RoleEnableTypes = {
11
- enableRGRoles?: RoleEnableItem;
12
- enableAksRoles?: RoleEnableItem;
13
- enableStorageRoles?: RoleEnableItem;
14
- enableIotRoles?: RoleEnableItem;
15
- enableVaultRoles?: RoleEnableItem;
16
- /** Container Registry Roles */
17
- enableACRRoles?: RoleEnableItem;
18
- enableAppConfig?: RoleEnableItem;
19
- enableServiceBus?: RoleEnableItem;
20
- enableSignalR?: RoleEnableItem;
21
- };
22
- export declare const getRoleNames: ({ enableRGRoles, enableIotRoles, enableVaultRoles, enableAksRoles, enableStorageRoles, enableACRRoles, enableAppConfig, enableServiceBus, enableSignalR, }: RoleEnableTypes) => Record<EnvRoleKeyTypes, string[]>;
@@ -1,173 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRoleNames = exports.grantEnvRolesAccess = void 0;
4
- const RoleAssignment_1 = require("./RoleAssignment");
5
- const getRoleFor = (roleType, roleCollection, results) => {
6
- if (!roleType)
7
- return results;
8
- const allows = {
9
- readOnly: typeof roleType === 'boolean' ? roleType : roleType.readOnly,
10
- contributor: typeof roleType === 'boolean' ? roleType : roleType.contributor,
11
- admin: typeof roleType === 'boolean' ? roleType : roleType.admin,
12
- };
13
- if (allows.readOnly) {
14
- roleCollection.readOnly.forEach((r) => results.readOnly.add(r));
15
- }
16
- if (allows.contributor) {
17
- roleCollection.contributor.forEach((r) => results.contributor.add(r));
18
- }
19
- if (allows.admin) {
20
- roleCollection.admin.forEach((r) => results.admin.add(r));
21
- }
22
- return results;
23
- };
24
- const grantEnvRolesAccess = ({ name, envRoles, scope, dependsOn, ...others }) => {
25
- const roles = (0, exports.getRoleNames)(others);
26
- Object.keys(envRoles).forEach((k) => {
27
- const type = k;
28
- const objectId = envRoles[type].objectId;
29
- if (!objectId) {
30
- console.warn(`The Env role '${type}' was ignored as the objectId was NULL.`);
31
- return;
32
- }
33
- const n = `${name}-${type}`;
34
- roles[type].forEach((r) => (0, RoleAssignment_1.roleAssignment)({
35
- name: n,
36
- roleName: r,
37
- principalId: objectId,
38
- principalType: 'Group',
39
- scope,
40
- dependsOn,
41
- }));
42
- });
43
- };
44
- exports.grantEnvRolesAccess = grantEnvRolesAccess;
45
- //Resource Group Role
46
- const RGRoleNames = {
47
- readOnly: ['Reader'],
48
- contributor: ['Contributor'],
49
- admin: ['Owner'],
50
- };
51
- //AKS Roles
52
- const AksRoleNames = {
53
- readOnly: [
54
- 'Azure Kubernetes Service RBAC Reader',
55
- 'Azure Kubernetes Service Cluster User Role',
56
- ],
57
- contributor: [
58
- 'Azure Kubernetes Service RBAC Writer',
59
- 'Azure Kubernetes Service Cluster User Role',
60
- ],
61
- admin: [
62
- 'Azure Kubernetes Service RBAC Cluster Admin',
63
- 'Azure Kubernetes Service RBAC Cluster Admin',
64
- ],
65
- };
66
- //IOT Roles
67
- const IOTHubRoleNames = {
68
- readOnly: ['IoT Hub Data Reader'],
69
- contributor: ['IoT Hub Data Contributor'],
70
- admin: ['IoT Hub Registry Contributor', 'IoT Hub Twin Contributor'],
71
- };
72
- //Key Vault Roles
73
- const KeyVaultRoleNames = {
74
- readOnly: [
75
- 'Key Vault Crypto Service Encryption User',
76
- 'Key Vault Crypto Service Release User',
77
- 'Key Vault Secrets User',
78
- 'Key Vault Crypto User',
79
- 'Key Vault Certificate User',
80
- 'Key Vault Reader',
81
- ],
82
- contributor: [
83
- 'Key Vault Certificates Officer',
84
- 'Key Vault Crypto Officer',
85
- 'Key Vault Secrets Officer',
86
- 'Key Vault Contributor',
87
- ],
88
- admin: ['Key Vault Administrator', 'Key Vault Data Access Administrator'],
89
- };
90
- //Storage Roles
91
- const StorageRoleNames = {
92
- readOnly: [
93
- 'Storage Blob Data Reader',
94
- 'Storage File Data SMB Share Reader',
95
- 'Storage Queue Data Reader',
96
- 'Storage Table Data Reader',
97
- ],
98
- contributor: [
99
- 'Storage Account Backup Contributor',
100
- 'Storage Account Contributor',
101
- 'Storage Account Encryption Scope Contributor Role',
102
- 'Storage Blob Data Contributor',
103
- 'Storage File Data Privileged Reader',
104
- 'Storage File Data SMB Share Contributor',
105
- 'Storage File Data SMB Share Elevated Contributor',
106
- 'Storage Queue Data Contributor',
107
- 'Storage Queue Data Message Processor',
108
- 'Storage Queue Data Message Sender',
109
- 'Storage Table Data Contributor',
110
- ],
111
- admin: [
112
- 'Storage Account Key Operator Service Role',
113
- 'Storage Blob Data Owner',
114
- 'Storage File Data Privileged Contributor',
115
- ],
116
- };
117
- //Container Registry Roles
118
- const ContainerRegistry = {
119
- readOnly: [
120
- //'ACR Registry Catalog Lister',
121
- 'ACR Repository Reader',
122
- 'AcrQuarantineReader',
123
- //'AcrPull',
124
- ],
125
- contributor: [
126
- 'AcrImageSigner',
127
- 'AcrPull',
128
- 'AcrPush',
129
- //'ACR Repository Contributor',
130
- //'ACR Repository Writer',
131
- //'AcrQuarantineWriter',
132
- ],
133
- admin: ['AcrDelete'],
134
- };
135
- //AppConfig Roles
136
- const AppConfigRoleNames = {
137
- readOnly: ['App Configuration Data Reader'],
138
- contributor: ['App Configuration Data Owner'],
139
- admin: [],
140
- };
141
- const ServiceBusRoles = {
142
- readOnly: ['Azure Service Bus Data Receiver'],
143
- contributor: ['Azure Service Bus Data Sender'],
144
- admin: ['Azure Service Bus Data Owner'],
145
- };
146
- const SignalRRoles = {
147
- readOnly: ['SignalR REST API Reader'],
148
- contributor: ['SignalR App Server'],
149
- admin: ['SignalR REST API Owner'],
150
- };
151
- const getRoleNames = ({ enableRGRoles, enableIotRoles, enableVaultRoles, enableAksRoles, enableStorageRoles, enableACRRoles, enableAppConfig, enableServiceBus, enableSignalR, }) => {
152
- const rs = {
153
- readOnly: new Set(),
154
- admin: new Set(),
155
- contributor: new Set(),
156
- };
157
- getRoleFor(enableIotRoles, IOTHubRoleNames, rs);
158
- getRoleFor(enableRGRoles, RGRoleNames, rs);
159
- getRoleFor(enableVaultRoles, KeyVaultRoleNames, rs);
160
- getRoleFor(enableAksRoles, AksRoleNames, rs);
161
- getRoleFor(enableStorageRoles, StorageRoleNames, rs);
162
- getRoleFor(enableACRRoles, ContainerRegistry, rs);
163
- getRoleFor(enableAppConfig, AppConfigRoleNames, rs);
164
- getRoleFor(enableServiceBus, ServiceBusRoles, rs);
165
- getRoleFor(enableSignalR, SignalRRoles, rs);
166
- return {
167
- readOnly: Array.from(rs.readOnly).sort(),
168
- admin: Array.from(rs.admin).sort(),
169
- contributor: Array.from(rs.contributor).sort(),
170
- };
171
- };
172
- exports.getRoleNames = getRoleNames;
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW52Um9sZXMuQ29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0F6QWQvRW52Um9sZXMuQ29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUF1RTtBQUl2RSxNQUFNLFVBQVUsR0FBRyxDQUNqQixRQUFvQyxFQUNwQyxjQUFpRCxFQUNqRCxPQUFxQixFQUNyQixFQUFFO0lBQ0YsSUFBSSxDQUFDLFFBQVE7UUFBRSxPQUFPLE9BQU8sQ0FBQztJQUU5QixNQUFNLE1BQU0sR0FBRztRQUNiLFFBQVEsRUFBRSxPQUFPLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVE7UUFDdEUsV0FBVyxFQUNULE9BQU8sUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVztRQUNqRSxLQUFLLEVBQUUsT0FBTyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0tBQ2pFLENBQUM7SUFFRixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQixjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pCLGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFSyxNQUFNLG1CQUFtQixHQUFHLENBQUMsRUFDbEMsSUFBSSxFQUNKLFFBQVEsRUFDUixLQUFLLEVBQ0wsU0FBUyxFQUNULEdBQUcsTUFBTSxFQUlSLEVBQUUsRUFBRTtJQUNMLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVksRUFBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLENBQW9CLENBQUM7UUFDbEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxPQUFPLENBQUMsSUFBSSxDQUNWLGlCQUFpQixJQUFJLHlDQUF5QyxDQUMvRCxDQUFDO1lBQ0YsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM1QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDeEIsSUFBQSwrQkFBYyxFQUFDO1lBQ2IsSUFBSSxFQUFFLENBQUM7WUFDUCxRQUFRLEVBQUUsQ0FBQztZQUNYLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLEtBQUs7WUFDTCxTQUFTO1NBQ1YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQWpDVyxRQUFBLG1CQUFtQix1QkFpQzlCO0FBRUYscUJBQXFCO0FBQ3JCLE1BQU0sV0FBVyxHQUFzQztJQUNyRCxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDcEIsV0FBVyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQzVCLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQztDQUNqQixDQUFDO0FBRUYsV0FBVztBQUNYLE1BQU0sWUFBWSxHQUFzQztJQUN0RCxRQUFRLEVBQUU7UUFDUixzQ0FBc0M7UUFDdEMsNENBQTRDO0tBQzdDO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsc0NBQXNDO1FBQ3RDLDRDQUE0QztLQUM3QztJQUNELEtBQUssRUFBRTtRQUNMLDZDQUE2QztRQUM3Qyw2Q0FBNkM7S0FDOUM7Q0FDRixDQUFDO0FBRUYsV0FBVztBQUNYLE1BQU0sZUFBZSxHQUFzQztJQUN6RCxRQUFRLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztJQUNqQyxXQUFXLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztJQUN6QyxLQUFLLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSwwQkFBMEIsQ0FBQztDQUNwRSxDQUFDO0FBRUYsaUJBQWlCO0FBQ2pCLE1BQU0saUJBQWlCLEdBQXNDO0lBQzNELFFBQVEsRUFBRTtRQUNSLDBDQUEwQztRQUMxQyx1Q0FBdUM7UUFDdkMsd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2Qiw0QkFBNEI7UUFDNUIsa0JBQWtCO0tBQ25CO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsZ0NBQWdDO1FBQ2hDLDBCQUEwQjtRQUMxQiwyQkFBMkI7UUFDM0IsdUJBQXVCO0tBQ3hCO0lBQ0QsS0FBSyxFQUFFLENBQUMseUJBQXlCLEVBQUUscUNBQXFDLENBQUM7Q0FDMUUsQ0FBQztBQUVGLGVBQWU7QUFDZixNQUFNLGdCQUFnQixHQUFzQztJQUMxRCxRQUFRLEVBQUU7UUFDUiwwQkFBMEI7UUFDMUIsb0NBQW9DO1FBQ3BDLDJCQUEyQjtRQUMzQiwyQkFBMkI7S0FDNUI7SUFDRCxXQUFXLEVBQUU7UUFDWCxvQ0FBb0M7UUFDcEMsNkJBQTZCO1FBQzdCLG1EQUFtRDtRQUNuRCwrQkFBK0I7UUFDL0IscUNBQXFDO1FBQ3JDLHlDQUF5QztRQUN6QyxrREFBa0Q7UUFDbEQsZ0NBQWdDO1FBQ2hDLHNDQUFzQztRQUN0QyxtQ0FBbUM7UUFDbkMsZ0NBQWdDO0tBQ2pDO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsMkNBQTJDO1FBQzNDLHlCQUF5QjtRQUN6QiwwQ0FBMEM7S0FDM0M7Q0FDRixDQUFDO0FBRUYsMEJBQTBCO0FBQzFCLE1BQU0saUJBQWlCLEdBQXNDO0lBQzNELFFBQVEsRUFBRTtRQUNSLGdDQUFnQztRQUNoQyx1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLFlBQVk7S0FDYjtJQUNELFdBQVcsRUFBRTtRQUNYLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsU0FBUztRQUVULCtCQUErQjtRQUMvQiwwQkFBMEI7UUFDMUIsd0JBQXdCO0tBQ3pCO0lBQ0QsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO0NBQ3JCLENBQUM7QUFFRixpQkFBaUI7QUFDakIsTUFBTSxrQkFBa0IsR0FBc0M7SUFDNUQsUUFBUSxFQUFFLENBQUMsK0JBQStCLENBQUM7SUFDM0MsV0FBVyxFQUFFLENBQUMsOEJBQThCLENBQUM7SUFDN0MsS0FBSyxFQUFFLEVBQUU7Q0FDVixDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQXNDO0lBQ3pELFFBQVEsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO0lBQzdDLFdBQVcsRUFBRSxDQUFDLCtCQUErQixDQUFDO0lBQzlDLEtBQUssRUFBRSxDQUFDLDhCQUE4QixDQUFDO0NBQ3hDLENBQUM7QUFFRixNQUFNLFlBQVksR0FBc0M7SUFDdEQsUUFBUSxFQUFFLENBQUMseUJBQXlCLENBQUM7SUFDckMsV0FBVyxFQUFFLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsS0FBSyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Q0FDbEMsQ0FBQztBQXdCSyxNQUFNLFlBQVksR0FBRyxDQUFDLEVBQzNCLGFBQWEsRUFDYixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsYUFBYSxHQUNHLEVBQXFDLEVBQUU7SUFDdkQsTUFBTSxFQUFFLEdBQWlCO1FBQ3ZCLFFBQVEsRUFBRSxJQUFJLEdBQUcsRUFBVTtRQUMzQixLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQVU7UUFDeEIsV0FBVyxFQUFFLElBQUksR0FBRyxFQUFVO0tBQy9CLENBQUM7SUFFRixVQUFVLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRCxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsVUFBVSxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0MsVUFBVSxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELFVBQVUsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsVUFBVSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTVDLE9BQU87UUFDTCxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFO1FBQ3hDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUU7UUFDbEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRTtLQUMvQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBaENXLFFBQUEsWUFBWSxnQkFnQ3ZCIn0=
package/AzAd/EnvRoles.js DELETED
@@ -1,94 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getEnvRolesOutput = exports.createEnvRoles = exports.pushEnvRolesToVault = void 0;
7
- const EnvRoles_Consts_1 = require("./EnvRoles.Consts");
8
- const Role_1 = __importDefault(require("./Role"));
9
- const pulumi_1 = require("@pulumi/pulumi");
10
- const Common_1 = require("../Common");
11
- const CustomHelper_1 = require("../KeyVault/CustomHelper");
12
- const Helper_1 = require("../KeyVault/Helper");
13
- const envRoleConfig = {
14
- readOnly: {
15
- roleName: 'Readonly',
16
- appName: 'Azure',
17
- },
18
- contributor: {
19
- roleName: 'Contributor',
20
- appName: 'Azure',
21
- },
22
- admin: {
23
- roleName: 'Admin',
24
- appName: 'Azure',
25
- },
26
- };
27
- const getRoleSecretName = (name) => ({
28
- objectIdName: (0, Helper_1.getVaultItemName)(`envRoles-${name}-object-id`),
29
- displayName: (0, Helper_1.getVaultItemName)(`envRoles-${name}-display-name`),
30
- });
31
- const pushEnvRolesToVault = (envRoles, vaultInfo) => {
32
- Object.keys(envRoleConfig).forEach((key) => {
33
- const role = envRoles[key];
34
- //Add to Key Vault
35
- const secretNames = getRoleSecretName(key);
36
- (0, CustomHelper_1.addCustomSecrets)({
37
- vaultInfo,
38
- contentType: 'Env Roles',
39
- items: [
40
- { name: secretNames.objectIdName, value: role.objectId },
41
- { name: secretNames.displayName, value: role.displayName },
42
- ],
43
- });
44
- });
45
- };
46
- exports.pushEnvRolesToVault = pushEnvRolesToVault;
47
- const createEnvRoles = () => {
48
- const groups = {};
49
- Object.keys(envRoleConfig).forEach((key) => {
50
- const k = key;
51
- const config = envRoleConfig[k];
52
- const g = (0, Role_1.default)(config);
53
- groups[k] = (0, pulumi_1.output)([g.objectId, g.displayName]).apply(([i, d]) => ({
54
- objectId: i,
55
- displayName: d,
56
- }));
57
- });
58
- const pushToVault = (vaultInfo) => (0, exports.pushEnvRolesToVault)(groups, vaultInfo);
59
- //Allows Some Subscription level access
60
- //1. Allows to AcrPull
61
- (0, EnvRoles_Consts_1.grantEnvRolesAccess)({
62
- envRoles: groups,
63
- name: 'envRoles-SubScope-Access',
64
- scope: Common_1.defaultSubScope,
65
- enableACRRoles: { contributor: true },
66
- });
67
- return {
68
- ...groups,
69
- pushToVault,
70
- };
71
- };
72
- exports.createEnvRoles = createEnvRoles;
73
- /** Get Single Env Role Object */
74
- const getEnvRole = async (name, vaultInfo) => {
75
- const secretNames = getRoleSecretName(name);
76
- const [objectId, displayName] = await Promise.all([
77
- (0, Helper_1.getSecret)({ name: secretNames.objectIdName, vaultInfo }),
78
- (0, Helper_1.getSecret)({ name: secretNames.displayName, vaultInfo }),
79
- ]);
80
- return {
81
- displayName: displayName?.value,
82
- objectId: objectId?.value,
83
- };
84
- };
85
- /** Get All Env Role Objects */
86
- const getEnvRolesOutput = (vaultInfo) => {
87
- const rs = {};
88
- Object.keys(envRoleConfig).forEach((key) => {
89
- rs[key] = (0, pulumi_1.output)(getEnvRole(key, vaultInfo));
90
- });
91
- return rs;
92
- };
93
- exports.getEnvRolesOutput = getEnvRolesOutput;
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW52Um9sZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQXpBZC9FbnZSb2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBd0Q7QUFDeEQsa0RBQXlDO0FBRXpDLDJDQUFnRDtBQUNoRCxzQ0FBNEM7QUFDNUMsMkRBQTREO0FBQzVELCtDQUFpRTtBQUlqRSxNQUFNLGFBQWEsR0FBdUM7SUFDeEQsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLE9BQU87S0FDakI7SUFDRCxXQUFXLEVBQUU7UUFDWCxRQUFRLEVBQUUsYUFBYTtRQUN2QixPQUFPLEVBQUUsT0FBTztLQUNqQjtJQUNELEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLE9BQU8sRUFBRSxPQUFPO0tBQ2pCO0NBQ0YsQ0FBQztBQVFGLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsWUFBWSxFQUFFLElBQUEseUJBQWdCLEVBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQztJQUM1RCxXQUFXLEVBQUUsSUFBQSx5QkFBZ0IsRUFBQyxZQUFZLElBQUksZUFBZSxDQUFDO0NBQy9ELENBQUMsQ0FBQztBQU1JLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsUUFBc0IsRUFDdEIsU0FBdUIsRUFDdkIsRUFBRTtJQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDekMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQXNCLENBQUMsQ0FBQztRQUM5QyxrQkFBa0I7UUFDbEIsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsSUFBQSwrQkFBZ0IsRUFBQztZQUNmLFNBQVM7WUFDVCxXQUFXLEVBQUUsV0FBVztZQUN4QixLQUFLLEVBQUU7Z0JBQ0ws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
package/AzAd/Role.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { GroupPermissionProps } from "./Group";
2
- import { Environments } from "../Common/AzureEnv";
3
- import { Input } from "@pulumi/pulumi";
4
- export interface RoleProps {
5
- env?: Environments;
6
- /** The country code or GLB for Global*/
7
- location?: string;
8
- appName: string;
9
- moduleName?: string;
10
- roleName: string;
11
- members?: Input<string>[];
12
- owners?: Input<Input<string>[]>;
13
- permissions?: Array<GroupPermissionProps>;
14
- }
15
- export type RoleNameType = Pick<RoleProps, "env" | "location" | "appName" | "moduleName" | "roleName">;
16
- declare const _default: ({ members, owners, permissions, ...others }: RoleProps) => import("@pulumi/pulumi").Output<import("@pulumi/azuread/group").Group>;
17
- export default _default;