@pierskarsenbarg/sdm 1.0.1 → 1.1.1
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/account.d.ts +2 -1
- package/account.js.map +1 -1
- package/getAccount.d.ts +23 -3
- package/getAccount.js +24 -7
- package/getAccount.js.map +1 -1
- package/getAccountAttachment.d.ts +16 -3
- package/getAccountAttachment.js +17 -7
- package/getAccountAttachment.js.map +1 -1
- package/getNode.d.ts +23 -3
- package/getNode.js +24 -7
- package/getNode.js.map +1 -1
- package/getRemoteIdentity.d.ts +18 -3
- package/getRemoteIdentity.js +19 -7
- package/getRemoteIdentity.js.map +1 -1
- package/getRemoteIdentityGroup.d.ts +16 -3
- package/getRemoteIdentityGroup.js +17 -7
- package/getRemoteIdentityGroup.js.map +1 -1
- package/getResource.d.ts +22 -3
- package/getResource.js +23 -7
- package/getResource.js.map +1 -1
- package/getRole.d.ts +6 -15
- package/getRole.js +7 -19
- package/getRole.js.map +1 -1
- package/getSecretStore.d.ts +5 -1
- package/getSecretStore.js +6 -5
- package/getSecretStore.js.map +1 -1
- package/getSshCaPubkey.d.ts +12 -1
- package/getSshCaPubkey.js +14 -6
- package/getSshCaPubkey.js.map +1 -1
- package/index.d.ts +51 -17
- package/index.js +52 -50
- package/index.js.map +1 -1
- package/node.d.ts +2 -1
- package/node.js.map +1 -1
- package/package.json +2 -2
- package/resource.d.ts +14 -10
- package/resource.js +2 -0
- package/resource.js.map +1 -1
- package/secretStore.d.ts +2 -1
- package/secretStore.js.map +1 -1
- package/types/index.js.map +1 -1
- package/types/input.d.ts +192 -1
- package/types/output.d.ts +252 -2
- package/utilities.js +13 -1
- package/utilities.js.map +1 -1
package/account.d.ts
CHANGED
package/account.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"","sources":["../account.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../account.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;GAQG;AACH,MAAa,OAAQ,SAAQ,MAAM,CAAC,cAAc;IAC9C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAoB,EAAE,IAAmC;QAClH,OAAO,IAAI,OAAO,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC9D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC;IACxD,CAAC;IAoBD,YAAY,IAAY,EAAE,WAAwC,EAAE,IAAmC;QACnG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAuC,CAAC;YACtD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAAsC,CAAC;YACpD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACzD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;;AA5DL,0BA6DC;AA/CG,gBAAgB;AACO,oBAAY,GAAG,2BAA2B,CAAC"}
|
package/getAccount.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
-
import
|
|
2
|
+
import * as outputs from "./types/output";
|
|
3
3
|
/**
|
|
4
4
|
* Accounts are users that have access to strongDM. There are two types of accounts:
|
|
5
5
|
* 1. **Users:** humans who are authenticated through username and password or SSO.
|
|
@@ -10,14 +10,14 @@ import { output as outputs } from "./types";
|
|
|
10
10
|
* import * as pulumi from "@pulumi/pulumi";
|
|
11
11
|
* import * as sdm from "@pulumi/sdm";
|
|
12
12
|
*
|
|
13
|
-
* const
|
|
13
|
+
* const user-queries = sdm.getAccount({
|
|
14
14
|
* email: "*@strongdm.com",
|
|
15
15
|
* tags: {
|
|
16
16
|
* env: "dev",
|
|
17
17
|
* region: "us-west",
|
|
18
18
|
* },
|
|
19
19
|
* type: "user",
|
|
20
|
-
* })
|
|
20
|
+
* });
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
export declare function getAccount(args?: GetAccountArgs, opts?: pulumi.InvokeOptions): Promise<GetAccountResult>;
|
|
@@ -113,6 +113,26 @@ export interface GetAccountResult {
|
|
|
113
113
|
};
|
|
114
114
|
readonly type?: string;
|
|
115
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Accounts are users that have access to strongDM. There are two types of accounts:
|
|
118
|
+
* 1. **Users:** humans who are authenticated through username and password or SSO.
|
|
119
|
+
* 2. **Service Accounts:** machines that are authenticated using a service token.
|
|
120
|
+
* ## Example Usage
|
|
121
|
+
*
|
|
122
|
+
* ```typescript
|
|
123
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
124
|
+
* import * as sdm from "@pulumi/sdm";
|
|
125
|
+
*
|
|
126
|
+
* const user-queries = sdm.getAccount({
|
|
127
|
+
* email: "*@strongdm.com",
|
|
128
|
+
* tags: {
|
|
129
|
+
* env: "dev",
|
|
130
|
+
* region: "us-west",
|
|
131
|
+
* },
|
|
132
|
+
* type: "user",
|
|
133
|
+
* });
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
116
136
|
export declare function getAccountOutput(args?: GetAccountOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAccountResult>;
|
|
117
137
|
/**
|
|
118
138
|
* A collection of arguments for invoking getAccount.
|
package/getAccount.js
CHANGED
|
@@ -15,22 +15,19 @@ const utilities = require("./utilities");
|
|
|
15
15
|
* import * as pulumi from "@pulumi/pulumi";
|
|
16
16
|
* import * as sdm from "@pulumi/sdm";
|
|
17
17
|
*
|
|
18
|
-
* const
|
|
18
|
+
* const user-queries = sdm.getAccount({
|
|
19
19
|
* email: "*@strongdm.com",
|
|
20
20
|
* tags: {
|
|
21
21
|
* env: "dev",
|
|
22
22
|
* region: "us-west",
|
|
23
23
|
* },
|
|
24
24
|
* type: "user",
|
|
25
|
-
* })
|
|
25
|
+
* });
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
28
|
function getAccount(args, opts) {
|
|
29
29
|
args = args || {};
|
|
30
|
-
|
|
31
|
-
opts = {};
|
|
32
|
-
}
|
|
33
|
-
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
30
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
|
|
34
31
|
return pulumi.runtime.invoke("sdm:index/getAccount:getAccount", {
|
|
35
32
|
"email": args.email,
|
|
36
33
|
"externalId": args.externalId,
|
|
@@ -44,8 +41,28 @@ function getAccount(args, opts) {
|
|
|
44
41
|
}, opts);
|
|
45
42
|
}
|
|
46
43
|
exports.getAccount = getAccount;
|
|
44
|
+
/**
|
|
45
|
+
* Accounts are users that have access to strongDM. There are two types of accounts:
|
|
46
|
+
* 1. **Users:** humans who are authenticated through username and password or SSO.
|
|
47
|
+
* 2. **Service Accounts:** machines that are authenticated using a service token.
|
|
48
|
+
* ## Example Usage
|
|
49
|
+
*
|
|
50
|
+
* ```typescript
|
|
51
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
52
|
+
* import * as sdm from "@pulumi/sdm";
|
|
53
|
+
*
|
|
54
|
+
* const user-queries = sdm.getAccount({
|
|
55
|
+
* email: "*@strongdm.com",
|
|
56
|
+
* tags: {
|
|
57
|
+
* env: "dev",
|
|
58
|
+
* region: "us-west",
|
|
59
|
+
* },
|
|
60
|
+
* type: "user",
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
47
64
|
function getAccountOutput(args, opts) {
|
|
48
|
-
return pulumi.output(args).apply(a => getAccount(a, opts));
|
|
65
|
+
return pulumi.output(args).apply((a) => getAccount(a, opts));
|
|
49
66
|
}
|
|
50
67
|
exports.getAccountOutput = getAccountOutput;
|
|
51
68
|
//# sourceMappingURL=getAccount.js.map
|
package/getAccount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAccount.js","sourceRoot":"","sources":["../getAccount.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;
|
|
1
|
+
{"version":3,"file":"getAccount.js","sourceRoot":"","sources":["../getAccount.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,UAAU,CAAC,IAAqB,EAAE,IAA2B;IACzE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAElB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iCAAiC,EAAE;QAC5D,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,YAAY,EAAE,IAAI,CAAC,UAAU;QAC7B,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,UAAU,EAAE,IAAI,CAAC,QAAQ;QACzB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAfD,gCAeC;AA2FD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,gBAAgB,CAAC,IAA2B,EAAE,IAA2B;IACrF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACrE,CAAC;AAFD,4CAEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
-
import
|
|
2
|
+
import * as outputs from "./types/output";
|
|
3
3
|
/**
|
|
4
4
|
* AccountAttachments assign an account to a role.
|
|
5
5
|
* ## Example Usage
|
|
@@ -8,9 +8,9 @@ import { output as outputs } from "./types";
|
|
|
8
8
|
* import * as pulumi from "@pulumi/pulumi";
|
|
9
9
|
* import * as sdm from "@pulumi/sdm";
|
|
10
10
|
*
|
|
11
|
-
* const accountAttachmentQuery =
|
|
11
|
+
* const accountAttachmentQuery = sdm.getAccountAttachment({
|
|
12
12
|
* accountId: "a-00000054",
|
|
13
|
-
* })
|
|
13
|
+
* });
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
export declare function getAccountAttachment(args?: GetAccountAttachmentArgs, opts?: pulumi.InvokeOptions): Promise<GetAccountAttachmentResult>;
|
|
@@ -56,6 +56,19 @@ export interface GetAccountAttachmentResult {
|
|
|
56
56
|
*/
|
|
57
57
|
readonly roleId?: string;
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* AccountAttachments assign an account to a role.
|
|
61
|
+
* ## Example Usage
|
|
62
|
+
*
|
|
63
|
+
* ```typescript
|
|
64
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
65
|
+
* import * as sdm from "@pulumi/sdm";
|
|
66
|
+
*
|
|
67
|
+
* const accountAttachmentQuery = sdm.getAccountAttachment({
|
|
68
|
+
* accountId: "a-00000054",
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
59
72
|
export declare function getAccountAttachmentOutput(args?: GetAccountAttachmentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetAccountAttachmentResult>;
|
|
60
73
|
/**
|
|
61
74
|
* A collection of arguments for invoking getAccountAttachment.
|
package/getAccountAttachment.js
CHANGED
|
@@ -13,17 +13,14 @@ const utilities = require("./utilities");
|
|
|
13
13
|
* import * as pulumi from "@pulumi/pulumi";
|
|
14
14
|
* import * as sdm from "@pulumi/sdm";
|
|
15
15
|
*
|
|
16
|
-
* const accountAttachmentQuery =
|
|
16
|
+
* const accountAttachmentQuery = sdm.getAccountAttachment({
|
|
17
17
|
* accountId: "a-00000054",
|
|
18
|
-
* })
|
|
18
|
+
* });
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
21
21
|
function getAccountAttachment(args, opts) {
|
|
22
22
|
args = args || {};
|
|
23
|
-
|
|
24
|
-
opts = {};
|
|
25
|
-
}
|
|
26
|
-
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
23
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
|
|
27
24
|
return pulumi.runtime.invoke("sdm:index/getAccountAttachment:getAccountAttachment", {
|
|
28
25
|
"accountId": args.accountId,
|
|
29
26
|
"id": args.id,
|
|
@@ -31,8 +28,21 @@ function getAccountAttachment(args, opts) {
|
|
|
31
28
|
}, opts);
|
|
32
29
|
}
|
|
33
30
|
exports.getAccountAttachment = getAccountAttachment;
|
|
31
|
+
/**
|
|
32
|
+
* AccountAttachments assign an account to a role.
|
|
33
|
+
* ## Example Usage
|
|
34
|
+
*
|
|
35
|
+
* ```typescript
|
|
36
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
37
|
+
* import * as sdm from "@pulumi/sdm";
|
|
38
|
+
*
|
|
39
|
+
* const accountAttachmentQuery = sdm.getAccountAttachment({
|
|
40
|
+
* accountId: "a-00000054",
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
34
44
|
function getAccountAttachmentOutput(args, opts) {
|
|
35
|
-
return pulumi.output(args).apply(a => getAccountAttachment(a, opts));
|
|
45
|
+
return pulumi.output(args).apply((a) => getAccountAttachment(a, opts));
|
|
36
46
|
}
|
|
37
47
|
exports.getAccountAttachmentOutput = getAccountAttachmentOutput;
|
|
38
48
|
//# sourceMappingURL=getAccountAttachment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAccountAttachment.js","sourceRoot":"","sources":["../getAccountAttachment.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;
|
|
1
|
+
{"version":3,"file":"getAccountAttachment.js","sourceRoot":"","sources":["../getAccountAttachment.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;GAYG;AACH,SAAgB,oBAAoB,CAAC,IAA+B,EAAE,IAA2B;IAC7F,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAElB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,qDAAqD,EAAE;QAChF,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,QAAQ,EAAE,IAAI,CAAC,MAAM;KACxB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AATD,oDASC;AA6CD;;;;;;;;;;;;GAYG;AACH,SAAgB,0BAA0B,CAAC,IAAqC,EAAE,IAA2B;IACzG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC/E,CAAC;AAFD,gEAEC"}
|
package/getNode.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
-
import
|
|
2
|
+
import * as outputs from "./types/output";
|
|
3
3
|
/**
|
|
4
4
|
* Nodes make up the strongDM network, and allow your users to connect securely to your resources.
|
|
5
5
|
* There are two types of nodes:
|
|
@@ -11,13 +11,13 @@ import { output as outputs } from "./types";
|
|
|
11
11
|
* import * as pulumi from "@pulumi/pulumi";
|
|
12
12
|
* import * as sdm from "@pulumi/sdm";
|
|
13
13
|
*
|
|
14
|
-
* const gatewayQuery =
|
|
14
|
+
* const gatewayQuery = sdm.getNode({
|
|
15
15
|
* tags: {
|
|
16
16
|
* env: "dev",
|
|
17
17
|
* region: "us-west",
|
|
18
18
|
* },
|
|
19
19
|
* type: "gateway",
|
|
20
|
-
* })
|
|
20
|
+
* });
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
export declare function getNode(args?: GetNodeArgs, opts?: pulumi.InvokeOptions): Promise<GetNodeResult>;
|
|
@@ -89,6 +89,26 @@ export interface GetNodeResult {
|
|
|
89
89
|
};
|
|
90
90
|
readonly type?: string;
|
|
91
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Nodes make up the strongDM network, and allow your users to connect securely to your resources.
|
|
94
|
+
* There are two types of nodes:
|
|
95
|
+
* 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall
|
|
96
|
+
* 2. **Gateways:** a relay that also listens for connections from strongDM clients
|
|
97
|
+
* ## Example Usage
|
|
98
|
+
*
|
|
99
|
+
* ```typescript
|
|
100
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
101
|
+
* import * as sdm from "@pulumi/sdm";
|
|
102
|
+
*
|
|
103
|
+
* const gatewayQuery = sdm.getNode({
|
|
104
|
+
* tags: {
|
|
105
|
+
* env: "dev",
|
|
106
|
+
* region: "us-west",
|
|
107
|
+
* },
|
|
108
|
+
* type: "gateway",
|
|
109
|
+
* });
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
92
112
|
export declare function getNodeOutput(args?: GetNodeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetNodeResult>;
|
|
93
113
|
/**
|
|
94
114
|
* A collection of arguments for invoking getNode.
|
package/getNode.js
CHANGED
|
@@ -16,21 +16,18 @@ const utilities = require("./utilities");
|
|
|
16
16
|
* import * as pulumi from "@pulumi/pulumi";
|
|
17
17
|
* import * as sdm from "@pulumi/sdm";
|
|
18
18
|
*
|
|
19
|
-
* const gatewayQuery =
|
|
19
|
+
* const gatewayQuery = sdm.getNode({
|
|
20
20
|
* tags: {
|
|
21
21
|
* env: "dev",
|
|
22
22
|
* region: "us-west",
|
|
23
23
|
* },
|
|
24
24
|
* type: "gateway",
|
|
25
|
-
* })
|
|
25
|
+
* });
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
28
|
function getNode(args, opts) {
|
|
29
29
|
args = args || {};
|
|
30
|
-
|
|
31
|
-
opts = {};
|
|
32
|
-
}
|
|
33
|
-
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
30
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
|
|
34
31
|
return pulumi.runtime.invoke("sdm:index/getNode:getNode", {
|
|
35
32
|
"bindAddress": args.bindAddress,
|
|
36
33
|
"id": args.id,
|
|
@@ -41,8 +38,28 @@ function getNode(args, opts) {
|
|
|
41
38
|
}, opts);
|
|
42
39
|
}
|
|
43
40
|
exports.getNode = getNode;
|
|
41
|
+
/**
|
|
42
|
+
* Nodes make up the strongDM network, and allow your users to connect securely to your resources.
|
|
43
|
+
* There are two types of nodes:
|
|
44
|
+
* 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall
|
|
45
|
+
* 2. **Gateways:** a relay that also listens for connections from strongDM clients
|
|
46
|
+
* ## Example Usage
|
|
47
|
+
*
|
|
48
|
+
* ```typescript
|
|
49
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
50
|
+
* import * as sdm from "@pulumi/sdm";
|
|
51
|
+
*
|
|
52
|
+
* const gatewayQuery = sdm.getNode({
|
|
53
|
+
* tags: {
|
|
54
|
+
* env: "dev",
|
|
55
|
+
* region: "us-west",
|
|
56
|
+
* },
|
|
57
|
+
* type: "gateway",
|
|
58
|
+
* });
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
44
61
|
function getNodeOutput(args, opts) {
|
|
45
|
-
return pulumi.output(args).apply(a => getNode(a, opts));
|
|
62
|
+
return pulumi.output(args).apply((a) => getNode(a, opts));
|
|
46
63
|
}
|
|
47
64
|
exports.getNodeOutput = getNodeOutput;
|
|
48
65
|
//# sourceMappingURL=getNode.js.map
|
package/getNode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNode.js","sourceRoot":"","sources":["../getNode.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;
|
|
1
|
+
{"version":3,"file":"getNode.js","sourceRoot":"","sources":["../getNode.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,OAAO,CAAC,IAAkB,EAAE,IAA2B;IACnE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAElB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE;QACtD,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,eAAe,EAAE,IAAI,CAAC,aAAa;QACnC,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAZD,0BAYC;AAmED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,aAAa,CAAC,IAAwB,EAAE,IAA2B;IAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAClE,CAAC;AAFD,sCAEC"}
|
package/getRemoteIdentity.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
-
import
|
|
2
|
+
import * as outputs from "./types/output";
|
|
3
3
|
/**
|
|
4
4
|
* RemoteIdentities define the username to be used for a specific account
|
|
5
5
|
* when connecting to a remote resource using that group.
|
|
@@ -9,10 +9,10 @@ import { output as outputs } from "./types";
|
|
|
9
9
|
* import * as pulumi from "@pulumi/pulumi";
|
|
10
10
|
* import * as sdm from "@pulumi/sdm";
|
|
11
11
|
*
|
|
12
|
-
* const user =
|
|
12
|
+
* const user = sdm.getRemoteIdentity({
|
|
13
13
|
* id: "i-0900909",
|
|
14
14
|
* username: "user",
|
|
15
|
-
* })
|
|
15
|
+
* });
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
export declare function getRemoteIdentity(args?: GetRemoteIdentityArgs, opts?: pulumi.InvokeOptions): Promise<GetRemoteIdentityResult>;
|
|
@@ -66,6 +66,21 @@ export interface GetRemoteIdentityResult {
|
|
|
66
66
|
*/
|
|
67
67
|
readonly username?: string;
|
|
68
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* RemoteIdentities define the username to be used for a specific account
|
|
71
|
+
* when connecting to a remote resource using that group.
|
|
72
|
+
* ## Example Usage
|
|
73
|
+
*
|
|
74
|
+
* ```typescript
|
|
75
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
76
|
+
* import * as sdm from "@pulumi/sdm";
|
|
77
|
+
*
|
|
78
|
+
* const user = sdm.getRemoteIdentity({
|
|
79
|
+
* id: "i-0900909",
|
|
80
|
+
* username: "user",
|
|
81
|
+
* });
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
69
84
|
export declare function getRemoteIdentityOutput(args?: GetRemoteIdentityOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetRemoteIdentityResult>;
|
|
70
85
|
/**
|
|
71
86
|
* A collection of arguments for invoking getRemoteIdentity.
|
package/getRemoteIdentity.js
CHANGED
|
@@ -14,18 +14,15 @@ const utilities = require("./utilities");
|
|
|
14
14
|
* import * as pulumi from "@pulumi/pulumi";
|
|
15
15
|
* import * as sdm from "@pulumi/sdm";
|
|
16
16
|
*
|
|
17
|
-
* const user =
|
|
17
|
+
* const user = sdm.getRemoteIdentity({
|
|
18
18
|
* id: "i-0900909",
|
|
19
19
|
* username: "user",
|
|
20
|
-
* })
|
|
20
|
+
* });
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
function getRemoteIdentity(args, opts) {
|
|
24
24
|
args = args || {};
|
|
25
|
-
|
|
26
|
-
opts = {};
|
|
27
|
-
}
|
|
28
|
-
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
25
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
|
|
29
26
|
return pulumi.runtime.invoke("sdm:index/getRemoteIdentity:getRemoteIdentity", {
|
|
30
27
|
"accountId": args.accountId,
|
|
31
28
|
"id": args.id,
|
|
@@ -34,8 +31,23 @@ function getRemoteIdentity(args, opts) {
|
|
|
34
31
|
}, opts);
|
|
35
32
|
}
|
|
36
33
|
exports.getRemoteIdentity = getRemoteIdentity;
|
|
34
|
+
/**
|
|
35
|
+
* RemoteIdentities define the username to be used for a specific account
|
|
36
|
+
* when connecting to a remote resource using that group.
|
|
37
|
+
* ## Example Usage
|
|
38
|
+
*
|
|
39
|
+
* ```typescript
|
|
40
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
41
|
+
* import * as sdm from "@pulumi/sdm";
|
|
42
|
+
*
|
|
43
|
+
* const user = sdm.getRemoteIdentity({
|
|
44
|
+
* id: "i-0900909",
|
|
45
|
+
* username: "user",
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
37
49
|
function getRemoteIdentityOutput(args, opts) {
|
|
38
|
-
return pulumi.output(args).apply(a => getRemoteIdentity(a, opts));
|
|
50
|
+
return pulumi.output(args).apply((a) => getRemoteIdentity(a, opts));
|
|
39
51
|
}
|
|
40
52
|
exports.getRemoteIdentityOutput = getRemoteIdentityOutput;
|
|
41
53
|
//# sourceMappingURL=getRemoteIdentity.js.map
|
package/getRemoteIdentity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRemoteIdentity.js","sourceRoot":"","sources":["../getRemoteIdentity.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;
|
|
1
|
+
{"version":3,"file":"getRemoteIdentity.js","sourceRoot":"","sources":["../getRemoteIdentity.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;GAcG;AACH,SAAgB,iBAAiB,CAAC,IAA4B,EAAE,IAA2B;IACvF,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAElB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,+CAA+C,EAAE;QAC1E,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,uBAAuB,EAAE,IAAI,CAAC,qBAAqB;QACnD,UAAU,EAAE,IAAI,CAAC,QAAQ;KAC5B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAVD,8CAUC;AAqDD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,uBAAuB,CAAC,IAAkC,EAAE,IAA2B;IACnG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC5E,CAAC;AAFD,0DAEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
-
import
|
|
2
|
+
import * as outputs from "./types/output";
|
|
3
3
|
/**
|
|
4
4
|
* A RemoteIdentityGroup defines a group of remote identities.
|
|
5
5
|
* ## Example Usage
|
|
@@ -8,9 +8,9 @@ import { output as outputs } from "./types";
|
|
|
8
8
|
* import * as pulumi from "@pulumi/pulumi";
|
|
9
9
|
* import * as sdm from "@pulumi/sdm";
|
|
10
10
|
*
|
|
11
|
-
* const
|
|
11
|
+
* const default = sdm.getRemoteIdentityGroup({
|
|
12
12
|
* name: "default",
|
|
13
|
-
* })
|
|
13
|
+
* });
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
export declare function getRemoteIdentityGroup(args?: GetRemoteIdentityGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetRemoteIdentityGroupResult>;
|
|
@@ -48,6 +48,19 @@ export interface GetRemoteIdentityGroupResult {
|
|
|
48
48
|
*/
|
|
49
49
|
readonly remoteIdentityGroups: outputs.GetRemoteIdentityGroupRemoteIdentityGroup[];
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* A RemoteIdentityGroup defines a group of remote identities.
|
|
53
|
+
* ## Example Usage
|
|
54
|
+
*
|
|
55
|
+
* ```typescript
|
|
56
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
57
|
+
* import * as sdm from "@pulumi/sdm";
|
|
58
|
+
*
|
|
59
|
+
* const default = sdm.getRemoteIdentityGroup({
|
|
60
|
+
* name: "default",
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
51
64
|
export declare function getRemoteIdentityGroupOutput(args?: GetRemoteIdentityGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetRemoteIdentityGroupResult>;
|
|
52
65
|
/**
|
|
53
66
|
* A collection of arguments for invoking getRemoteIdentityGroup.
|
|
@@ -13,25 +13,35 @@ const utilities = require("./utilities");
|
|
|
13
13
|
* import * as pulumi from "@pulumi/pulumi";
|
|
14
14
|
* import * as sdm from "@pulumi/sdm";
|
|
15
15
|
*
|
|
16
|
-
* const
|
|
16
|
+
* const default = sdm.getRemoteIdentityGroup({
|
|
17
17
|
* name: "default",
|
|
18
|
-
* })
|
|
18
|
+
* });
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
21
21
|
function getRemoteIdentityGroup(args, opts) {
|
|
22
22
|
args = args || {};
|
|
23
|
-
|
|
24
|
-
opts = {};
|
|
25
|
-
}
|
|
26
|
-
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
23
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
|
|
27
24
|
return pulumi.runtime.invoke("sdm:index/getRemoteIdentityGroup:getRemoteIdentityGroup", {
|
|
28
25
|
"id": args.id,
|
|
29
26
|
"name": args.name,
|
|
30
27
|
}, opts);
|
|
31
28
|
}
|
|
32
29
|
exports.getRemoteIdentityGroup = getRemoteIdentityGroup;
|
|
30
|
+
/**
|
|
31
|
+
* A RemoteIdentityGroup defines a group of remote identities.
|
|
32
|
+
* ## Example Usage
|
|
33
|
+
*
|
|
34
|
+
* ```typescript
|
|
35
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
36
|
+
* import * as sdm from "@pulumi/sdm";
|
|
37
|
+
*
|
|
38
|
+
* const default = sdm.getRemoteIdentityGroup({
|
|
39
|
+
* name: "default",
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
33
43
|
function getRemoteIdentityGroupOutput(args, opts) {
|
|
34
|
-
return pulumi.output(args).apply(a => getRemoteIdentityGroup(a, opts));
|
|
44
|
+
return pulumi.output(args).apply((a) => getRemoteIdentityGroup(a, opts));
|
|
35
45
|
}
|
|
36
46
|
exports.getRemoteIdentityGroupOutput = getRemoteIdentityGroupOutput;
|
|
37
47
|
//# sourceMappingURL=getRemoteIdentityGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRemoteIdentityGroup.js","sourceRoot":"","sources":["../getRemoteIdentityGroup.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;
|
|
1
|
+
{"version":3,"file":"getRemoteIdentityGroup.js","sourceRoot":"","sources":["../getRemoteIdentityGroup.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;GAYG;AACH,SAAgB,sBAAsB,CAAC,IAAiC,EAAE,IAA2B;IACjG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAElB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,yDAAyD,EAAE;QACpF,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AARD,wDAQC;AAqCD;;;;;;;;;;;;GAYG;AACH,SAAgB,4BAA4B,CAAC,IAAuC,EAAE,IAA2B;IAC7G,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACjF,CAAC;AAFD,oEAEC"}
|
package/getResource.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
-
import
|
|
2
|
+
import * as outputs from "./types/output";
|
|
3
3
|
/**
|
|
4
4
|
* A Resource is a database, server, cluster, website, or cloud that strongDM
|
|
5
5
|
* delegates access to.
|
|
@@ -9,14 +9,14 @@ import { output as outputs } from "./types";
|
|
|
9
9
|
* import * as pulumi from "@pulumi/pulumi";
|
|
10
10
|
* import * as sdm from "@pulumi/sdm";
|
|
11
11
|
*
|
|
12
|
-
* const mysqlDatasources =
|
|
12
|
+
* const mysqlDatasources = sdm.getResource({
|
|
13
13
|
* name: "us-west*",
|
|
14
14
|
* tags: {
|
|
15
15
|
* env: "dev",
|
|
16
16
|
* region: "us-west",
|
|
17
17
|
* },
|
|
18
18
|
* type: "mysql",
|
|
19
|
-
* })
|
|
19
|
+
* });
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
22
|
export declare function getResource(args?: GetResourceArgs, opts?: pulumi.InvokeOptions): Promise<GetResourceResult>;
|
|
@@ -78,6 +78,25 @@ export interface GetResourceResult {
|
|
|
78
78
|
readonly type?: string;
|
|
79
79
|
readonly username?: string;
|
|
80
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* A Resource is a database, server, cluster, website, or cloud that strongDM
|
|
83
|
+
* delegates access to.
|
|
84
|
+
* ## Example Usage
|
|
85
|
+
*
|
|
86
|
+
* ```typescript
|
|
87
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
88
|
+
* import * as sdm from "@pulumi/sdm";
|
|
89
|
+
*
|
|
90
|
+
* const mysqlDatasources = sdm.getResource({
|
|
91
|
+
* name: "us-west*",
|
|
92
|
+
* tags: {
|
|
93
|
+
* env: "dev",
|
|
94
|
+
* region: "us-west",
|
|
95
|
+
* },
|
|
96
|
+
* type: "mysql",
|
|
97
|
+
* });
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
81
100
|
export declare function getResourceOutput(args?: GetResourceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetResourceResult>;
|
|
82
101
|
/**
|
|
83
102
|
* A collection of arguments for invoking getResource.
|
package/getResource.js
CHANGED
|
@@ -14,22 +14,19 @@ const utilities = require("./utilities");
|
|
|
14
14
|
* import * as pulumi from "@pulumi/pulumi";
|
|
15
15
|
* import * as sdm from "@pulumi/sdm";
|
|
16
16
|
*
|
|
17
|
-
* const mysqlDatasources =
|
|
17
|
+
* const mysqlDatasources = sdm.getResource({
|
|
18
18
|
* name: "us-west*",
|
|
19
19
|
* tags: {
|
|
20
20
|
* env: "dev",
|
|
21
21
|
* region: "us-west",
|
|
22
22
|
* },
|
|
23
23
|
* type: "mysql",
|
|
24
|
-
* })
|
|
24
|
+
* });
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
function getResource(args, opts) {
|
|
28
28
|
args = args || {};
|
|
29
|
-
|
|
30
|
-
opts = {};
|
|
31
|
-
}
|
|
32
|
-
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
29
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
|
|
33
30
|
return pulumi.runtime.invoke("sdm:index/getResource:getResource", {
|
|
34
31
|
"hostname": args.hostname,
|
|
35
32
|
"id": args.id,
|
|
@@ -41,8 +38,27 @@ function getResource(args, opts) {
|
|
|
41
38
|
}, opts);
|
|
42
39
|
}
|
|
43
40
|
exports.getResource = getResource;
|
|
41
|
+
/**
|
|
42
|
+
* A Resource is a database, server, cluster, website, or cloud that strongDM
|
|
43
|
+
* delegates access to.
|
|
44
|
+
* ## Example Usage
|
|
45
|
+
*
|
|
46
|
+
* ```typescript
|
|
47
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
48
|
+
* import * as sdm from "@pulumi/sdm";
|
|
49
|
+
*
|
|
50
|
+
* const mysqlDatasources = sdm.getResource({
|
|
51
|
+
* name: "us-west*",
|
|
52
|
+
* tags: {
|
|
53
|
+
* env: "dev",
|
|
54
|
+
* region: "us-west",
|
|
55
|
+
* },
|
|
56
|
+
* type: "mysql",
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
44
60
|
function getResourceOutput(args, opts) {
|
|
45
|
-
return pulumi.output(args).apply(a => getResource(a, opts));
|
|
61
|
+
return pulumi.output(args).apply((a) => getResource(a, opts));
|
|
46
62
|
}
|
|
47
63
|
exports.getResourceOutput = getResourceOutput;
|
|
48
64
|
//# sourceMappingURL=getResource.js.map
|
package/getResource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getResource.js","sourceRoot":"","sources":["../getResource.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;
|
|
1
|
+
{"version":3,"file":"getResource.js","sourceRoot":"","sources":["../getResource.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,WAAW,CAAC,IAAsB,EAAE,IAA2B;IAC3E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAElB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mCAAmC,EAAE;QAC9D,UAAU,EAAE,IAAI,CAAC,QAAQ;QACzB,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,UAAU,EAAE,IAAI,CAAC,QAAQ;KAC5B,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAbD,kCAaC;AAyDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,iBAAiB,CAAC,IAA4B,EAAE,IAA2B;IACvF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACtE,CAAC;AAFD,8CAEC"}
|