@drunk-pulumi/azure-components 1.0.1 → 1.0.3

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 (104) hide show
  1. package/README.md +127 -1
  2. package/ResourceBuilder.d.ts +85 -46
  3. package/ResourceBuilder.js +147 -46
  4. package/aks/AzKubernetes.d.ts +17 -3
  5. package/aks/AzKubernetes.js +92 -43
  6. package/aks/ContainerRegistry.d.ts +4 -3
  7. package/aks/ContainerRegistry.js +22 -19
  8. package/apim/Apim.d.ts +51 -0
  9. package/apim/Apim.js +248 -0
  10. package/apim/ApimApi.d.ts +34 -0
  11. package/apim/ApimApi.js +193 -0
  12. package/apim/ApimApiSet.d.ts +27 -0
  13. package/apim/ApimApiSet.js +88 -0
  14. package/apim/ApimPolicyBuilder.d.ts +93 -0
  15. package/apim/ApimPolicyBuilder.js +294 -0
  16. package/apim/ApimProduct.d.ts +27 -0
  17. package/apim/ApimProduct.js +118 -0
  18. package/apim/index.d.ts +2 -0
  19. package/apim/index.js +19 -0
  20. package/apim/openAPI3Type.d.ts +85 -0
  21. package/apim/openAPI3Type.js +3 -0
  22. package/apim/openApiHelper.d.ts +1 -0
  23. package/apim/openApiHelper.js +36 -0
  24. package/app/SignalR.d.ts +3 -3
  25. package/app/SignalR.js +35 -20
  26. package/azAd/AppRegistration.d.ts +15 -11
  27. package/azAd/AppRegistration.js +67 -68
  28. package/azAd/AzRole.js +2 -2
  29. package/azAd/GroupRole.d.ts +7 -17
  30. package/azAd/GroupRole.js +7 -17
  31. package/azAd/RoleAssignment.d.ts +1 -1
  32. package/azAd/RoleAssignment.js +5 -5
  33. package/azAd/UserAssignedIdentity.d.ts +3 -0
  34. package/azAd/UserAssignedIdentity.js +23 -7
  35. package/azAd/helpers/index.d.ts +0 -2
  36. package/azAd/helpers/index.js +26 -22
  37. package/azAd/helpers/rolesBuiltIn.d.ts +10 -19
  38. package/azAd/helpers/rolesBuiltIn.js +25868 -18593
  39. package/azAd/helpers/rsRoleDefinition.d.ts +12 -6
  40. package/azAd/helpers/rsRoleDefinition.js +48 -32
  41. package/base/BaseComponent.d.ts +1 -15
  42. package/base/BaseComponent.js +3 -22
  43. package/base/BaseResourceComponent.d.ts +24 -17
  44. package/base/BaseResourceComponent.js +61 -45
  45. package/base/helpers.d.ts +0 -6
  46. package/base/helpers.js +1 -18
  47. package/common/RandomPassword.js +4 -4
  48. package/common/RandomString.d.ts +1 -1
  49. package/common/RandomString.js +3 -3
  50. package/common/ResourceLocker.js +2 -2
  51. package/common/RsGroup.js +2 -2
  52. package/database/AzSql.d.ts +5 -5
  53. package/database/AzSql.js +37 -24
  54. package/database/MySql.d.ts +1 -1
  55. package/database/MySql.js +45 -28
  56. package/database/Postgres.d.ts +2 -1
  57. package/database/Postgres.js +29 -17
  58. package/database/Redis.d.ts +25 -4
  59. package/database/Redis.js +88 -25
  60. package/helpers/autoTags.js +37 -3
  61. package/helpers/certHelpers.d.ts +20 -0
  62. package/helpers/certHelpers.js +85 -0
  63. package/helpers/rsHelpers.d.ts +19 -1
  64. package/helpers/rsHelpers.js +27 -4
  65. package/helpers/stackEnv.d.ts +2 -1
  66. package/helpers/stackEnv.js +10 -7
  67. package/index.d.ts +1 -0
  68. package/index.js +2 -1
  69. package/package.json +11 -7
  70. package/services/Automation.d.ts +3 -1
  71. package/services/Automation.js +8 -8
  72. package/services/ServiceBus.d.ts +3 -2
  73. package/services/ServiceBus.js +17 -19
  74. package/types.d.ts +44 -15
  75. package/vault/EncryptionKey.d.ts +1 -1
  76. package/vault/EncryptionKey.js +4 -4
  77. package/vault/KeyVault.d.ts +3 -8
  78. package/vault/KeyVault.js +4 -7
  79. package/vault/VaultSecret.d.ts +1 -1
  80. package/vault/VaultSecret.js +9 -9
  81. package/vault/VaultSecrets.d.ts +2 -4
  82. package/vault/VaultSecrets.js +4 -6
  83. package/vault/helpers.d.ts +17 -0
  84. package/vault/helpers.js +56 -3
  85. package/vm/DiskEncryptionSet.js +2 -2
  86. package/vm/VirtualMachine.d.ts +2 -1
  87. package/vm/VirtualMachine.js +37 -25
  88. package/vnet/Basion.d.ts +4 -3
  89. package/vnet/Basion.js +17 -4
  90. package/vnet/DnsZone.d.ts +1 -1
  91. package/vnet/DnsZone.js +2 -2
  92. package/vnet/IpAddresses.d.ts +6 -2
  93. package/vnet/IpAddresses.js +2 -2
  94. package/vnet/NetworkPeering.d.ts +1 -1
  95. package/vnet/NetworkPeering.js +1 -1
  96. package/vnet/PrivateDnsZone.d.ts +1 -1
  97. package/vnet/PrivateDnsZone.js +4 -4
  98. package/vnet/PrivateEndpoint.d.ts +7 -10
  99. package/vnet/PrivateEndpoint.js +11 -10
  100. package/vnet/RouteTable.d.ts +1 -1
  101. package/vnet/RouteTable.js +2 -2
  102. package/vnet/VirtualNetwork.d.ts +30 -43
  103. package/vnet/VirtualNetwork.js +77 -43
  104. package/vnet/VpnGateway.js +2 -2
@@ -2,7 +2,7 @@ import * as types from '../../types';
2
2
  export type RsRoleDefinitionType = Record<types.GroupRoleTypes, string[]>;
3
3
  declare const rsRoles: {
4
4
  rsGroup: {
5
- admin: string[];
5
+ admin: never[];
6
6
  contributor: string[];
7
7
  readOnly: string[];
8
8
  };
@@ -51,12 +51,18 @@ declare const rsRoles: {
51
51
  contributor: string[];
52
52
  admin: never[];
53
53
  };
54
+ virtualMachine: {
55
+ readOnly: string[];
56
+ contributor: string[];
57
+ admin: never[];
58
+ };
59
+ };
60
+ type RsRoleDefinitionWithMethods = RsRoleDefinitionType & {
61
+ getReadOnly: () => RsRoleDefinitionType;
62
+ getContributor: () => RsRoleDefinitionType;
54
63
  };
55
64
  export type RsRoleDefinitionObject = {
56
- [K in keyof typeof rsRoles]: RsRoleDefinitionType & {
57
- getReadOnly: () => RsRoleDefinitionType;
58
- getContributor: () => RsRoleDefinitionType;
59
- };
65
+ [K in keyof typeof rsRoles]: RsRoleDefinitionWithMethods;
60
66
  };
61
- export declare const rsRoleDefinitions: RsRoleDefinitionObject;
67
+ export declare const rsRoleDefinitions: Record<"storage" | "keyVault" | "containerRegistry" | "virtualMachine" | "rsGroup" | "redis" | "serviceBus" | "signalR" | "aks" | "iotHub" | "appConfig", RsRoleDefinitionWithMethods>;
62
68
  export {};
@@ -1,16 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rsRoleDefinitions = void 0;
4
+ const rsHelpers_1 = require("../../helpers/rsHelpers");
4
5
  const rsRoles = {
5
6
  rsGroup: {
6
- admin: ['Owner'],
7
+ admin: [],
7
8
  contributor: ['Contributor'],
8
9
  readOnly: ['Reader'],
9
10
  },
10
11
  aks: {
11
- readOnly: ['Azure Kubernetes Service RBAC Reader', 'Azure Kubernetes Service Cluster User Role'],
12
- contributor: ['Azure Kubernetes Service RBAC Writer', 'Azure Kubernetes Service Cluster User Role'],
13
- admin: ['Azure Kubernetes Service RBAC Cluster Admin'],
12
+ readOnly: [
13
+ 'Azure Arc Kubernetes Viewer',
14
+ 'Azure Kubernetes Service Cluster User Role',
15
+ 'Azure Kubernetes Service RBAC Reader',
16
+ ],
17
+ contributor: ['Azure Arc Kubernetes Writer'],
18
+ admin: ['Azure Arc Kubernetes Admin'],
14
19
  },
15
20
  iotHub: {
16
21
  readOnly: ['IoT Hub Data Reader'],
@@ -61,19 +66,12 @@ const rsRoles = {
61
66
  ],
62
67
  },
63
68
  containerRegistry: {
64
- readOnly: [
65
- //'ACR Registry Catalog Lister',
66
- 'ACR Repository Reader',
67
- 'AcrQuarantineReader',
68
- //'AcrPull',
69
- ],
69
+ readOnly: ['Container Registry Repository Reader', 'AcrPull'],
70
70
  contributor: [
71
- 'AcrImageSigner',
72
- 'AcrPull',
71
+ 'Container Registry Repository Writer',
73
72
  'AcrPush',
74
- //'ACR Repository Contributor',
75
- //'ACR Repository Writer',
76
- //'AcrQuarantineWriter',
73
+ 'Container Registry Repository Contributor',
74
+ 'Container Registry Data Importer and Data Reader',
77
75
  ],
78
76
  admin: ['AcrDelete'],
79
77
  },
@@ -97,24 +95,42 @@ const rsRoles = {
97
95
  contributor: ['Redis Cache Contributor'],
98
96
  admin: [],
99
97
  },
98
+ virtualMachine: {
99
+ readOnly: ['Virtual Machine User Login', 'Virtual Machine Local User Login'],
100
+ contributor: ['Virtual Machine Contributor'],
101
+ admin: [],
102
+ },
100
103
  };
101
104
  function getRsRoleDefinitions() {
102
- return Object.entries(rsRoles).reduce((acc, [key, roles]) => {
103
- acc[key] = {
104
- ...roles,
105
- getReadOnly: () => ({
106
- admin: [],
107
- contributor: [],
108
- readOnly: roles.readOnly,
109
- }),
110
- getContributor: () => ({
111
- admin: [],
112
- contributor: roles.contributor,
113
- readOnly: roles.readOnly,
114
- }),
115
- };
116
- return acc;
117
- }, {});
105
+ // return Object.entries(rsRoles).reduce((acc, [key, roles]) => {
106
+ // acc[key as keyof typeof rsRoles] = {
107
+ // ...roles,
108
+ // getReadOnly: () => ({
109
+ // admin: [],
110
+ // contributor: [],
111
+ // readOnly: roles.readOnly,
112
+ // }),
113
+ // getContributor: () => ({
114
+ // admin: [],
115
+ // contributor: roles.contributor,
116
+ // readOnly: roles.readOnly,
117
+ // }),
118
+ // };
119
+ // return acc;
120
+ // }, {} as RsRoleDefinitionObject);
121
+ return (0, rsHelpers_1.dictReduce)(rsRoles, (key, roles) => ({
122
+ ...roles,
123
+ getReadOnly: () => ({
124
+ admin: [],
125
+ contributor: [],
126
+ readOnly: roles.readOnly,
127
+ }),
128
+ getContributor: () => ({
129
+ admin: [],
130
+ contributor: roles.contributor,
131
+ readOnly: roles.readOnly,
132
+ }),
133
+ }));
118
134
  }
119
135
  exports.rsRoleDefinitions = getRsRoleDefinitions();
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnNSb2xlRGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hekFkL2hlbHBlcnMvcnNSb2xlRGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxNQUFNLE9BQU8sR0FBRztJQUNkLE9BQU8sRUFBRTtRQUNQLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUNoQixXQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDNUIsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO0tBQ3JCO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsUUFBUSxFQUFFLENBQUMsc0NBQXNDLEVBQUUsNENBQTRDLENBQUM7UUFDaEcsV0FBVyxFQUFFLENBQUMsc0NBQXNDLEVBQUUsNENBQTRDLENBQUM7UUFDbkcsS0FBSyxFQUFFLENBQUMsNkNBQTZDLENBQUM7S0FDdkQ7SUFDRCxNQUFNLEVBQUU7UUFDTixRQUFRLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztRQUNqQyxXQUFXLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztRQUN6QyxLQUFLLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSwwQkFBMEIsQ0FBQztLQUNwRTtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRTtZQUNSLDBDQUEwQztZQUMxQyx1Q0FBdUM7WUFDdkMsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2Qiw0QkFBNEI7WUFDNUIsa0JBQWtCO1NBQ25CO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsZ0NBQWdDO1lBQ2hDLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsdUJBQXVCO1NBQ3hCO1FBQ0QsS0FBSyxFQUFFLENBQUMseUJBQXlCLEVBQUUscUNBQXFDLENBQUM7S0FDMUU7SUFDRCxPQUFPLEVBQUU7UUFDUCxRQUFRLEVBQUU7WUFDUiwwQkFBMEI7WUFDMUIsb0NBQW9DO1lBQ3BDLDJCQUEyQjtZQUMzQiwyQkFBMkI7U0FDNUI7UUFDRCxXQUFXLEVBQUU7WUFDWCxvQ0FBb0M7WUFDcEMsNkJBQTZCO1lBQzdCLG1EQUFtRDtZQUNuRCwrQkFBK0I7WUFDL0IscUNBQXFDO1lBQ3JDLHlDQUF5QztZQUN6QyxrREFBa0Q7WUFDbEQsZ0NBQWdDO1lBQ2hDLHNDQUFzQztZQUN0QyxtQ0FBbUM7WUFDbkMsZ0NBQWdDO1NBQ2pDO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsMkNBQTJDO1lBQzNDLHlCQUF5QjtZQUN6QiwwQ0FBMEM7U0FDM0M7S0FDRjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLFFBQVEsRUFBRTtZQUNSLGdDQUFnQztZQUNoQyx1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLFlBQVk7U0FDYjtRQUNELFdBQVcsRUFBRTtZQUNYLGdCQUFnQjtZQUNoQixTQUFTO1lBQ1QsU0FBUztZQUVULCtCQUErQjtZQUMvQiwwQkFBMEI7WUFDMUIsd0JBQXdCO1NBQ3pCO1FBQ0QsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO0tBQ3JCO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsUUFBUSxFQUFFLENBQUMsK0JBQStCLENBQUM7UUFDM0MsV0FBVyxFQUFFLENBQUMsOEJBQThCLENBQUM7UUFDN0MsS0FBSyxFQUFFLEVBQUU7S0FDVjtJQUNELFVBQVUsRUFBRTtRQUNWLFFBQVEsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO1FBQzdDLFdBQVcsRUFBRSxDQUFDLCtCQUErQixDQUFDO1FBQzlDLEtBQUssRUFBRSxDQUFDLDhCQUE4QixDQUFDO0tBQ3hDO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsUUFBUSxFQUFFLENBQUMseUJBQXlCLENBQUM7UUFDckMsV0FBVyxFQUFFLENBQUMsb0JBQW9CLENBQUM7UUFDbkMsS0FBSyxFQUFFLENBQUMsd0JBQXdCLENBQUM7S0FDbEM7SUFDRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsRUFBRTtRQUNaLFdBQVcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO1FBQ3hDLEtBQUssRUFBRSxFQUFFO0tBQ1Y7Q0FDRixDQUFDO0FBUUYsU0FBUyxvQkFBb0I7SUFDM0IsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1FBQzFELEdBQUcsQ0FBQyxHQUEyQixDQUFDLEdBQUc7WUFDakMsR0FBRyxLQUFLO1lBQ1IsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ2xCLEtBQUssRUFBRSxFQUFFO2dCQUNULFdBQVcsRUFBRSxFQUFFO2dCQUNmLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QixDQUFDO1lBQ0YsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3JCLEtBQUssRUFBRSxFQUFFO2dCQUNULFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2FBQ3pCLENBQUM7U0FDSCxDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBNEIsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFWSxRQUFBLGlCQUFpQixHQUFHLG9CQUFvQixFQUFFLENBQUMifQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnNSb2xlRGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hekFkL2hlbHBlcnMvcnNSb2xlRGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx1REFBcUQ7QUFJckQsTUFBTSxPQUFPLEdBQUc7SUFDZCxPQUFPLEVBQUU7UUFDUCxLQUFLLEVBQUUsRUFBRTtRQUNULFdBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM1QixRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7S0FDckI7SUFDRCxHQUFHLEVBQUU7UUFDSCxRQUFRLEVBQUU7WUFDUiw2QkFBNkI7WUFDN0IsNENBQTRDO1lBQzVDLHNDQUFzQztTQUN2QztRQUNELFdBQVcsRUFBRSxDQUFDLDZCQUE2QixDQUFDO1FBQzVDLEtBQUssRUFBRSxDQUFDLDRCQUE0QixDQUFDO0tBQ3RDO0lBQ0QsTUFBTSxFQUFFO1FBQ04sUUFBUSxFQUFFLENBQUMscUJBQXFCLENBQUM7UUFDakMsV0FBVyxFQUFFLENBQUMsMEJBQTBCLENBQUM7UUFDekMsS0FBSyxFQUFFLENBQUMsOEJBQThCLEVBQUUsMEJBQTBCLENBQUM7S0FDcEU7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUU7WUFDUiwwQ0FBMEM7WUFDMUMsdUNBQXVDO1lBQ3ZDLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsNEJBQTRCO1lBQzVCLGtCQUFrQjtTQUNuQjtRQUNELFdBQVcsRUFBRTtZQUNYLGdDQUFnQztZQUNoQywwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLHVCQUF1QjtTQUN4QjtRQUNELEtBQUssRUFBRSxDQUFDLHlCQUF5QixFQUFFLHFDQUFxQyxDQUFDO0tBQzFFO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsUUFBUSxFQUFFO1lBQ1IsMEJBQTBCO1lBQzFCLG9DQUFvQztZQUNwQywyQkFBMkI7WUFDM0IsMkJBQTJCO1NBQzVCO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsb0NB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
@@ -29,25 +29,11 @@ export declare abstract class BaseComponent<TArgs extends pulumi.Inputs> extends
29
29
  * This method should be overridden by derived classes to ensure proper output registration.
30
30
  * @param outputs - The outputs to register for this component
31
31
  */
32
- protected registerOutputs(outputs: pulumi.Inputs | pulumi.Output<pulumi.Inputs>): void;
32
+ protected registerOutputs(): void;
33
33
  /**
34
34
  * Abstract method that must be implemented by derived classes to expose component outputs.
35
35
  * This method should return all relevant outputs that consumers of the component might need.
36
36
  * @returns An object containing the component's outputs, either as direct values or Pulumi outputs
37
37
  */
38
38
  abstract getOutputs(): pulumi.Inputs | pulumi.Output<pulumi.Inputs>;
39
- /**
40
- * Utility method to selectively extract specific properties from the component instance.
41
- * Useful for creating a subset of component properties for downstream consumption.
42
- *
43
- * @template K - Generic type parameter constrained to keys of the component instance
44
- * @param keys - Array of property names to extract from the component
45
- * @returns A new object containing only the requested properties from the component
46
- * @example
47
- * ```typescript
48
- * const component = new MyComponent();
49
- * const subset = component.PickOutputs('name', 'id');
50
- * ```
51
- */
52
- PickOutputs<K extends keyof this>(...keys: K[]): Pick<this, K>;
53
39
  }
@@ -71,28 +71,9 @@ class BaseComponent extends pulumi.ComponentResource {
71
71
  * This method should be overridden by derived classes to ensure proper output registration.
72
72
  * @param outputs - The outputs to register for this component
73
73
  */
74
- registerOutputs(outputs) {
75
- super.registerOutputs(outputs);
76
- }
77
- /**
78
- * Utility method to selectively extract specific properties from the component instance.
79
- * Useful for creating a subset of component properties for downstream consumption.
80
- *
81
- * @template K - Generic type parameter constrained to keys of the component instance
82
- * @param keys - Array of property names to extract from the component
83
- * @returns A new object containing only the requested properties from the component
84
- * @example
85
- * ```typescript
86
- * const component = new MyComponent();
87
- * const subset = component.PickOutputs('name', 'id');
88
- * ```
89
- */
90
- PickOutputs(...keys) {
91
- return keys.reduce((acc, key) => {
92
- acc[key] = this[key];
93
- return acc;
94
- }, {});
74
+ registerOutputs() {
75
+ super.registerOutputs(this.getOutputs());
95
76
  }
96
77
  }
97
78
  exports.BaseComponent = BaseComponent;
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYXNlL0Jhc2VDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBQ3pDLHVDQUFxRDtBQUVyRDs7Ozs7O0dBTUc7QUFDSDs7Ozs7R0FLRztBQUNILE1BQXNCLGFBQTJDLFNBQVEsTUFBTSxDQUFDLGlCQUF3QjtJQVVwRjtJQUNHO0lBQ0E7SUFYckI7Ozs7OztPQU1HO0lBQ0gsWUFDRSxJQUFZLEVBQ0ksSUFBWSxFQUNULElBQVcsRUFDWCxJQUFzQztRQUV6RCxLQUFLLENBQUMsSUFBQSxrQ0FBd0IsRUFBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBSnhDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDVCxTQUFJLEdBQUosSUFBSSxDQUFPO1FBQ1gsU0FBSSxHQUFKLElBQUksQ0FBa0M7SUFHM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxlQUFlLENBQUMsT0FBcUQ7UUFDN0UsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBU0Q7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ksV0FBVyxDQUF1QixHQUFHLElBQVM7UUFDbkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzlCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBSSxJQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBbUIsQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQXBERCxzQ0FvREMifQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYXNlL0Jhc2VDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBRXpDLHVDQUFxRDtBQUVyRDs7Ozs7O0dBTUc7QUFDSDs7Ozs7R0FLRztBQUNILE1BQXNCLGFBQTJDLFNBQVEsTUFBTSxDQUFDLGlCQUF3QjtJQVVwRjtJQUNHO0lBQ0E7SUFYckI7Ozs7OztPQU1HO0lBQ0gsWUFDRSxJQUFZLEVBQ0ksSUFBWSxFQUNULElBQVcsRUFDWCxJQUFzQztRQUV6RCxLQUFLLENBQUMsSUFBQSxrQ0FBd0IsRUFBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBSnhDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDVCxTQUFJLEdBQUosSUFBSSxDQUFPO1FBQ1gsU0FBSSxHQUFKLElBQUksQ0FBa0M7SUFHM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxlQUFlO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQVFGO0FBaENELHNDQWdDQyJ9
@@ -1,11 +1,12 @@
1
1
  import * as pulumi from '@pulumi/pulumi';
2
+ import * as types from '../types';
2
3
  import { RandomPassword, RandomPasswordArgs } from '../common/RandomPassword';
3
4
  import { RandomString, RandomStringArgs } from '../common/RandomString';
4
- import { ResourceLocker } from '../common/ResourceLocker';
5
- import * as types from '../types';
6
- import { EncryptionKey } from '../vault/EncryptionKey';
7
5
  import { VaultSecretResult } from '../vault/VaultSecrets';
8
6
  import { BaseComponent } from './BaseComponent';
7
+ import { EncryptionKey } from '../vault/EncryptionKey';
8
+ import { ResourceLocker } from '../common/ResourceLocker';
9
+ import { RoleAssignment } from '../azAd/RoleAssignment';
9
10
  /**
10
11
  * Base interface for resource component arguments that combines vault information
11
12
  * and Azure AD group role requirements.
@@ -44,11 +45,11 @@ export declare abstract class BaseResourceComponent<TArgs extends BaseArgs> exte
44
45
  readonly name: string;
45
46
  protected readonly args: TArgs;
46
47
  protected readonly opts?: pulumi.ComponentResourceOptions | undefined;
47
- private _secrets;
48
- private _vaultSecretsCreated;
49
48
  vaultSecrets?: {
50
49
  [key: string]: VaultSecretResult;
51
50
  };
51
+ private _secrets;
52
+ private _vaultSecretsCreated;
52
53
  /**
53
54
  * Creates a new instance of BaseResourceComponent
54
55
  * @param type - The type of the resource component
@@ -58,10 +59,15 @@ export declare abstract class BaseResourceComponent<TArgs extends BaseArgs> exte
58
59
  */
59
60
  constructor(type: string, name: string, args: TArgs, opts?: pulumi.ComponentResourceOptions | undefined);
60
61
  /**
61
- * Internal method to handle post-creation secret management
62
- * Creates vault secrets if any secrets were added during component creation
62
+ * Adds a managed identity to a specified Azure AD group role
63
+ * @param type - The type of group role to add the identity to (from GroupRoleTypes enum)
64
+ * @param identity - A Pulumi output containing the managed identity with its principal ID
65
+ * @returns A new GroupMember resource if successful, undefined if groupRoles not configured or identity invalid
63
66
  */
64
- private postCreated;
67
+ addIdentityToRole(type: types.GroupRoleTypes, identity: pulumi.Input<{
68
+ principalId: pulumi.Input<string>;
69
+ } | undefined>): pulumi.OutputInstance<import("@pulumi/azuread/groupMember").GroupMember | undefined> | undefined;
70
+ protected grantPermissionsToIdentity({ identity, resource, roleNames }: types.GrantIdentityRoles): pulumi.Output<pulumi.Output<pulumi.Output<RoleAssignment>[]> | undefined>;
65
71
  /**
66
72
  * Adds a single secret to the component
67
73
  * Can be called multiple times to add different secrets
@@ -81,6 +87,7 @@ export declare abstract class BaseResourceComponent<TArgs extends BaseArgs> exte
81
87
  * Overwrote this method with no parameters as it will be provided by calling getOutputs method.
82
88
  */
83
89
  protected registerOutputs(): void;
90
+ getOutputs(): pulumi.Inputs | pulumi.Output<pulumi.Inputs>;
84
91
  /**
85
92
  * Creates a new encryption key in the Azure Key Vault
86
93
  * @returns A new EncryptionKey instance if vaultInfo is provided, undefined otherwise
@@ -93,16 +100,16 @@ export declare abstract class BaseResourceComponent<TArgs extends BaseArgs> exte
93
100
  * Generates a new random password with predefined settings
94
101
  * @returns A new RandomPassword instance with 20 characters length, yearly rotation policy, and no special characters
95
102
  */
96
- protected createPassword(props?: RandomPasswordArgs): RandomPassword;
97
- protected createRandomString(props?: RandomStringArgs): RandomString;
103
+ protected createPassword(props?: RandomPasswordArgs & {
104
+ name?: string;
105
+ }): RandomPassword;
106
+ protected createRandomString(props?: RandomStringArgs & {
107
+ name?: string;
108
+ }): RandomString;
98
109
  protected lockFromDeleting(resource: pulumi.CustomResource): ResourceLocker;
99
110
  /**
100
- * Adds a managed identity to a specified Azure AD group role
101
- * @param type - The type of group role to add the identity to (from GroupRoleTypes enum)
102
- * @param identity - A Pulumi output containing the managed identity with its principal ID
103
- * @returns A new GroupMember resource if successful, undefined if groupRoles not configured or identity invalid
111
+ * Internal method to handle post-creation secret management
112
+ * Creates vault secrets if any secrets were added during component creation
104
113
  */
105
- addIdentityToRole(type: types.GroupRoleTypes, identity: pulumi.Input<{
106
- principalId: pulumi.Input<string>;
107
- } | undefined>): pulumi.OutputInstance<import("@pulumi/azuread/groupMember").GroupMember | undefined> | undefined;
114
+ private postCreated;
108
115
  }
@@ -38,10 +38,11 @@ const azAd = __importStar(require("@pulumi/azuread"));
38
38
  const pulumi = __importStar(require("@pulumi/pulumi"));
39
39
  const RandomPassword_1 = require("../common/RandomPassword");
40
40
  const RandomString_1 = require("../common/RandomString");
41
- const ResourceLocker_1 = require("../common/ResourceLocker");
42
- const EncryptionKey_1 = require("../vault/EncryptionKey");
43
41
  const VaultSecrets_1 = require("../vault/VaultSecrets");
44
42
  const BaseComponent_1 = require("./BaseComponent");
43
+ const EncryptionKey_1 = require("../vault/EncryptionKey");
44
+ const ResourceLocker_1 = require("../common/ResourceLocker");
45
+ const RoleAssignment_1 = require("../azAd/RoleAssignment");
45
46
  const helpers_1 = require("./helpers");
46
47
  /**
47
48
  * BaseResourceComponent serves as a foundational abstract class for Azure resource management
@@ -65,9 +66,9 @@ class BaseResourceComponent extends BaseComponent_1.BaseComponent {
65
66
  name;
66
67
  args;
67
68
  opts;
69
+ vaultSecrets;
68
70
  _secrets = {};
69
71
  _vaultSecretsCreated = false;
70
- vaultSecrets;
71
72
  /**
72
73
  * Creates a new instance of BaseResourceComponent
73
74
  * @param type - The type of the resource component
@@ -83,28 +84,35 @@ class BaseResourceComponent extends BaseComponent_1.BaseComponent {
83
84
  this.opts = opts;
84
85
  }
85
86
  /**
86
- * Internal method to handle post-creation secret management
87
- * Creates vault secrets if any secrets were added during component creation
87
+ * Adds a managed identity to a specified Azure AD group role
88
+ * @param type - The type of group role to add the identity to (from GroupRoleTypes enum)
89
+ * @param identity - A Pulumi output containing the managed identity with its principal ID
90
+ * @returns A new GroupMember resource if successful, undefined if groupRoles not configured or identity invalid
88
91
  */
89
- postCreated() {
90
- const { vaultInfo } = this.args;
91
- if (Object.keys(this._secrets).length <= 0 || !vaultInfo)
92
- return;
93
- if (this._vaultSecretsCreated)
92
+ addIdentityToRole(type, identity) {
93
+ const { groupRoles } = this.args;
94
+ if (!groupRoles)
94
95
  return;
95
- const se = {};
96
- for (const key in this._secrets) {
97
- se[key] = {
98
- value: this._secrets[key],
99
- contentType: `${this.type} ${key}`,
100
- };
101
- }
102
- this._vaultSecretsCreated = true;
103
- const rs = new VaultSecrets_1.VaultSecrets(this.name, {
104
- vaultInfo,
105
- secrets: se,
106
- }, { dependsOn: this.opts?.dependsOn, parent: this });
107
- this.vaultSecrets = rs.results;
96
+ return pulumi.output(identity).apply((i) => {
97
+ if (!i?.principalId)
98
+ return;
99
+ return new azAd.GroupMember(`${this.name}-${type}-${i.principalId}`, {
100
+ groupObjectId: groupRoles[type].objectId,
101
+ memberObjectId: i.principalId,
102
+ });
103
+ });
104
+ }
105
+ grantPermissionsToIdentity({ identity, resource, roleNames }) {
106
+ return pulumi.output(identity).apply((id) => {
107
+ if (!id?.principalId)
108
+ return;
109
+ return pulumi.output(resource).apply((re) => roleNames.map((r) => pulumi.interpolate `${this.name}-${re.resourceName}-${r}`.apply((n) => new RoleAssignment_1.RoleAssignment(n, {
110
+ principalId: id.principalId,
111
+ principalType: 'ServicePrincipal',
112
+ roleName: r,
113
+ scope: re.id,
114
+ }, { parent: this, deletedWith: this }))));
115
+ });
108
116
  }
109
117
  /**
110
118
  * Adds a single secret to the component
@@ -128,27 +136,31 @@ class BaseResourceComponent extends BaseComponent_1.BaseComponent {
128
136
  */
129
137
  registerOutputs() {
130
138
  this.postCreated();
131
- super.registerOutputs({ ...this.getOutputs(), vaultSecrets: this.vaultSecrets });
139
+ super.registerOutputs();
140
+ }
141
+ getOutputs() {
142
+ return { vaultSecrets: this.vaultSecrets };
132
143
  }
133
144
  /**
134
145
  * Creates a new encryption key in the Azure Key Vault
135
146
  * @returns A new EncryptionKey instance if vaultInfo is provided, undefined otherwise
136
147
  */
137
148
  getEncryptionKey({ name, keySize } = { keySize: 4096 }) {
138
- if (!this.args.vaultInfo) {
139
- throw new Error(`VaultInfo is required for encryption key creation in component ${this.name}`);
149
+ const vault = this.args.vaultInfo;
150
+ if (!vault) {
151
+ throw new Error(`The VaultInfo is required for encryption key creation in component "${this.type}:${this.name}"`);
140
152
  }
141
- return new EncryptionKey_1.EncryptionKey(name ? `${this.name}-${name}` : this.name, { vaultInfo: this.args.vaultInfo, keySize }, { dependsOn: this.opts?.dependsOn, parent: this });
153
+ return new EncryptionKey_1.EncryptionKey(name ? `${this.name}-${name}` : this.name, { vaultInfo: vault, keySize }, { dependsOn: this.opts?.dependsOn, parent: this });
142
154
  }
143
155
  /**
144
156
  * Generates a new random password with predefined settings
145
157
  * @returns A new RandomPassword instance with 20 characters length, yearly rotation policy, and no special characters
146
158
  */
147
159
  createPassword(props = { length: 20, policy: 'yearly', options: { special: false } }) {
148
- return new RandomPassword_1.RandomPassword(this.name, props, { parent: this });
160
+ return new RandomPassword_1.RandomPassword(props.name ?? this.name, props, { parent: this });
149
161
  }
150
162
  createRandomString(props = { type: 'string', length: 10, options: { special: false } }) {
151
- return new RandomString_1.RandomString(this.name, props, { parent: this });
163
+ return new RandomString_1.RandomString(props.name ?? this.name, props, { parent: this });
152
164
  }
153
165
  lockFromDeleting(resource) {
154
166
  return new ResourceLocker_1.ResourceLocker(`${this.name}-lock`, {
@@ -157,24 +169,28 @@ class BaseResourceComponent extends BaseComponent_1.BaseComponent {
157
169
  }, { dependsOn: resource, parent: this });
158
170
  }
159
171
  /**
160
- * Adds a managed identity to a specified Azure AD group role
161
- * @param type - The type of group role to add the identity to (from GroupRoleTypes enum)
162
- * @param identity - A Pulumi output containing the managed identity with its principal ID
163
- * @returns A new GroupMember resource if successful, undefined if groupRoles not configured or identity invalid
172
+ * Internal method to handle post-creation secret management
173
+ * Creates vault secrets if any secrets were added during component creation
164
174
  */
165
- addIdentityToRole(type, identity) {
166
- const { groupRoles } = this.args;
167
- if (!groupRoles)
175
+ postCreated() {
176
+ const { vaultInfo } = this.args;
177
+ if (this._vaultSecretsCreated || Object.keys(this._secrets).length <= 0 || !vaultInfo)
168
178
  return;
169
- return pulumi.output(identity).apply((i) => {
170
- if (!i?.principalId)
171
- return;
172
- return new azAd.GroupMember(`${this.name}-${type}-${i.principalId}`, {
173
- groupObjectId: groupRoles[type].objectId,
174
- memberObjectId: i.principalId,
175
- });
176
- });
179
+ console.log(`\nAdding secrets for ${this.type}:${this.name}`);
180
+ const se = {};
181
+ for (const key in this._secrets) {
182
+ se[key] = {
183
+ value: this._secrets[key],
184
+ contentType: `${this.type} ${this.name}`,
185
+ };
186
+ }
187
+ this._vaultSecretsCreated = true;
188
+ const rs = new VaultSecrets_1.VaultSecrets(this.name, {
189
+ vaultInfo,
190
+ secrets: se,
191
+ }, { dependsOn: this.opts?.dependsOn, parent: this });
192
+ this.vaultSecrets = rs.results;
177
193
  }
178
194
  }
179
195
  exports.BaseResourceComponent = BaseResourceComponent;
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVJlc291cmNlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UvQmFzZVJlc291cmNlQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF3QztBQUN4Qyx1REFBeUM7QUFDekMsNkRBQThFO0FBQzlFLHlEQUF3RTtBQUN4RSw2REFBMEQ7QUFFMUQsMERBQXVEO0FBRXZELHdEQUF3RTtBQUN4RSxtREFBZ0Q7QUFDaEQsdUNBQXFEO0FBa0JyRDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQXNCLHFCQUE4QyxTQUFRLDZCQUFvQjtJQWEzRTtJQUNEO0lBQ0c7SUFDQTtJQWZiLFFBQVEsR0FBNEMsRUFBRSxDQUFDO0lBQ3ZELG9CQUFvQixHQUFZLEtBQUssQ0FBQztJQUN2QyxZQUFZLENBQXdDO0lBRTNEOzs7Ozs7T0FNRztJQUNILFlBQ21CLElBQVksRUFDYixJQUFZLEVBQ1QsSUFBVyxFQUNYLElBQXNDO1FBRXpELEtBQUssQ0FBQyxJQUFBLGtDQUF3QixFQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFMdkMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNiLFNBQUksR0FBSixJQUFJLENBQVE7UUFDVCxTQUFJLEdBQUosSUFBSSxDQUFPO1FBQ1gsU0FBSSxHQUFKLElBQUksQ0FBa0M7SUFHM0QsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFdBQVc7UUFDakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDaEMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDakUsSUFBSSxJQUFJLENBQUMsb0JBQW9CO1lB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
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVJlc291cmNlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UvQmFzZVJlc291cmNlQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF3QztBQUN4Qyx1REFBeUM7QUFHekMsNkRBQThFO0FBQzlFLHlEQUF3RTtBQUN4RSx3REFBd0U7QUFFeEUsbURBQWdEO0FBQ2hELDBEQUF1RDtBQUN2RCw2REFBMEQ7QUFDMUQsMkRBQXdEO0FBRXhELHVDQUFxRDtBQWtCckQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFzQixxQkFBOEMsU0FBUSw2QkFBb0I7SUFhM0U7SUFDRDtJQUNHO0lBQ0E7SUFmZCxZQUFZLENBQXdDO0lBQ25ELFFBQVEsR0FBNEMsRUFBRSxDQUFDO0lBQ3ZELG9CQUFvQixHQUFZLEtBQUssQ0FBQztJQUU5Qzs7Ozs7O09BTUc7SUFDSCxZQUNtQixJQUFZLEVBQ2IsSUFBWSxFQUNULElBQVcsRUFDWCxJQUFzQztRQUV6RCxLQUFLLENBQUMsSUFBQSxrQ0FBd0IsRUFBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBTHZDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDYixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1QsU0FBSSxHQUFKLElBQUksQ0FBTztRQUNYLFNBQUksR0FBSixJQUFJLENBQWtDO0lBRzNELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGlCQUFpQixDQUN0QixJQUEwQixFQUMxQixRQUF5RTtRQUV6RSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFFeEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FB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
package/base/helpers.d.ts CHANGED
@@ -4,9 +4,3 @@
4
4
  * @returns Formatted resource type string with drunk-pulumi prefix if not already present
5
5
  */
6
6
  export declare function getComponentResourceType(type: string): string;
7
- export declare function arrayToMap<T extends {
8
- [key: string | number]: any;
9
- }>(array: T[], key: keyof T, transformer?: (value: T) => any): {
10
- [key: string | number]: T;
11
- };
12
- export declare function recordMap<Tin extends any, Tout>(records: Record<string, Tin>, transform: (value: Tin) => Tout): Record<string, Tout>;
package/base/helpers.js CHANGED
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getComponentResourceType = getComponentResourceType;
4
- exports.arrayToMap = arrayToMap;
5
- exports.recordMap = recordMap;
6
4
  /**
7
5
  * Formats the component resource type to ensure it follows the drunk-pulumi naming convention
8
6
  * @param type - The resource type string
@@ -11,19 +9,4 @@ exports.recordMap = recordMap;
11
9
  function getComponentResourceType(type) {
12
10
  return type.includes('drunk-pulumi') ? type : `drunk:pulumi:${type}`;
13
11
  }
14
- function arrayToMap(array, key, transformer) {
15
- return array.reduce((acc, curr) => {
16
- const keyValue = curr[key];
17
- if (keyValue) {
18
- acc[keyValue] = transformer ? transformer(curr) : curr;
19
- }
20
- return acc;
21
- }, {});
22
- }
23
- function recordMap(records, transform) {
24
- return Object.entries(records).reduce((acc, [name, item]) => ({
25
- ...acc,
26
- [name]: transform(item),
27
- }), {});
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYXNlL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSw0REFFQztBQUVELGdDQVlDO0FBRUQsOEJBV0M7QUFsQ0Q7Ozs7R0FJRztBQUNILFNBQWdCLHdCQUF3QixDQUFDLElBQVk7SUFDbkQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztBQUN2RSxDQUFDO0FBRUQsU0FBZ0IsVUFBVSxDQUN4QixLQUFVLEVBQ1YsR0FBWSxFQUNaLFdBQStCO0lBRS9CLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNoQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3pELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUEwQixDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVELFNBQWdCLFNBQVMsQ0FDdkIsT0FBNEIsRUFDNUIsU0FBK0I7SUFFL0IsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDbkMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEIsR0FBRyxHQUFHO1FBQ04sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDO0tBQ3hCLENBQUMsRUFDRixFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUMifQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYXNlL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSw0REFFQztBQVBEOzs7O0dBSUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxJQUFZO0lBQ25ELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7QUFDdkUsQ0FBQyJ9
@@ -35,9 +35,9 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.RandomPassword = void 0;
37
37
  const random = __importStar(require("@pulumi/random"));
38
- const helpers_1 = require("../base/helpers");
39
- const VaultSecret_1 = require("../vault/VaultSecret");
40
38
  const BaseComponent_1 = require("../base/BaseComponent");
39
+ const VaultSecret_1 = require("../vault/VaultSecret");
40
+ const helpers_1 = require("../base/helpers");
41
41
  class RandomPassword extends BaseComponent_1.BaseComponent {
42
42
  value;
43
43
  constructor(name, args = { length: 50, policy: 'yearly' }, opts) {
@@ -65,7 +65,7 @@ class RandomPassword extends BaseComponent_1.BaseComponent {
65
65
  new VaultSecret_1.VaultSecret(name, { vaultInfo, value: randomPass.result, contentType: 'RandomPassword' }, { dependsOn: randomPass, parent: this });
66
66
  }
67
67
  this.value = randomPass.result;
68
- this.registerOutputs(this.getOutputs());
68
+ this.registerOutputs();
69
69
  }
70
70
  getOutputs() {
71
71
  return {
@@ -81,4 +81,4 @@ class RandomPassword extends BaseComponent_1.BaseComponent {
81
81
  }
82
82
  }
83
83
  exports.RandomPassword = RandomPassword;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmFuZG9tUGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL1JhbmRvbVBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHVEQUF5QztBQUN6Qyw2Q0FBMkQ7QUFFM0Qsc0RBQW1EO0FBQ25ELHlEQUFzRDtBQWF0RCxNQUFhLGNBQWUsU0FBUSw2QkFBaUM7SUFDbkQsS0FBSyxDQUF3QjtJQUU3QyxZQUNFLElBQVksRUFDWixPQUEyQixFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUMzRCxJQUFzQztRQUV0QyxLQUFLLENBQUMsSUFBQSxrQ0FBd0IsRUFBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSTtZQUM5QixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxJQUFJO1lBQ1gsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQzFDLElBQUksRUFDSjtZQUNFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRTtZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFO1lBQ3pCLFFBQVEsRUFBRSxDQUFDO1lBQ1gsUUFBUSxFQUFFLENBQUM7WUFDWCxVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsR0FBRyxPQUFPO1lBQ1YsNkVBQTZFO1lBQzdFLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7U0FDbkUsRUFDRCxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FDMUIsQ0FBQztRQUVGLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLHlCQUFXLENBQ2IsSUFBSSxFQUNKLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxFQUN0RSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUN4QyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDO0lBQ0osQ0FBQztJQUNPLGVBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTO1lBQ25DLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUTtnQkFDL0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBMURELHdDQTBEQyJ9
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmFuZG9tUGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL1JhbmRvbVBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHVEQUF5QztBQUd6Qyx5REFBc0Q7QUFDdEQsc0RBQW1EO0FBQ25ELDZDQUEyRDtBQWEzRCxNQUFhLGNBQWUsU0FBUSw2QkFBaUM7SUFDbkQsS0FBSyxDQUF3QjtJQUU3QyxZQUNFLElBQVksRUFDWixPQUEyQixFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUMzRCxJQUFzQztRQUV0QyxLQUFLLENBQUMsSUFBQSxrQ0FBd0IsRUFBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSTtZQUM5QixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxJQUFJO1lBQ1gsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQzFDLElBQUksRUFDSjtZQUNFLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRTtZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFO1lBQ3pCLFFBQVEsRUFBRSxDQUFDO1lBQ1gsUUFBUSxFQUFFLENBQUM7WUFDWCxVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsR0FBRyxPQUFPO1lBQ1YsNkVBQTZFO1lBQzdFLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7U0FDbkUsRUFDRCxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FDMUIsQ0FBQztRQUVGLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLHlCQUFXLENBQ2IsSUFBSSxFQUNKLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxFQUN0RSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUN4QyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUM7SUFDSixDQUFDO0lBQ08sZUFBZTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVM7WUFDbkMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3hELENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRO2dCQUM3QixDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUExREQsd0NBMERDIn0=
@@ -1,6 +1,6 @@
1
1
  import * as pulumi from '@pulumi/pulumi';
2
- import { BaseComponent } from '../base/BaseComponent';
3
2
  import * as types from '../types';
3
+ import { BaseComponent } from '../base/BaseComponent';
4
4
  export interface RandomStringArgs extends types.WithVaultInfo {
5
5
  type: 'string' | 'uuId';
6
6
  length?: pulumi.Input<number>;
@@ -36,8 +36,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.RandomString = void 0;
37
37
  const random = __importStar(require("@pulumi/random"));
38
38
  const BaseComponent_1 = require("../base/BaseComponent");
39
- const helpers_1 = require("../base/helpers");
40
39
  const VaultSecret_1 = require("../vault/VaultSecret");
40
+ const helpers_1 = require("../base/helpers");
41
41
  class RandomString extends BaseComponent_1.BaseComponent {
42
42
  value;
43
43
  constructor(name, args = { length: 25, type: 'string' }, opts) {
@@ -62,7 +62,7 @@ class RandomString extends BaseComponent_1.BaseComponent {
62
62
  new VaultSecret_1.VaultSecret(name, { vaultInfo: args.vaultInfo, value: randomString.result, contentType: 'RandomString' }, { dependsOn: randomString, parent: this });
63
63
  }
64
64
  this.value = randomString.result;
65
- this.registerOutputs(this.getOutputs());
65
+ this.registerOutputs();
66
66
  }
67
67
  getOutputs() {
68
68
  return {
@@ -71,4 +71,4 @@ class RandomString extends BaseComponent_1.BaseComponent {
71
71
  }
72
72
  }
73
73
  exports.RandomString = RandomString;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmFuZG9tU3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9SYW5kb21TdHJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsdURBQXlDO0FBQ3pDLHlEQUFzRDtBQUN0RCw2Q0FBMkQ7QUFFM0Qsc0RBQW1EO0FBYW5ELE1BQWEsWUFBYSxTQUFRLDZCQUErQjtJQUMvQyxLQUFLLENBQXdCO0lBRTdDLFlBQ0UsSUFBWSxFQUNaLE9BQXlCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQ3ZELElBQXNDO1FBRXRDLEtBQUssQ0FBQyxJQUFBLGtDQUF3QixFQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSTtZQUM5QixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxJQUFJO1lBQ1gsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7UUFFRixNQUFNLFlBQVksR0FDaEIsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRO1lBQ25CLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQ3JCLElBQUksRUFDSjtnQkFDRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFO2dCQUN6QixRQUFRLEVBQUUsQ0FBQztnQkFDWCxRQUFRLEVBQUUsQ0FBQztnQkFDWCxVQUFVLEVBQUUsQ0FBQztnQkFDYixVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxHQUFHLE9BQU87YUFDWCxFQUNELEVBQUUsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUMxQjtZQUNILENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU1QyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLHlCQUFXLENBQ2IsSUFBSSxFQUNKLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxFQUN0RixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUMxQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBbERELG9DQWtEQyJ9
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmFuZG9tU3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9SYW5kb21TdHJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsdURBQXlDO0FBR3pDLHlEQUFzRDtBQUN0RCxzREFBbUQ7QUFDbkQsNkNBQTJEO0FBYTNELE1BQWEsWUFBYSxTQUFRLDZCQUErQjtJQUMvQyxLQUFLLENBQXdCO0lBRTdDLFlBQ0UsSUFBWSxFQUNaLE9BQXlCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQ3ZELElBQXNDO1FBRXRDLEtBQUssQ0FBQyxJQUFBLGtDQUF3QixFQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSTtZQUM5QixLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxJQUFJO1lBQ1gsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7UUFFRixNQUFNLFlBQVksR0FDaEIsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRO1lBQ25CLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQ3JCLElBQUksRUFDSjtnQkFDRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFO2dCQUN6QixRQUFRLEVBQUUsQ0FBQztnQkFDWCxRQUFRLEVBQUUsQ0FBQztnQkFDWCxVQUFVLEVBQUUsQ0FBQztnQkFDYixVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxHQUFHLE9BQU87YUFDWCxFQUNELEVBQUUsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUMxQjtZQUNILENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU1QyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLHlCQUFXLENBQ2IsSUFBSSxFQUNKLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxFQUN0RixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUMxQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFsREQsb0NBa0RDIn0=
@@ -45,8 +45,8 @@ class ResourceLocker extends pulumi.ComponentResource {
45
45
  level: args.level,
46
46
  scope: args.resource.id,
47
47
  notes: `Lock ${name} from ${args.level}`,
48
- }, { ...opts, parent: this });
48
+ }, { ...opts, parent: this, retainOnDelete: true });
49
49
  }
50
50
  }
51
51
  exports.ResourceLocker = ResourceLocker;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VMb2NrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL1Jlc291cmNlTG9ja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtGQUFvRTtBQUNwRSx1REFBeUM7QUFPekMsTUFBYSxjQUFlLFNBQVEsTUFBTSxDQUFDLGlCQUFxQztJQUM5RSxZQUFZLElBQVksRUFBRSxJQUF3QixFQUFFLElBQXNDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDbkUsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0QsSUFBSSxhQUFhLENBQUMscUJBQXFCLENBQ3JDLElBQUksRUFDSjtZQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3ZCLEtBQUssRUFBRSxRQUFRLElBQUksU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFO1NBQ3pDLEVBQ0QsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQzFCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFmRCx3Q0FlQyJ9
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VMb2NrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL1Jlc291cmNlTG9ja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtGQUFvRTtBQUNwRSx1REFBeUM7QUFPekMsTUFBYSxjQUFlLFNBQVEsTUFBTSxDQUFDLGlCQUFxQztJQUM5RSxZQUFZLElBQVksRUFBRSxJQUF3QixFQUFFLElBQXNDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDbkUsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFN0QsSUFBSSxhQUFhLENBQUMscUJBQXFCLENBQ3JDLElBQUksRUFDSjtZQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3ZCLEtBQUssRUFBRSxRQUFRLElBQUksU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFO1NBQ3pDLEVBQ0QsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FDaEQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWZELHdDQWVDIn0=