@pierskarsenbarg/sdm 0.0.6

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 (95) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +56 -0
  3. package/account.d.ts +73 -0
  4. package/account.js +60 -0
  5. package/account.js.map +1 -0
  6. package/accountAttachment.d.ts +69 -0
  7. package/accountAttachment.js +66 -0
  8. package/accountAttachment.js.map +1 -0
  9. package/accountGrant.d.ts +69 -0
  10. package/accountGrant.js +66 -0
  11. package/accountGrant.js.map +1 -0
  12. package/config/index.d.ts +1 -0
  13. package/config/index.js +21 -0
  14. package/config/index.js.map +1 -0
  15. package/config/vars.d.ts +16 -0
  16. package/config/vars.js +31 -0
  17. package/config/vars.js.map +1 -0
  18. package/getAccount.d.ts +147 -0
  19. package/getAccount.js +50 -0
  20. package/getAccount.js.map +1 -0
  21. package/getAccountAttachment.d.ts +76 -0
  22. package/getAccountAttachment.js +38 -0
  23. package/getAccountAttachment.js.map +1 -0
  24. package/getAccountGrant.d.ts +77 -0
  25. package/getAccountGrant.js +39 -0
  26. package/getAccountGrant.js.map +1 -0
  27. package/getNode.d.ts +123 -0
  28. package/getNode.js +48 -0
  29. package/getNode.js.map +1 -0
  30. package/getRemoteIdentity.d.ts +90 -0
  31. package/getRemoteIdentity.js +41 -0
  32. package/getRemoteIdentity.js.map +1 -0
  33. package/getRemoteIdentityGroup.d.ts +64 -0
  34. package/getRemoteIdentityGroup.js +37 -0
  35. package/getRemoteIdentityGroup.js.map +1 -0
  36. package/getResource.d.ts +107 -0
  37. package/getResource.js +48 -0
  38. package/getResource.js.map +1 -0
  39. package/getRole.d.ts +106 -0
  40. package/getRole.js +45 -0
  41. package/getRole.js.map +1 -0
  42. package/getRoleAttachment.d.ts +79 -0
  43. package/getRoleAttachment.js +41 -0
  44. package/getRoleAttachment.js.map +1 -0
  45. package/getRoleGrant.d.ts +79 -0
  46. package/getRoleGrant.js +41 -0
  47. package/getRoleGrant.js.map +1 -0
  48. package/getSecretStore.d.ts +83 -0
  49. package/getSecretStore.js +30 -0
  50. package/getSecretStore.js.map +1 -0
  51. package/getSshCaPubkey.d.ts +53 -0
  52. package/getSshCaPubkey.js +35 -0
  53. package/getSshCaPubkey.js.map +1 -0
  54. package/index.d.ts +26 -0
  55. package/index.js +111 -0
  56. package/index.js.map +1 -0
  57. package/install-pulumi-plugin.js +26 -0
  58. package/node.d.ts +70 -0
  59. package/node.js +60 -0
  60. package/node.js.map +1 -0
  61. package/package.json +29 -0
  62. package/package.json.bak +29 -0
  63. package/provider.d.ts +55 -0
  64. package/provider.js +48 -0
  65. package/provider.js.map +1 -0
  66. package/remoteIdentity.d.ts +81 -0
  67. package/remoteIdentity.js +71 -0
  68. package/remoteIdentity.js.map +1 -0
  69. package/resource.d.ts +259 -0
  70. package/resource.js +198 -0
  71. package/resource.js.map +1 -0
  72. package/role.d.ts +105 -0
  73. package/role.js +64 -0
  74. package/role.js.map +1 -0
  75. package/roleAttachment.d.ts +69 -0
  76. package/roleAttachment.js +66 -0
  77. package/roleAttachment.js.map +1 -0
  78. package/roleGrant.d.ts +69 -0
  79. package/roleGrant.js +66 -0
  80. package/roleGrant.js.map +1 -0
  81. package/secretStore.d.ts +64 -0
  82. package/secretStore.js +68 -0
  83. package/secretStore.js.map +1 -0
  84. package/types/index.d.ts +3 -0
  85. package/types/index.js +11 -0
  86. package/types/index.js.map +1 -0
  87. package/types/input.d.ts +2690 -0
  88. package/types/input.js +5 -0
  89. package/types/input.js.map +1 -0
  90. package/types/output.d.ts +5596 -0
  91. package/types/output.js +5 -0
  92. package/types/output.js.map +1 -0
  93. package/utilities.d.ts +4 -0
  94. package/utilities.js +57 -0
  95. package/utilities.js.map +1 -0
package/getNode.js ADDED
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getNodeOutput = exports.getNode = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Nodes make up the strongDM network, and allow your users to connect securely to your resources.
10
+ * There are two types of nodes:
11
+ * 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall
12
+ * 2. **Gateways:** a relay that also listens for connections from strongDM clients
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as sdm from "@pulumi/sdm";
18
+ *
19
+ * const gatewayQuery = pulumi.output(sdm.getNode({
20
+ * tags: {
21
+ * env: "dev",
22
+ * region: "us-west",
23
+ * },
24
+ * type: "gateway",
25
+ * }));
26
+ * ```
27
+ */
28
+ function getNode(args, opts) {
29
+ args = args || {};
30
+ if (!opts) {
31
+ opts = {};
32
+ }
33
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
34
+ return pulumi.runtime.invoke("sdm:index/getNode:getNode", {
35
+ "bindAddress": args.bindAddress,
36
+ "id": args.id,
37
+ "listenAddress": args.listenAddress,
38
+ "name": args.name,
39
+ "tags": args.tags,
40
+ "type": args.type,
41
+ }, opts);
42
+ }
43
+ exports.getNode = getNode;
44
+ function getNodeOutput(args, opts) {
45
+ return pulumi.output(args).apply(a => getNode(a, opts));
46
+ }
47
+ exports.getNodeOutput = getNodeOutput;
48
+ //# sourceMappingURL=getNode.js.map
package/getNode.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNode.js","sourceRoot":"","sources":["../getNode.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,OAAO,CAAC,IAAkB,EAAE,IAA2B;IACnE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,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;AAfD,0BAeC;AAoED,SAAgB,aAAa,CAAC,IAAwB,EAAE,IAA2B;IAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC3D,CAAC;AAFD,sCAEC"}
@@ -0,0 +1,90 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { output as outputs } from "./types";
3
+ /**
4
+ * RemoteIdentities define the username to be used for a specific account
5
+ * when connecting to a remote resource using that group.
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as sdm from "@pulumi/sdm";
11
+ *
12
+ * const user = pulumi.output(sdm.getRemoteIdentity({
13
+ * id: "i-0900909",
14
+ * username: "user",
15
+ * }));
16
+ * ```
17
+ */
18
+ export declare function getRemoteIdentity(args?: GetRemoteIdentityArgs, opts?: pulumi.InvokeOptions): Promise<GetRemoteIdentityResult>;
19
+ /**
20
+ * A collection of arguments for invoking getRemoteIdentity.
21
+ */
22
+ export interface GetRemoteIdentityArgs {
23
+ /**
24
+ * The account for this remote identity.
25
+ */
26
+ accountId?: string;
27
+ /**
28
+ * Unique identifier of the RemoteIdentity.
29
+ */
30
+ id?: string;
31
+ /**
32
+ * The remote identity group.
33
+ */
34
+ remoteIdentityGroupId?: string;
35
+ /**
36
+ * The username to be used as the remote identity for this account.
37
+ */
38
+ username?: string;
39
+ }
40
+ /**
41
+ * A collection of values returned by getRemoteIdentity.
42
+ */
43
+ export interface GetRemoteIdentityResult {
44
+ /**
45
+ * The account for this remote identity.
46
+ */
47
+ readonly accountId?: string;
48
+ /**
49
+ * Unique identifier of the RemoteIdentity.
50
+ */
51
+ readonly id?: string;
52
+ /**
53
+ * a list of strings of ids of data sources that match the given arguments.
54
+ */
55
+ readonly ids: string[];
56
+ /**
57
+ * A list where each element has the following attributes:
58
+ */
59
+ readonly remoteIdentities: outputs.GetRemoteIdentityRemoteIdentity[];
60
+ /**
61
+ * The remote identity group.
62
+ */
63
+ readonly remoteIdentityGroupId?: string;
64
+ /**
65
+ * The username to be used as the remote identity for this account.
66
+ */
67
+ readonly username?: string;
68
+ }
69
+ export declare function getRemoteIdentityOutput(args?: GetRemoteIdentityOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetRemoteIdentityResult>;
70
+ /**
71
+ * A collection of arguments for invoking getRemoteIdentity.
72
+ */
73
+ export interface GetRemoteIdentityOutputArgs {
74
+ /**
75
+ * The account for this remote identity.
76
+ */
77
+ accountId?: pulumi.Input<string>;
78
+ /**
79
+ * Unique identifier of the RemoteIdentity.
80
+ */
81
+ id?: pulumi.Input<string>;
82
+ /**
83
+ * The remote identity group.
84
+ */
85
+ remoteIdentityGroupId?: pulumi.Input<string>;
86
+ /**
87
+ * The username to be used as the remote identity for this account.
88
+ */
89
+ username?: pulumi.Input<string>;
90
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getRemoteIdentityOutput = exports.getRemoteIdentity = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * RemoteIdentities define the username to be used for a specific account
10
+ * when connecting to a remote resource using that group.
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as sdm from "@pulumi/sdm";
16
+ *
17
+ * const user = pulumi.output(sdm.getRemoteIdentity({
18
+ * id: "i-0900909",
19
+ * username: "user",
20
+ * }));
21
+ * ```
22
+ */
23
+ function getRemoteIdentity(args, opts) {
24
+ args = args || {};
25
+ if (!opts) {
26
+ opts = {};
27
+ }
28
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
29
+ return pulumi.runtime.invoke("sdm:index/getRemoteIdentity:getRemoteIdentity", {
30
+ "accountId": args.accountId,
31
+ "id": args.id,
32
+ "remoteIdentityGroupId": args.remoteIdentityGroupId,
33
+ "username": args.username,
34
+ }, opts);
35
+ }
36
+ exports.getRemoteIdentity = getRemoteIdentity;
37
+ function getRemoteIdentityOutput(args, opts) {
38
+ return pulumi.output(args).apply(a => getRemoteIdentity(a, opts));
39
+ }
40
+ exports.getRemoteIdentityOutput = getRemoteIdentityOutput;
41
+ //# sourceMappingURL=getRemoteIdentity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRemoteIdentity.js","sourceRoot":"","sources":["../getRemoteIdentity.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC;;;;;;;;;;;;;;GAcG;AACH,SAAgB,iBAAiB,CAAC,IAA4B,EAAE,IAA2B;IACvF,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,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;AAbD,8CAaC;AAsDD,SAAgB,uBAAuB,CAAC,IAAkC,EAAE,IAA2B;IACnG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AACrE,CAAC;AAFD,0DAEC"}
@@ -0,0 +1,64 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { output as outputs } from "./types";
3
+ /**
4
+ * A RemoteIdentityGroup defines a group of remote identities.
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as sdm from "@pulumi/sdm";
10
+ *
11
+ * const defaultRemoteIdentityGroup = pulumi.output(sdm.getRemoteIdentityGroup({
12
+ * name: "default",
13
+ * }));
14
+ * ```
15
+ */
16
+ export declare function getRemoteIdentityGroup(args?: GetRemoteIdentityGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetRemoteIdentityGroupResult>;
17
+ /**
18
+ * A collection of arguments for invoking getRemoteIdentityGroup.
19
+ */
20
+ export interface GetRemoteIdentityGroupArgs {
21
+ /**
22
+ * Unique identifier of the RemoteIdentityGroup.
23
+ */
24
+ id?: string;
25
+ /**
26
+ * Unique human-readable name of the RemoteIdentityGroup.
27
+ */
28
+ name?: string;
29
+ }
30
+ /**
31
+ * A collection of values returned by getRemoteIdentityGroup.
32
+ */
33
+ export interface GetRemoteIdentityGroupResult {
34
+ /**
35
+ * Unique identifier of the RemoteIdentityGroup.
36
+ */
37
+ readonly id?: string;
38
+ /**
39
+ * a list of strings of ids of data sources that match the given arguments.
40
+ */
41
+ readonly ids: string[];
42
+ /**
43
+ * Unique human-readable name of the RemoteIdentityGroup.
44
+ */
45
+ readonly name?: string;
46
+ /**
47
+ * A list where each element has the following attributes:
48
+ */
49
+ readonly remoteIdentityGroups: outputs.GetRemoteIdentityGroupRemoteIdentityGroup[];
50
+ }
51
+ export declare function getRemoteIdentityGroupOutput(args?: GetRemoteIdentityGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetRemoteIdentityGroupResult>;
52
+ /**
53
+ * A collection of arguments for invoking getRemoteIdentityGroup.
54
+ */
55
+ export interface GetRemoteIdentityGroupOutputArgs {
56
+ /**
57
+ * Unique identifier of the RemoteIdentityGroup.
58
+ */
59
+ id?: pulumi.Input<string>;
60
+ /**
61
+ * Unique human-readable name of the RemoteIdentityGroup.
62
+ */
63
+ name?: pulumi.Input<string>;
64
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getRemoteIdentityGroupOutput = exports.getRemoteIdentityGroup = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * A RemoteIdentityGroup defines a group of remote identities.
10
+ * ## Example Usage
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as sdm from "@pulumi/sdm";
15
+ *
16
+ * const defaultRemoteIdentityGroup = pulumi.output(sdm.getRemoteIdentityGroup({
17
+ * name: "default",
18
+ * }));
19
+ * ```
20
+ */
21
+ function getRemoteIdentityGroup(args, opts) {
22
+ args = args || {};
23
+ if (!opts) {
24
+ opts = {};
25
+ }
26
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
27
+ return pulumi.runtime.invoke("sdm:index/getRemoteIdentityGroup:getRemoteIdentityGroup", {
28
+ "id": args.id,
29
+ "name": args.name,
30
+ }, opts);
31
+ }
32
+ exports.getRemoteIdentityGroup = getRemoteIdentityGroup;
33
+ function getRemoteIdentityGroupOutput(args, opts) {
34
+ return pulumi.output(args).apply(a => getRemoteIdentityGroup(a, opts));
35
+ }
36
+ exports.getRemoteIdentityGroupOutput = getRemoteIdentityGroupOutput;
37
+ //# sourceMappingURL=getRemoteIdentityGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRemoteIdentityGroup.js","sourceRoot":"","sources":["../getRemoteIdentityGroup.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC;;;;;;;;;;;;GAYG;AACH,SAAgB,sBAAsB,CAAC,IAAiC,EAAE,IAA2B;IACjG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,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;AAXD,wDAWC;AAsCD,SAAgB,4BAA4B,CAAC,IAAuC,EAAE,IAA2B;IAC7G,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC1E,CAAC;AAFD,oEAEC"}
@@ -0,0 +1,107 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { output as outputs } from "./types";
3
+ /**
4
+ * A Resource is a database, server, cluster, website, or cloud that strongDM
5
+ * delegates access to.
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as sdm from "@pulumi/sdm";
11
+ *
12
+ * const mysqlDatasources = pulumi.output(sdm.getResource({
13
+ * name: "us-west*",
14
+ * tags: {
15
+ * env: "dev",
16
+ * region: "us-west",
17
+ * },
18
+ * type: "mysql",
19
+ * }));
20
+ * ```
21
+ */
22
+ export declare function getResource(args?: GetResourceArgs, opts?: pulumi.InvokeOptions): Promise<GetResourceResult>;
23
+ /**
24
+ * A collection of arguments for invoking getResource.
25
+ */
26
+ export interface GetResourceArgs {
27
+ hostname?: string;
28
+ /**
29
+ * Unique identifier of the Resource.
30
+ */
31
+ id?: string;
32
+ /**
33
+ * Unique human-readable name of the Resource.
34
+ */
35
+ name?: string;
36
+ port?: number;
37
+ /**
38
+ * Tags is a map of key, value pairs.
39
+ */
40
+ tags?: {
41
+ [key: string]: any;
42
+ };
43
+ /**
44
+ * a filter to select all items of a certain subtype. See the [filter documentation](https://www.strongdm.com/docs/automation/getting-started/filters for more information.
45
+ */
46
+ type?: string;
47
+ username?: string;
48
+ }
49
+ /**
50
+ * A collection of values returned by getResource.
51
+ */
52
+ export interface GetResourceResult {
53
+ readonly hostname?: string;
54
+ /**
55
+ * Unique identifier of the Resource.
56
+ */
57
+ readonly id?: string;
58
+ /**
59
+ * a list of strings of ids of data sources that match the given arguments.
60
+ */
61
+ readonly ids: string[];
62
+ /**
63
+ * Unique human-readable name of the Resource.
64
+ */
65
+ readonly name?: string;
66
+ readonly port?: number;
67
+ /**
68
+ * A single element list containing a map, where each key lists one of the following objects:
69
+ * * aks:
70
+ */
71
+ readonly resources: outputs.GetResourceResource[];
72
+ /**
73
+ * Tags is a map of key, value pairs.
74
+ */
75
+ readonly tags?: {
76
+ [key: string]: any;
77
+ };
78
+ readonly type?: string;
79
+ readonly username?: string;
80
+ }
81
+ export declare function getResourceOutput(args?: GetResourceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetResourceResult>;
82
+ /**
83
+ * A collection of arguments for invoking getResource.
84
+ */
85
+ export interface GetResourceOutputArgs {
86
+ hostname?: pulumi.Input<string>;
87
+ /**
88
+ * Unique identifier of the Resource.
89
+ */
90
+ id?: pulumi.Input<string>;
91
+ /**
92
+ * Unique human-readable name of the Resource.
93
+ */
94
+ name?: pulumi.Input<string>;
95
+ port?: pulumi.Input<number>;
96
+ /**
97
+ * Tags is a map of key, value pairs.
98
+ */
99
+ tags?: pulumi.Input<{
100
+ [key: string]: any;
101
+ }>;
102
+ /**
103
+ * a filter to select all items of a certain subtype. See the [filter documentation](https://www.strongdm.com/docs/automation/getting-started/filters for more information.
104
+ */
105
+ type?: pulumi.Input<string>;
106
+ username?: pulumi.Input<string>;
107
+ }
package/getResource.js ADDED
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getResourceOutput = exports.getResource = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * A Resource is a database, server, cluster, website, or cloud that strongDM
10
+ * delegates access to.
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as sdm from "@pulumi/sdm";
16
+ *
17
+ * const mysqlDatasources = pulumi.output(sdm.getResource({
18
+ * name: "us-west*",
19
+ * tags: {
20
+ * env: "dev",
21
+ * region: "us-west",
22
+ * },
23
+ * type: "mysql",
24
+ * }));
25
+ * ```
26
+ */
27
+ function getResource(args, opts) {
28
+ args = args || {};
29
+ if (!opts) {
30
+ opts = {};
31
+ }
32
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
33
+ return pulumi.runtime.invoke("sdm:index/getResource:getResource", {
34
+ "hostname": args.hostname,
35
+ "id": args.id,
36
+ "name": args.name,
37
+ "port": args.port,
38
+ "tags": args.tags,
39
+ "type": args.type,
40
+ "username": args.username,
41
+ }, opts);
42
+ }
43
+ exports.getResource = getResource;
44
+ function getResourceOutput(args, opts) {
45
+ return pulumi.output(args).apply(a => getResource(a, opts));
46
+ }
47
+ exports.getResourceOutput = getResourceOutput;
48
+ //# sourceMappingURL=getResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getResource.js","sourceRoot":"","sources":["../getResource.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,WAAW,CAAC,IAAsB,EAAE,IAA2B;IAC3E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,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;AAhBD,kCAgBC;AA0DD,SAAgB,iBAAiB,CAAC,IAA4B,EAAE,IAA2B;IACvF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC/D,CAAC;AAFD,8CAEC"}
package/getRole.d.ts ADDED
@@ -0,0 +1,106 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { output as outputs } from "./types";
3
+ /**
4
+ * A Role has a list of access rules which determine which Resources the members
5
+ * of the Role have access to. An Account can be a member of multiple Roles via
6
+ * AccountAttachments.
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as sdm from "@pulumi/sdm";
12
+ *
13
+ * const compositeRoleQuery = pulumi.output(sdm.getRole({
14
+ * composite: true,
15
+ * tags: {
16
+ * env: "dev",
17
+ * region: "us-west",
18
+ * },
19
+ * }));
20
+ * ```
21
+ */
22
+ export declare function getRole(args?: GetRoleArgs, opts?: pulumi.InvokeOptions): Promise<GetRoleResult>;
23
+ /**
24
+ * A collection of arguments for invoking getRole.
25
+ */
26
+ export interface GetRoleArgs {
27
+ /**
28
+ * Composite is true if the Role is a composite role. Deprecated: composite roles are deprecated, use multi-role via AccountAttachments instead.
29
+ *
30
+ * @deprecated composite is deprecated, see docs for more info
31
+ */
32
+ composite?: boolean;
33
+ /**
34
+ * Unique identifier of the Role.
35
+ */
36
+ id?: string;
37
+ /**
38
+ * Unique human-readable name of the Role.
39
+ */
40
+ name?: string;
41
+ /**
42
+ * Tags is a map of key, value pairs.
43
+ */
44
+ tags?: {
45
+ [key: string]: string;
46
+ };
47
+ }
48
+ /**
49
+ * A collection of values returned by getRole.
50
+ */
51
+ export interface GetRoleResult {
52
+ /**
53
+ * Composite is true if the Role is a composite role. Deprecated: composite roles are deprecated, use multi-role via AccountAttachments instead.
54
+ *
55
+ * @deprecated composite is deprecated, see docs for more info
56
+ */
57
+ readonly composite?: boolean;
58
+ /**
59
+ * Unique identifier of the Role.
60
+ */
61
+ readonly id?: string;
62
+ /**
63
+ * a list of strings of ids of data sources that match the given arguments.
64
+ */
65
+ readonly ids: string[];
66
+ /**
67
+ * Unique human-readable name of the Role.
68
+ */
69
+ readonly name?: string;
70
+ /**
71
+ * A list where each element has the following attributes:
72
+ */
73
+ readonly roles: outputs.GetRoleRole[];
74
+ /**
75
+ * Tags is a map of key, value pairs.
76
+ */
77
+ readonly tags?: {
78
+ [key: string]: string;
79
+ };
80
+ }
81
+ export declare function getRoleOutput(args?: GetRoleOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetRoleResult>;
82
+ /**
83
+ * A collection of arguments for invoking getRole.
84
+ */
85
+ export interface GetRoleOutputArgs {
86
+ /**
87
+ * Composite is true if the Role is a composite role. Deprecated: composite roles are deprecated, use multi-role via AccountAttachments instead.
88
+ *
89
+ * @deprecated composite is deprecated, see docs for more info
90
+ */
91
+ composite?: pulumi.Input<boolean>;
92
+ /**
93
+ * Unique identifier of the Role.
94
+ */
95
+ id?: pulumi.Input<string>;
96
+ /**
97
+ * Unique human-readable name of the Role.
98
+ */
99
+ name?: pulumi.Input<string>;
100
+ /**
101
+ * Tags is a map of key, value pairs.
102
+ */
103
+ tags?: pulumi.Input<{
104
+ [key: string]: pulumi.Input<string>;
105
+ }>;
106
+ }
package/getRole.js ADDED
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getRoleOutput = exports.getRole = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * A Role has a list of access rules which determine which Resources the members
10
+ * of the Role have access to. An Account can be a member of multiple Roles via
11
+ * AccountAttachments.
12
+ * ## Example Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as sdm from "@pulumi/sdm";
17
+ *
18
+ * const compositeRoleQuery = pulumi.output(sdm.getRole({
19
+ * composite: true,
20
+ * tags: {
21
+ * env: "dev",
22
+ * region: "us-west",
23
+ * },
24
+ * }));
25
+ * ```
26
+ */
27
+ function getRole(args, opts) {
28
+ args = args || {};
29
+ if (!opts) {
30
+ opts = {};
31
+ }
32
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
33
+ return pulumi.runtime.invoke("sdm:index/getRole:getRole", {
34
+ "composite": args.composite,
35
+ "id": args.id,
36
+ "name": args.name,
37
+ "tags": args.tags,
38
+ }, opts);
39
+ }
40
+ exports.getRole = getRole;
41
+ function getRoleOutput(args, opts) {
42
+ return pulumi.output(args).apply(a => getRole(a, opts));
43
+ }
44
+ exports.getRoleOutput = getRoleOutput;
45
+ //# sourceMappingURL=getRole.js.map
package/getRole.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRole.js","sourceRoot":"","sources":["../getRole.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,OAAO,CAAC,IAAkB,EAAE,IAA2B;IACnE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE;QACtD,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAbD,0BAaC;AA0DD,SAAgB,aAAa,CAAC,IAAwB,EAAE,IAA2B;IAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC3D,CAAC;AAFD,sCAEC"}