@reyemtech/nimbus 0.1.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -311
- package/dist/cjs/aws/dns.d.ts.map +1 -1
- package/dist/cjs/aws/dns.js +3 -1
- package/dist/cjs/aws/dns.js.map +1 -1
- package/dist/cjs/aws/index.d.ts +1 -0
- package/dist/cjs/aws/index.d.ts.map +1 -1
- package/dist/cjs/aws/index.js +3 -1
- package/dist/cjs/aws/index.js.map +1 -1
- package/dist/cjs/aws/network.d.ts.map +1 -1
- package/dist/cjs/aws/network.js +3 -1
- package/dist/cjs/aws/network.js.map +1 -1
- package/dist/cjs/aws/state.d.ts +32 -0
- package/dist/cjs/aws/state.d.ts.map +1 -0
- package/dist/cjs/aws/state.js +209 -0
- package/dist/cjs/aws/state.js.map +1 -0
- package/dist/cjs/azure/cluster.d.ts.map +1 -1
- package/dist/cjs/azure/cluster.js +15 -5
- package/dist/cjs/azure/cluster.js.map +1 -1
- package/dist/cjs/azure/dns.d.ts.map +1 -1
- package/dist/cjs/azure/dns.js +3 -1
- package/dist/cjs/azure/dns.js.map +1 -1
- package/dist/cjs/azure/index.d.ts +1 -0
- package/dist/cjs/azure/index.d.ts.map +1 -1
- package/dist/cjs/azure/index.js +3 -1
- package/dist/cjs/azure/index.js.map +1 -1
- package/dist/cjs/azure/network.d.ts.map +1 -1
- package/dist/cjs/azure/network.js +9 -3
- package/dist/cjs/azure/network.js.map +1 -1
- package/dist/cjs/azure/secrets.d.ts.map +1 -1
- package/dist/cjs/azure/secrets.js +6 -2
- package/dist/cjs/azure/secrets.js.map +1 -1
- package/dist/cjs/azure/state.d.ts +30 -0
- package/dist/cjs/azure/state.d.ts.map +1 -0
- package/dist/cjs/azure/state.js +115 -0
- package/dist/cjs/azure/state.js.map +1 -0
- package/dist/cjs/cache/interfaces.d.ts +12 -0
- package/dist/cjs/cache/interfaces.d.ts.map +1 -1
- package/dist/cjs/cli/templates.d.ts +67 -0
- package/dist/cjs/cli/templates.d.ts.map +1 -0
- package/dist/cjs/cli/templates.js +752 -0
- package/dist/cjs/cli/templates.js.map +1 -0
- package/dist/cjs/cli.d.ts +15 -0
- package/dist/cjs/cli.d.ts.map +1 -0
- package/dist/cjs/cli.js +209 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/cluster/interfaces.d.ts +28 -0
- package/dist/cjs/cluster/interfaces.d.ts.map +1 -1
- package/dist/cjs/database/interfaces.d.ts +15 -0
- package/dist/cjs/database/interfaces.d.ts.map +1 -1
- package/dist/cjs/dns/interfaces.d.ts +11 -0
- package/dist/cjs/dns/interfaces.d.ts.map +1 -1
- package/dist/cjs/factories/cluster.d.ts +4 -3
- package/dist/cjs/factories/cluster.d.ts.map +1 -1
- package/dist/cjs/factories/cluster.js +46 -11
- package/dist/cjs/factories/cluster.js.map +1 -1
- package/dist/cjs/factories/dns.d.ts +3 -2
- package/dist/cjs/factories/dns.d.ts.map +1 -1
- package/dist/cjs/factories/dns.js +44 -9
- package/dist/cjs/factories/dns.js.map +1 -1
- package/dist/cjs/factories/index.d.ts +1 -0
- package/dist/cjs/factories/index.d.ts.map +1 -1
- package/dist/cjs/factories/index.js +3 -1
- package/dist/cjs/factories/index.js.map +1 -1
- package/dist/cjs/factories/network.d.ts +4 -3
- package/dist/cjs/factories/network.d.ts.map +1 -1
- package/dist/cjs/factories/network.js +46 -11
- package/dist/cjs/factories/network.js.map +1 -1
- package/dist/cjs/factories/secrets.d.ts +4 -3
- package/dist/cjs/factories/secrets.d.ts.map +1 -1
- package/dist/cjs/factories/secrets.js +45 -10
- package/dist/cjs/factories/secrets.js.map +1 -1
- package/dist/cjs/factories/state.d.ts +33 -0
- package/dist/cjs/factories/state.d.ts.map +1 -0
- package/dist/cjs/factories/state.js +96 -0
- package/dist/cjs/factories/state.js.map +1 -0
- package/dist/cjs/factories/types.d.ts +22 -0
- package/dist/cjs/factories/types.d.ts.map +1 -1
- package/dist/cjs/factories/types.js +18 -0
- package/dist/cjs/factories/types.js.map +1 -1
- package/dist/cjs/global-lb/glb.d.ts.map +1 -1
- package/dist/cjs/global-lb/glb.js +23 -9
- package/dist/cjs/global-lb/glb.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/network/cidr.d.ts +34 -0
- package/dist/cjs/network/cidr.d.ts.map +1 -1
- package/dist/cjs/network/cidr.js +34 -0
- package/dist/cjs/network/cidr.js.map +1 -1
- package/dist/cjs/network/interfaces.d.ts +16 -0
- package/dist/cjs/network/interfaces.d.ts.map +1 -1
- package/dist/cjs/platform/interfaces.d.ts +1 -1
- package/dist/cjs/platform/interfaces.d.ts.map +1 -1
- package/dist/cjs/platform/stack.d.ts.map +1 -1
- package/dist/cjs/platform/stack.js +6 -1
- package/dist/cjs/platform/stack.js.map +1 -1
- package/dist/cjs/queue/interfaces.d.ts +8 -0
- package/dist/cjs/queue/interfaces.d.ts.map +1 -1
- package/dist/cjs/secrets/interfaces.d.ts +5 -0
- package/dist/cjs/secrets/interfaces.d.ts.map +1 -1
- package/dist/cjs/state/index.d.ts +7 -0
- package/dist/cjs/state/index.d.ts.map +1 -0
- package/dist/cjs/state/index.js +8 -0
- package/dist/cjs/state/index.js.map +1 -0
- package/dist/cjs/state/interfaces.d.ts +82 -0
- package/dist/cjs/state/interfaces.d.ts.map +1 -0
- package/dist/cjs/state/interfaces.js +11 -0
- package/dist/cjs/state/interfaces.js.map +1 -0
- package/dist/cjs/storage/interfaces.d.ts +17 -0
- package/dist/cjs/storage/interfaces.d.ts.map +1 -1
- package/dist/cjs/types/cloud-target.d.ts +12 -0
- package/dist/cjs/types/cloud-target.d.ts.map +1 -1
- package/dist/cjs/types/cloud-target.js +12 -0
- package/dist/cjs/types/cloud-target.js.map +1 -1
- package/dist/cjs/types/tags.d.ts +16 -0
- package/dist/cjs/types/tags.d.ts.map +1 -1
- package/dist/cjs/types/tags.js +16 -0
- package/dist/cjs/types/tags.js.map +1 -1
- package/dist/cjs/types/validation.d.ts.map +1 -1
- package/dist/cjs/types/validation.js +14 -11
- package/dist/cjs/types/validation.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +7 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +11 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/provider-loader.d.ts +14 -0
- package/dist/cjs/utils/provider-loader.d.ts.map +1 -0
- package/dist/cjs/utils/provider-loader.js +66 -0
- package/dist/cjs/utils/provider-loader.js.map +1 -0
- package/dist/esm/aws/dns.d.ts.map +1 -1
- package/dist/esm/aws/dns.js +3 -1
- package/dist/esm/aws/dns.js.map +1 -1
- package/dist/esm/aws/index.d.ts +1 -0
- package/dist/esm/aws/index.d.ts.map +1 -1
- package/dist/esm/aws/index.js +3 -1
- package/dist/esm/aws/index.js.map +1 -1
- package/dist/esm/aws/network.d.ts.map +1 -1
- package/dist/esm/aws/network.js +3 -1
- package/dist/esm/aws/network.js.map +1 -1
- package/dist/esm/aws/state.d.ts +32 -0
- package/dist/esm/aws/state.d.ts.map +1 -0
- package/dist/esm/aws/state.js +209 -0
- package/dist/esm/aws/state.js.map +1 -0
- package/dist/esm/azure/cluster.d.ts.map +1 -1
- package/dist/esm/azure/cluster.js +15 -5
- package/dist/esm/azure/cluster.js.map +1 -1
- package/dist/esm/azure/dns.d.ts.map +1 -1
- package/dist/esm/azure/dns.js +3 -1
- package/dist/esm/azure/dns.js.map +1 -1
- package/dist/esm/azure/index.d.ts +1 -0
- package/dist/esm/azure/index.d.ts.map +1 -1
- package/dist/esm/azure/index.js +3 -1
- package/dist/esm/azure/index.js.map +1 -1
- package/dist/esm/azure/network.d.ts.map +1 -1
- package/dist/esm/azure/network.js +9 -3
- package/dist/esm/azure/network.js.map +1 -1
- package/dist/esm/azure/secrets.d.ts.map +1 -1
- package/dist/esm/azure/secrets.js +6 -2
- package/dist/esm/azure/secrets.js.map +1 -1
- package/dist/esm/azure/state.d.ts +30 -0
- package/dist/esm/azure/state.d.ts.map +1 -0
- package/dist/esm/azure/state.js +115 -0
- package/dist/esm/azure/state.js.map +1 -0
- package/dist/esm/cache/interfaces.d.ts +12 -0
- package/dist/esm/cache/interfaces.d.ts.map +1 -1
- package/dist/esm/cli/templates.d.ts +67 -0
- package/dist/esm/cli/templates.d.ts.map +1 -0
- package/dist/esm/cli/templates.js +752 -0
- package/dist/esm/cli/templates.js.map +1 -0
- package/dist/esm/cli.d.ts +15 -0
- package/dist/esm/cli.d.ts.map +1 -0
- package/dist/esm/cli.js +176 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/cluster/interfaces.d.ts +28 -0
- package/dist/esm/cluster/interfaces.d.ts.map +1 -1
- package/dist/esm/database/interfaces.d.ts +15 -0
- package/dist/esm/database/interfaces.d.ts.map +1 -1
- package/dist/esm/dns/interfaces.d.ts +11 -0
- package/dist/esm/dns/interfaces.d.ts.map +1 -1
- package/dist/esm/factories/cluster.d.ts +4 -3
- package/dist/esm/factories/cluster.d.ts.map +1 -1
- package/dist/esm/factories/cluster.js +13 -11
- package/dist/esm/factories/cluster.js.map +1 -1
- package/dist/esm/factories/dns.d.ts +3 -2
- package/dist/esm/factories/dns.d.ts.map +1 -1
- package/dist/esm/factories/dns.js +11 -9
- package/dist/esm/factories/dns.js.map +1 -1
- package/dist/esm/factories/index.d.ts +1 -0
- package/dist/esm/factories/index.d.ts.map +1 -1
- package/dist/esm/factories/index.js +3 -1
- package/dist/esm/factories/index.js.map +1 -1
- package/dist/esm/factories/network.d.ts +4 -3
- package/dist/esm/factories/network.d.ts.map +1 -1
- package/dist/esm/factories/network.js +13 -11
- package/dist/esm/factories/network.js.map +1 -1
- package/dist/esm/factories/secrets.d.ts +4 -3
- package/dist/esm/factories/secrets.d.ts.map +1 -1
- package/dist/esm/factories/secrets.js +12 -10
- package/dist/esm/factories/secrets.js.map +1 -1
- package/dist/esm/factories/state.d.ts +33 -0
- package/dist/esm/factories/state.d.ts.map +1 -0
- package/dist/esm/factories/state.js +63 -0
- package/dist/esm/factories/state.js.map +1 -0
- package/dist/esm/factories/types.d.ts +22 -0
- package/dist/esm/factories/types.d.ts.map +1 -1
- package/dist/esm/factories/types.js +18 -0
- package/dist/esm/factories/types.js.map +1 -1
- package/dist/esm/global-lb/glb.d.ts.map +1 -1
- package/dist/esm/global-lb/glb.js +23 -9
- package/dist/esm/global-lb/glb.js.map +1 -1
- package/dist/esm/index.d.ts +2 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -13
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/network/cidr.d.ts +34 -0
- package/dist/esm/network/cidr.d.ts.map +1 -1
- package/dist/esm/network/cidr.js +34 -0
- package/dist/esm/network/cidr.js.map +1 -1
- package/dist/esm/network/interfaces.d.ts +16 -0
- package/dist/esm/network/interfaces.d.ts.map +1 -1
- package/dist/esm/platform/interfaces.d.ts +1 -1
- package/dist/esm/platform/interfaces.d.ts.map +1 -1
- package/dist/esm/platform/stack.d.ts.map +1 -1
- package/dist/esm/platform/stack.js +6 -1
- package/dist/esm/platform/stack.js.map +1 -1
- package/dist/esm/queue/interfaces.d.ts +8 -0
- package/dist/esm/queue/interfaces.d.ts.map +1 -1
- package/dist/esm/secrets/interfaces.d.ts +5 -0
- package/dist/esm/secrets/interfaces.d.ts.map +1 -1
- package/dist/esm/state/index.d.ts +7 -0
- package/dist/esm/state/index.d.ts.map +1 -0
- package/dist/esm/state/index.js +8 -0
- package/dist/esm/state/index.js.map +1 -0
- package/dist/esm/state/interfaces.d.ts +82 -0
- package/dist/esm/state/interfaces.d.ts.map +1 -0
- package/dist/esm/state/interfaces.js +11 -0
- package/dist/esm/state/interfaces.js.map +1 -0
- package/dist/esm/storage/interfaces.d.ts +17 -0
- package/dist/esm/storage/interfaces.d.ts.map +1 -1
- package/dist/esm/types/cloud-target.d.ts +12 -0
- package/dist/esm/types/cloud-target.d.ts.map +1 -1
- package/dist/esm/types/cloud-target.js +12 -0
- package/dist/esm/types/cloud-target.js.map +1 -1
- package/dist/esm/types/tags.d.ts +16 -0
- package/dist/esm/types/tags.d.ts.map +1 -1
- package/dist/esm/types/tags.js +16 -0
- package/dist/esm/types/tags.js.map +1 -1
- package/dist/esm/types/validation.d.ts.map +1 -1
- package/dist/esm/types/validation.js +14 -11
- package/dist/esm/types/validation.js.map +1 -1
- package/dist/esm/utils/index.d.ts +7 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +11 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/provider-loader.d.ts +14 -0
- package/dist/esm/utils/provider-loader.d.ts.map +1 -0
- package/dist/esm/utils/provider-loader.js +33 -0
- package/dist/esm/utils/provider-loader.js.map +1 -0
- package/package.json +41 -3
|
@@ -17,14 +17,15 @@ export type ICreateDnsConfig = IDnsConfig & {
|
|
|
17
17
|
* @param name - Resource name prefix
|
|
18
18
|
* @param config - DNS configuration with cloud target and optional providerOptions
|
|
19
19
|
* @returns Single IDns for a single cloud target, array for multi-cloud
|
|
20
|
+
* @throws {UnsupportedFeatureError} If the cloud provider is not supported or Azure options are missing
|
|
20
21
|
*
|
|
21
22
|
* @example
|
|
22
23
|
* ```typescript
|
|
23
|
-
* const dns = createDns("prod", {
|
|
24
|
+
* const dns = await createDns("prod", {
|
|
24
25
|
* cloud: "aws",
|
|
25
26
|
* zoneName: "example.com",
|
|
26
27
|
* });
|
|
27
28
|
* ```
|
|
28
29
|
*/
|
|
29
|
-
export declare function createDns(name: string, config: ICreateDnsConfig): IDns | IDns[]
|
|
30
|
+
export declare function createDns(name: string, config: ICreateDnsConfig): Promise<IDns | IDns[]>;
|
|
30
31
|
//# sourceMappingURL=dns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../../src/factories/dns.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../../src/factories/dns.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAG/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,wCAAwC;AACxC,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC;CAC7C,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAY9F"}
|
|
@@ -6,11 +6,42 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module factories/dns
|
|
8
8
|
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
9
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
43
|
exports.createDns = createDns;
|
|
11
44
|
const types_1 = require("../types");
|
|
12
|
-
const aws_1 = require("../aws");
|
|
13
|
-
const azure_1 = require("../azure");
|
|
14
45
|
const types_2 = require("./types");
|
|
15
46
|
/**
|
|
16
47
|
* Create a DNS zone for one or more cloud providers.
|
|
@@ -18,34 +49,38 @@ const types_2 = require("./types");
|
|
|
18
49
|
* @param name - Resource name prefix
|
|
19
50
|
* @param config - DNS configuration with cloud target and optional providerOptions
|
|
20
51
|
* @returns Single IDns for a single cloud target, array for multi-cloud
|
|
52
|
+
* @throws {UnsupportedFeatureError} If the cloud provider is not supported or Azure options are missing
|
|
21
53
|
*
|
|
22
54
|
* @example
|
|
23
55
|
* ```typescript
|
|
24
|
-
* const dns = createDns("prod", {
|
|
56
|
+
* const dns = await createDns("prod", {
|
|
25
57
|
* cloud: "aws",
|
|
26
58
|
* zoneName: "example.com",
|
|
27
59
|
* });
|
|
28
60
|
* ```
|
|
29
61
|
*/
|
|
30
|
-
function createDns(name, config) {
|
|
62
|
+
async function createDns(name, config) {
|
|
31
63
|
if (!(0, types_2.isMultiCloud)(config.cloud)) {
|
|
32
64
|
const target = (0, types_1.resolveCloudTarget)(config.cloud);
|
|
33
65
|
return dispatchDns(name, config, target, config.providerOptions);
|
|
34
66
|
}
|
|
35
67
|
const targets = (0, types_1.resolveCloudTarget)(config.cloud);
|
|
36
|
-
return targets.map((target) => dispatchDns(`${name}-${target.provider}`, config, target, config.providerOptions));
|
|
68
|
+
return Promise.all(targets.map((target) => dispatchDns(`${name}-${target.provider}`, config, target, config.providerOptions)));
|
|
37
69
|
}
|
|
38
|
-
function dispatchDns(name, config, target, opts) {
|
|
70
|
+
async function dispatchDns(name, config, target, opts) {
|
|
39
71
|
const targetConfig = { ...config, cloud: { provider: target.provider, region: target.region } };
|
|
40
72
|
switch (target.provider) {
|
|
41
|
-
case "aws":
|
|
42
|
-
|
|
73
|
+
case "aws": {
|
|
74
|
+
const { createRoute53Dns } = await Promise.resolve().then(() => __importStar(require("../aws/index.js")));
|
|
75
|
+
return createRoute53Dns(name, targetConfig);
|
|
76
|
+
}
|
|
43
77
|
case "azure": {
|
|
44
78
|
const azureOpts = opts?.azure;
|
|
45
79
|
if (!azureOpts) {
|
|
46
80
|
throw new types_1.UnsupportedFeatureError("Azure requires providerOptions.azure.resourceGroupName", "azure");
|
|
47
81
|
}
|
|
48
|
-
|
|
82
|
+
const { createAzureDns } = await Promise.resolve().then(() => __importStar(require("../azure/index.js")));
|
|
83
|
+
return createAzureDns(name, targetConfig, {
|
|
49
84
|
resourceGroupName: azureOpts.resourceGroupName,
|
|
50
85
|
});
|
|
51
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../../src/factories/dns.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../../src/factories/dns.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BH,8BAYC;AAtCD,oCAAuE;AAGvE,mCAAuC;AAOvC;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,MAAwB;IACpE,IAAI,CAAC,IAAA,oBAAY,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrB,WAAW,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAClF,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,MAAkB,EAClB,MAA2B,EAC3B,IAAuB;IAEvB,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAEhG,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;YAC7D,OAAO,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,+BAAuB,CAC/B,wDAAwD,EACxD,OAAO,CACR,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;YAC7D,OAAO,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE;gBACxC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;aAC/C,CAAC,CAAC;QACL,CAAC;QACD;YACE,MAAM,IAAI,+BAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -12,4 +12,5 @@ export { createNetwork, type ICreateNetworkConfig } from "./network";
|
|
|
12
12
|
export { createCluster, type ICreateClusterConfig } from "./cluster";
|
|
13
13
|
export { createDns, type ICreateDnsConfig } from "./dns";
|
|
14
14
|
export { createSecrets, type ICreateSecretsConfig } from "./secrets";
|
|
15
|
+
export { createStateBackend, type ICreateStateBackendConfig } from "./state";
|
|
15
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @module factories
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.createSecrets = exports.createDns = exports.createCluster = exports.createNetwork = exports.isMultiCloud = exports.extractProvider = void 0;
|
|
11
|
+
exports.createStateBackend = exports.createSecrets = exports.createDns = exports.createCluster = exports.createNetwork = exports.isMultiCloud = exports.extractProvider = void 0;
|
|
12
12
|
var types_1 = require("./types");
|
|
13
13
|
Object.defineProperty(exports, "extractProvider", { enumerable: true, get: function () { return types_1.extractProvider; } });
|
|
14
14
|
Object.defineProperty(exports, "isMultiCloud", { enumerable: true, get: function () { return types_1.isMultiCloud; } });
|
|
@@ -20,4 +20,6 @@ var dns_1 = require("./dns");
|
|
|
20
20
|
Object.defineProperty(exports, "createDns", { enumerable: true, get: function () { return dns_1.createDns; } });
|
|
21
21
|
var secrets_1 = require("./secrets");
|
|
22
22
|
Object.defineProperty(exports, "createSecrets", { enumerable: true, get: function () { return secrets_1.createSecrets; } });
|
|
23
|
+
var state_1 = require("./state");
|
|
24
|
+
Object.defineProperty(exports, "createStateBackend", { enumerable: true, get: function () { return state_1.createStateBackend; } });
|
|
23
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAGH,iCAAwD;AAA/C,wGAAA,eAAe,OAAA;AAAE,qGAAA,YAAY,OAAA;AAEtC,qCAAqE;AAA5D,wGAAA,aAAa,OAAA;AACtB,qCAAqE;AAA5D,wGAAA,aAAa,OAAA;AACtB,6BAAyD;AAAhD,gGAAA,SAAS,OAAA;AAClB,qCAAqE;AAA5D,wGAAA,aAAa,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAGH,iCAAwD;AAA/C,wGAAA,eAAe,OAAA;AAAE,qGAAA,YAAY,OAAA;AAEtC,qCAAqE;AAA5D,wGAAA,aAAa,OAAA;AACtB,qCAAqE;AAA5D,wGAAA,aAAa,OAAA;AACtB,6BAAyD;AAAhD,gGAAA,SAAS,OAAA;AAClB,qCAAqE;AAA5D,wGAAA,aAAa,OAAA;AACtB,iCAA6E;AAApE,2GAAA,kBAAkB,OAAA"}
|
|
@@ -18,23 +18,24 @@ export type ICreateNetworkConfig = INetworkConfig & {
|
|
|
18
18
|
* @param name - Resource name prefix
|
|
19
19
|
* @param config - Network configuration with cloud target and optional providerOptions
|
|
20
20
|
* @returns Single INetwork for a single cloud target, array for multi-cloud
|
|
21
|
+
* @throws {UnsupportedFeatureError} If the cloud provider is not supported or Azure options are missing
|
|
21
22
|
*
|
|
22
23
|
* @example
|
|
23
24
|
* ```typescript
|
|
24
25
|
* // Single cloud
|
|
25
|
-
* const network = createNetwork("prod", {
|
|
26
|
+
* const network = await createNetwork("prod", {
|
|
26
27
|
* cloud: "aws",
|
|
27
28
|
* cidr: "10.0.0.0/16",
|
|
28
29
|
* natStrategy: "fck-nat",
|
|
29
30
|
* });
|
|
30
31
|
*
|
|
31
32
|
* // Multi-cloud
|
|
32
|
-
* const networks = createNetwork("prod", {
|
|
33
|
+
* const networks = await createNetwork("prod", {
|
|
33
34
|
* cloud: ["aws", "azure"],
|
|
34
35
|
* cidr: "10.0.0.0/16",
|
|
35
36
|
* providerOptions: { azure: { resourceGroupName: "my-rg" } },
|
|
36
37
|
* });
|
|
37
38
|
* ```
|
|
38
39
|
*/
|
|
39
|
-
export declare function createNetwork(name: string, config: ICreateNetworkConfig): INetwork | INetwork[]
|
|
40
|
+
export declare function createNetwork(name: string, config: ICreateNetworkConfig): Promise<INetwork | INetwork[]>;
|
|
40
41
|
//# sourceMappingURL=network.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/factories/network.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/factories/network.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC;CAC7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAoBhC"}
|
|
@@ -7,12 +7,43 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module factories/network
|
|
9
9
|
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
22
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
23
|
+
}) : function(o, v) {
|
|
24
|
+
o["default"] = v;
|
|
25
|
+
});
|
|
26
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
27
|
+
var ownKeys = function(o) {
|
|
28
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
29
|
+
var ar = [];
|
|
30
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
return ownKeys(o);
|
|
34
|
+
};
|
|
35
|
+
return function (mod) {
|
|
36
|
+
if (mod && mod.__esModule) return mod;
|
|
37
|
+
var result = {};
|
|
38
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
39
|
+
__setModuleDefault(result, mod);
|
|
40
|
+
return result;
|
|
41
|
+
};
|
|
42
|
+
})();
|
|
10
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
44
|
exports.createNetwork = createNetwork;
|
|
12
45
|
const network_1 = require("../network");
|
|
13
46
|
const types_1 = require("../types");
|
|
14
|
-
const aws_1 = require("../aws");
|
|
15
|
-
const azure_1 = require("../azure");
|
|
16
47
|
const types_2 = require("./types");
|
|
17
48
|
/**
|
|
18
49
|
* Create a network (VPC/VNet) for one or more cloud providers.
|
|
@@ -20,47 +51,51 @@ const types_2 = require("./types");
|
|
|
20
51
|
* @param name - Resource name prefix
|
|
21
52
|
* @param config - Network configuration with cloud target and optional providerOptions
|
|
22
53
|
* @returns Single INetwork for a single cloud target, array for multi-cloud
|
|
54
|
+
* @throws {UnsupportedFeatureError} If the cloud provider is not supported or Azure options are missing
|
|
23
55
|
*
|
|
24
56
|
* @example
|
|
25
57
|
* ```typescript
|
|
26
58
|
* // Single cloud
|
|
27
|
-
* const network = createNetwork("prod", {
|
|
59
|
+
* const network = await createNetwork("prod", {
|
|
28
60
|
* cloud: "aws",
|
|
29
61
|
* cidr: "10.0.0.0/16",
|
|
30
62
|
* natStrategy: "fck-nat",
|
|
31
63
|
* });
|
|
32
64
|
*
|
|
33
65
|
* // Multi-cloud
|
|
34
|
-
* const networks = createNetwork("prod", {
|
|
66
|
+
* const networks = await createNetwork("prod", {
|
|
35
67
|
* cloud: ["aws", "azure"],
|
|
36
68
|
* cidr: "10.0.0.0/16",
|
|
37
69
|
* providerOptions: { azure: { resourceGroupName: "my-rg" } },
|
|
38
70
|
* });
|
|
39
71
|
* ```
|
|
40
72
|
*/
|
|
41
|
-
function createNetwork(name, config) {
|
|
73
|
+
async function createNetwork(name, config) {
|
|
42
74
|
if (!(0, types_2.isMultiCloud)(config.cloud)) {
|
|
43
75
|
const target = (0, types_1.resolveCloudTarget)(config.cloud);
|
|
44
76
|
return dispatchNetwork(name, config, target, config.providerOptions);
|
|
45
77
|
}
|
|
46
78
|
const targets = (0, types_1.resolveCloudTarget)(config.cloud);
|
|
47
79
|
const cidrs = resolveMultiCloudCidrs(config.cidr, targets.length);
|
|
48
|
-
return targets.map((target, i) => {
|
|
80
|
+
return Promise.all(targets.map((target, i) => {
|
|
49
81
|
const perTargetConfig = { ...config, cloud: config.cloud, cidr: cidrs[i] };
|
|
50
82
|
return dispatchNetwork(`${name}-${target.provider}`, perTargetConfig, target, config.providerOptions);
|
|
51
|
-
});
|
|
83
|
+
}));
|
|
52
84
|
}
|
|
53
|
-
function dispatchNetwork(name, config, target, opts) {
|
|
85
|
+
async function dispatchNetwork(name, config, target, opts) {
|
|
54
86
|
const targetConfig = { ...config, cloud: { provider: target.provider, region: target.region } };
|
|
55
87
|
switch (target.provider) {
|
|
56
|
-
case "aws":
|
|
57
|
-
|
|
88
|
+
case "aws": {
|
|
89
|
+
const { createAwsNetwork } = await Promise.resolve().then(() => __importStar(require("../aws/index.js")));
|
|
90
|
+
return createAwsNetwork(name, targetConfig, opts?.aws);
|
|
91
|
+
}
|
|
58
92
|
case "azure": {
|
|
59
93
|
const azureOpts = opts?.azure;
|
|
60
94
|
if (!azureOpts) {
|
|
61
95
|
throw new types_1.UnsupportedFeatureError("Azure requires providerOptions.azure.resourceGroupName", "azure");
|
|
62
96
|
}
|
|
63
|
-
|
|
97
|
+
const { createAzureNetwork } = await Promise.resolve().then(() => __importStar(require("../azure/index.js")));
|
|
98
|
+
return createAzureNetwork(name, targetConfig, {
|
|
64
99
|
resourceGroupName: azureOpts.resourceGroupName,
|
|
65
100
|
subnetCount: azureOpts.subnetCount,
|
|
66
101
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/factories/network.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/factories/network.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCH,sCAuBC;AA3DD,wCAAwD;AACxD,oCAAuE;AAGvE,mCAAuC;AAOvC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACI,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,MAA4B;IAE5B,IAAI,CAAC,IAAA,oBAAY,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAElE,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,eAAe,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,OAAO,eAAe,CACpB,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAC5B,eAAe,EACf,MAAM,EACN,MAAM,CAAC,eAAe,CACvB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,IAAY,EACZ,MAAsB,EACtB,MAA2B,EAC3B,IAAuB;IAEvB,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAEhG,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;YAC7D,OAAO,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,+BAAuB,CAC/B,wDAAwD,EACxD,OAAO,CACR,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,kBAAkB,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;YACjE,OAAO,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE;gBAC5C,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;gBAC9C,WAAW,EAAE,SAAS,CAAC,WAAW;aACnC,CAAC,CAAC;QACL,CAAC;QACD;YACE,MAAM,IAAI,+BAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,IAAwB,EAAE,KAAa;IACrE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAA,yBAAe,EAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACjD,OAAO,IAAA,yBAAe,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -17,15 +17,16 @@ export type ICreateSecretsConfig = ISecretsConfig & {
|
|
|
17
17
|
* @param name - Resource name prefix
|
|
18
18
|
* @param config - Secrets configuration with cloud target and optional providerOptions
|
|
19
19
|
* @returns Single ISecrets for a single cloud target, array for multi-cloud
|
|
20
|
+
* @throws {UnsupportedFeatureError} If the cloud provider is not supported or Azure options are missing
|
|
20
21
|
*
|
|
21
22
|
* @example
|
|
22
23
|
* ```typescript
|
|
23
|
-
* const secrets = createSecrets("prod", {
|
|
24
|
+
* const secrets = await createSecrets("prod", {
|
|
24
25
|
* cloud: "aws",
|
|
25
26
|
* backend: "aws-secrets-manager",
|
|
26
27
|
* });
|
|
27
28
|
*
|
|
28
|
-
* const secrets = createSecrets("prod", {
|
|
29
|
+
* const secrets = await createSecrets("prod", {
|
|
29
30
|
* cloud: "azure",
|
|
30
31
|
* backend: "azure-key-vault",
|
|
31
32
|
* providerOptions: {
|
|
@@ -34,5 +35,5 @@ export type ICreateSecretsConfig = ISecretsConfig & {
|
|
|
34
35
|
* });
|
|
35
36
|
* ```
|
|
36
37
|
*/
|
|
37
|
-
export declare function createSecrets(name: string, config: ICreateSecretsConfig): ISecrets | ISecrets[]
|
|
38
|
+
export declare function createSecrets(name: string, config: ICreateSecretsConfig): Promise<ISecrets | ISecrets[]>;
|
|
38
39
|
//# sourceMappingURL=secrets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/factories/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/factories/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC;CAC7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAYhC"}
|
|
@@ -6,11 +6,42 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module factories/secrets
|
|
8
8
|
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
9
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
43
|
exports.createSecrets = createSecrets;
|
|
11
44
|
const types_1 = require("../types");
|
|
12
|
-
const aws_1 = require("../aws");
|
|
13
|
-
const azure_1 = require("../azure");
|
|
14
45
|
const types_2 = require("./types");
|
|
15
46
|
/**
|
|
16
47
|
* Create a secrets store for one or more cloud providers.
|
|
@@ -18,15 +49,16 @@ const types_2 = require("./types");
|
|
|
18
49
|
* @param name - Resource name prefix
|
|
19
50
|
* @param config - Secrets configuration with cloud target and optional providerOptions
|
|
20
51
|
* @returns Single ISecrets for a single cloud target, array for multi-cloud
|
|
52
|
+
* @throws {UnsupportedFeatureError} If the cloud provider is not supported or Azure options are missing
|
|
21
53
|
*
|
|
22
54
|
* @example
|
|
23
55
|
* ```typescript
|
|
24
|
-
* const secrets = createSecrets("prod", {
|
|
56
|
+
* const secrets = await createSecrets("prod", {
|
|
25
57
|
* cloud: "aws",
|
|
26
58
|
* backend: "aws-secrets-manager",
|
|
27
59
|
* });
|
|
28
60
|
*
|
|
29
|
-
* const secrets = createSecrets("prod", {
|
|
61
|
+
* const secrets = await createSecrets("prod", {
|
|
30
62
|
* cloud: "azure",
|
|
31
63
|
* backend: "azure-key-vault",
|
|
32
64
|
* providerOptions: {
|
|
@@ -35,25 +67,28 @@ const types_2 = require("./types");
|
|
|
35
67
|
* });
|
|
36
68
|
* ```
|
|
37
69
|
*/
|
|
38
|
-
function createSecrets(name, config) {
|
|
70
|
+
async function createSecrets(name, config) {
|
|
39
71
|
if (!(0, types_2.isMultiCloud)(config.cloud)) {
|
|
40
72
|
const target = (0, types_1.resolveCloudTarget)(config.cloud);
|
|
41
73
|
return dispatchSecrets(name, config, target, config.providerOptions);
|
|
42
74
|
}
|
|
43
75
|
const targets = (0, types_1.resolveCloudTarget)(config.cloud);
|
|
44
|
-
return targets.map((target) => dispatchSecrets(`${name}-${target.provider}`, config, target, config.providerOptions));
|
|
76
|
+
return Promise.all(targets.map((target) => dispatchSecrets(`${name}-${target.provider}`, config, target, config.providerOptions)));
|
|
45
77
|
}
|
|
46
|
-
function dispatchSecrets(name, config, target, opts) {
|
|
78
|
+
async function dispatchSecrets(name, config, target, opts) {
|
|
47
79
|
const targetConfig = { ...config, cloud: { provider: target.provider, region: target.region } };
|
|
48
80
|
switch (target.provider) {
|
|
49
|
-
case "aws":
|
|
50
|
-
|
|
81
|
+
case "aws": {
|
|
82
|
+
const { createAwsSecrets } = await Promise.resolve().then(() => __importStar(require("../aws/index.js")));
|
|
83
|
+
return createAwsSecrets(name, targetConfig);
|
|
84
|
+
}
|
|
51
85
|
case "azure": {
|
|
52
86
|
const azureOpts = opts?.azure;
|
|
53
87
|
if (!azureOpts?.tenantId) {
|
|
54
88
|
throw new types_1.UnsupportedFeatureError("Azure requires providerOptions.azure with resourceGroupName and tenantId", "azure");
|
|
55
89
|
}
|
|
56
|
-
|
|
90
|
+
const { createAzureSecrets } = await Promise.resolve().then(() => __importStar(require("../azure/index.js")));
|
|
91
|
+
return createAzureSecrets(name, targetConfig, {
|
|
57
92
|
resourceGroupName: azureOpts.resourceGroupName,
|
|
58
93
|
tenantId: azureOpts.tenantId,
|
|
59
94
|
objectId: azureOpts.objectId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/factories/secrets.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/factories/secrets.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCH,sCAeC;AAjDD,oCAAuE;AAGvE,mCAAuC;AAOvC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,MAA4B;IAE5B,IAAI,CAAC,IAAA,oBAAY,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrB,eAAe,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CACtF,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,IAAY,EACZ,MAAsB,EACtB,MAA2B,EAC3B,IAAuB;IAEvB,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAEhG,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;YAC7D,OAAO,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;gBACzB,MAAM,IAAI,+BAAuB,CAC/B,0EAA0E,EAC1E,OAAO,CACR,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,kBAAkB,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;YACjE,OAAO,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE;gBAC5C,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;gBAC9C,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,GAAG,EAAE,SAAS,CAAC,GAAG;aACnB,CAAC,CAAC;QACL,CAAC;QACD;YACE,MAAM,IAAI,+BAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State backend factory — creates S3/Azure Blob state storage via a single cloud-agnostic function.
|
|
3
|
+
*
|
|
4
|
+
* Dispatches to AWS or Azure based on the `cloud` parameter.
|
|
5
|
+
*
|
|
6
|
+
* @module factories/state
|
|
7
|
+
*/
|
|
8
|
+
import type { IStateBackend, IStateBackendConfig } from "../state";
|
|
9
|
+
import type { IProviderOptions } from "./types";
|
|
10
|
+
/** Config for the createStateBackend factory. */
|
|
11
|
+
export type ICreateStateBackendConfig = IStateBackendConfig & {
|
|
12
|
+
readonly providerOptions?: IProviderOptions;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Create a state backend (S3/Azure Blob) for one or more cloud providers.
|
|
16
|
+
*
|
|
17
|
+
* @param name - Resource name prefix
|
|
18
|
+
* @param config - State backend configuration with cloud target and optional providerOptions
|
|
19
|
+
* @returns Single IStateBackend for a single cloud target, array for multi-cloud
|
|
20
|
+
* @throws {UnsupportedFeatureError} If the cloud provider is not supported or Azure options are missing
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const state = await createStateBackend("prod", {
|
|
25
|
+
* cloud: "aws",
|
|
26
|
+
* versioning: true,
|
|
27
|
+
* encryption: true,
|
|
28
|
+
* locking: { enabled: true },
|
|
29
|
+
* });
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function createStateBackend(name: string, config: ICreateStateBackendConfig): Promise<IStateBackend | IStateBackend[]>;
|
|
33
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/factories/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,iDAAiD;AACjD,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,GAAG;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC;CAC7C,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,aAAa,GAAG,aAAa,EAAE,CAAC,CAY1C"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* State backend factory — creates S3/Azure Blob state storage via a single cloud-agnostic function.
|
|
4
|
+
*
|
|
5
|
+
* Dispatches to AWS or Azure based on the `cloud` parameter.
|
|
6
|
+
*
|
|
7
|
+
* @module factories/state
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.createStateBackend = createStateBackend;
|
|
44
|
+
const types_1 = require("../types");
|
|
45
|
+
const types_2 = require("./types");
|
|
46
|
+
/**
|
|
47
|
+
* Create a state backend (S3/Azure Blob) for one or more cloud providers.
|
|
48
|
+
*
|
|
49
|
+
* @param name - Resource name prefix
|
|
50
|
+
* @param config - State backend configuration with cloud target and optional providerOptions
|
|
51
|
+
* @returns Single IStateBackend for a single cloud target, array for multi-cloud
|
|
52
|
+
* @throws {UnsupportedFeatureError} If the cloud provider is not supported or Azure options are missing
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const state = await createStateBackend("prod", {
|
|
57
|
+
* cloud: "aws",
|
|
58
|
+
* versioning: true,
|
|
59
|
+
* encryption: true,
|
|
60
|
+
* locking: { enabled: true },
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
async function createStateBackend(name, config) {
|
|
65
|
+
if (!(0, types_2.isMultiCloud)(config.cloud)) {
|
|
66
|
+
const target = (0, types_1.resolveCloudTarget)(config.cloud);
|
|
67
|
+
return dispatchStateBackend(name, config, target, config.providerOptions);
|
|
68
|
+
}
|
|
69
|
+
const targets = (0, types_1.resolveCloudTarget)(config.cloud);
|
|
70
|
+
return Promise.all(targets.map((target) => dispatchStateBackend(`${name}-${target.provider}`, config, target, config.providerOptions)));
|
|
71
|
+
}
|
|
72
|
+
async function dispatchStateBackend(name, config, target, opts) {
|
|
73
|
+
const targetConfig = { ...config, cloud: { provider: target.provider, region: target.region } };
|
|
74
|
+
switch (target.provider) {
|
|
75
|
+
case "aws": {
|
|
76
|
+
const { createAwsStateBackend } = await Promise.resolve().then(() => __importStar(require("../aws/index.js")));
|
|
77
|
+
return createAwsStateBackend(name, targetConfig, {
|
|
78
|
+
kmsKeyArn: opts?.aws?.stateKmsKeyArn,
|
|
79
|
+
forceDestroy: opts?.aws?.stateForceDestroy,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
case "azure": {
|
|
83
|
+
const azureOpts = opts?.azure;
|
|
84
|
+
if (!azureOpts) {
|
|
85
|
+
throw new types_1.UnsupportedFeatureError("Azure requires providerOptions.azure.resourceGroupName", "azure");
|
|
86
|
+
}
|
|
87
|
+
const { createAzureStateBackend } = await Promise.resolve().then(() => __importStar(require("../azure/index.js")));
|
|
88
|
+
return createAzureStateBackend(name, targetConfig, {
|
|
89
|
+
resourceGroupName: azureOpts.resourceGroupName,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
default:
|
|
93
|
+
throw new types_1.UnsupportedFeatureError("state-backend", target.provider);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/factories/state.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BH,gDAeC;AA3CD,oCAAuE;AAGvE,mCAAuC;AAOvC;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,kBAAkB,CACtC,IAAY,EACZ,MAAiC;IAEjC,IAAI,CAAC,IAAA,oBAAY,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,0BAAkB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrB,oBAAoB,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAC3F,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,IAAY,EACZ,MAA2B,EAC3B,MAA2B,EAC3B,IAAuB;IAEvB,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAEhG,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,EAAE,qBAAqB,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;YAClE,OAAO,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE;gBAC/C,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc;gBACpC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,iBAAiB;aAC3C,CAAC,CAAC;QACL,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,+BAAuB,CAC/B,wDAAwD,EACxD,OAAO,CACR,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;YACtE,OAAO,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE;gBACjD,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;aAC/C,CAAC,CAAC;QACL,CAAC;QACD;YACE,MAAM,IAAI,+BAAuB,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;AACH,CAAC"}
|
|
@@ -20,6 +20,10 @@ export interface IAwsProviderOptions {
|
|
|
20
20
|
readonly addons?: ReadonlyArray<string>;
|
|
21
21
|
/** Endpoint access: "public", "private", or "both". Default: "both". */
|
|
22
22
|
readonly endpointAccess?: "public" | "private" | "both";
|
|
23
|
+
/** KMS key ARN for state backend encryption. Uses AES256 if not provided. */
|
|
24
|
+
readonly stateKmsKeyArn?: string;
|
|
25
|
+
/** Allow Pulumi to destroy the state bucket (for dev/test). Default: false. */
|
|
26
|
+
readonly stateForceDestroy?: boolean;
|
|
23
27
|
}
|
|
24
28
|
/** Azure-specific options passed through factory functions. */
|
|
25
29
|
export interface IAzureProviderOptions {
|
|
@@ -66,10 +70,28 @@ export interface IProviderOptions {
|
|
|
66
70
|
/**
|
|
67
71
|
* Extract the provider string from a CloudArg for single-target dispatch.
|
|
68
72
|
* For arrays, returns the first element's provider.
|
|
73
|
+
*
|
|
74
|
+
* @param cloud - A cloud provider string or CloudTarget object
|
|
75
|
+
* @returns The cloud provider identifier
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* extractProvider("aws"); // "aws"
|
|
80
|
+
* extractProvider({ provider: "azure", region: "eastus" }); // "azure"
|
|
81
|
+
* ```
|
|
69
82
|
*/
|
|
70
83
|
export declare function extractProvider(cloud: CloudProvider | CloudTarget): CloudProvider;
|
|
71
84
|
/**
|
|
72
85
|
* Check if a CloudArg is a multi-cloud array.
|
|
86
|
+
*
|
|
87
|
+
* @param cloud - The cloud argument to check
|
|
88
|
+
* @returns True if the argument is an array of cloud targets
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* isMultiCloud("aws"); // false
|
|
93
|
+
* isMultiCloud(["aws", "azure"]); // true
|
|
94
|
+
* ```
|
|
73
95
|
*/
|
|
74
96
|
export declare function isMultiCloud(cloud: CloudArg): cloud is ReadonlyArray<CloudProvider | CloudTarget>;
|
|
75
97
|
//# sourceMappingURL=types.d.ts.map
|