@pierskarsenbarg/sdm 1.31.0 → 1.33.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/account.d.ts +7 -10
- package/account.js +4 -4
- package/account.js.map +1 -1
- package/accountAttachment.d.ts +1 -1
- package/accountAttachment.js +1 -1
- package/accountGroup.d.ts +87 -0
- package/accountGroup.js +84 -0
- package/accountGroup.js.map +1 -0
- package/approvalWorkflow.d.ts +16 -6
- package/approvalWorkflow.js +16 -6
- package/approvalWorkflow.js.map +1 -1
- package/getAccount.d.ts +10 -10
- package/getAccount.js +8 -8
- package/getAccountGroup.d.ts +101 -0
- package/getAccountGroup.js +66 -0
- package/getAccountGroup.js.map +1 -0
- package/getApprovalWorkflow.d.ts +4 -4
- package/getApprovalWorkflow.js +4 -4
- package/getGroup.d.ts +127 -0
- package/getGroup.js +72 -0
- package/getGroup.js.map +1 -0
- package/getGroupRole.d.ts +101 -0
- package/getGroupRole.js +66 -0
- package/getGroupRole.js.map +1 -0
- package/getNode.d.ts +6 -6
- package/getNode.js +4 -4
- package/getResource.d.ts +6 -6
- package/getResource.js +4 -4
- package/getRole.d.ts +2 -0
- package/getRole.js +2 -0
- package/getRole.js.map +1 -1
- package/getSecretEngine.d.ts +74 -2
- package/getSecretEngine.js +12 -0
- package/getSecretEngine.js.map +1 -1
- package/getSecretStore.d.ts +2 -2
- package/getWorkflow.d.ts +38 -0
- package/getWorkflow.js +38 -0
- package/getWorkflow.js.map +1 -1
- package/getWorkflowRole.d.ts +14 -4
- package/getWorkflowRole.js +14 -4
- package/getWorkflowRole.js.map +1 -1
- package/group.d.ts +113 -0
- package/group.js +82 -0
- package/group.js.map +1 -0
- package/groupRole.d.ts +87 -0
- package/groupRole.js +84 -0
- package/groupRole.js.map +1 -0
- package/identityAlias.d.ts +13 -0
- package/identityAlias.js +13 -0
- package/identityAlias.js.map +1 -1
- package/identitySet.d.ts +1 -1
- package/identitySet.js +1 -1
- package/index.d.ts +18 -0
- package/index.js +26 -2
- package/index.js.map +1 -1
- package/node.d.ts +4 -4
- package/node.js +4 -4
- package/package.json +1 -1
- package/policy.d.ts +3 -4
- package/policy.js +3 -4
- package/policy.js.map +1 -1
- package/proxyClusterKey.d.ts +1 -1
- package/proxyClusterKey.js +1 -1
- package/remoteIdentity.d.ts +13 -0
- package/remoteIdentity.js +13 -0
- package/remoteIdentity.js.map +1 -1
- package/resource.d.ts +15 -24
- package/resource.js +2 -0
- package/resource.js.map +1 -1
- package/role.d.ts +66 -17
- package/role.js +66 -17
- package/role.js.map +1 -1
- package/secretEngine.d.ts +9 -15
- package/secretEngine.js +2 -0
- package/secretEngine.js.map +1 -1
- package/secretStore.d.ts +63 -6
- package/secretStore.js +10 -0
- package/secretStore.js.map +1 -1
- package/types/input.d.ts +397 -117
- package/types/output.d.ts +887 -252
- package/workflow.d.ts +48 -0
- package/workflow.js +48 -0
- package/workflow.js.map +1 -1
- package/workflowRole.d.ts +7 -3
- package/workflowRole.js +7 -3
- package/workflowRole.js.map +1 -1
package/account.d.ts
CHANGED
|
@@ -13,21 +13,21 @@ import * as outputs from "./types/output";
|
|
|
13
13
|
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
14
14
|
*
|
|
15
15
|
* const test_user = new sdm.Account("test-user", {user: {
|
|
16
|
-
* email: "albob@strongdm.com",
|
|
17
16
|
* firstName: "al",
|
|
18
17
|
* lastName: "bob",
|
|
19
|
-
*
|
|
18
|
+
* email: "albob@strongdm.com",
|
|
20
19
|
* permissionLevel: "database-admin",
|
|
20
|
+
* managerId: "a-1234abc",
|
|
21
21
|
* tags: {
|
|
22
|
-
* env: "dev",
|
|
23
22
|
* region: "us-west",
|
|
23
|
+
* env: "dev",
|
|
24
24
|
* },
|
|
25
25
|
* }});
|
|
26
26
|
* const test_service = new sdm.Account("test-service", {service: {
|
|
27
27
|
* name: "test-service",
|
|
28
28
|
* tags: {
|
|
29
|
-
* env: "dev",
|
|
30
29
|
* region: "us-west",
|
|
30
|
+
* env: "dev",
|
|
31
31
|
* },
|
|
32
32
|
* }});
|
|
33
33
|
* ```
|
|
@@ -58,8 +58,7 @@ export declare class Account extends pulumi.CustomResource {
|
|
|
58
58
|
*/
|
|
59
59
|
static isInstance(obj: any): obj is Account;
|
|
60
60
|
/**
|
|
61
|
-
* A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services
|
|
62
|
-
* are typically automated jobs.
|
|
61
|
+
* A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services are typically automated jobs.
|
|
63
62
|
*/
|
|
64
63
|
readonly service: pulumi.Output<outputs.AccountService | undefined>;
|
|
65
64
|
/**
|
|
@@ -80,8 +79,7 @@ export declare class Account extends pulumi.CustomResource {
|
|
|
80
79
|
*/
|
|
81
80
|
export interface AccountState {
|
|
82
81
|
/**
|
|
83
|
-
* A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services
|
|
84
|
-
* are typically automated jobs.
|
|
82
|
+
* A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services are typically automated jobs.
|
|
85
83
|
*/
|
|
86
84
|
service?: pulumi.Input<inputs.AccountService>;
|
|
87
85
|
/**
|
|
@@ -94,8 +92,7 @@ export interface AccountState {
|
|
|
94
92
|
*/
|
|
95
93
|
export interface AccountArgs {
|
|
96
94
|
/**
|
|
97
|
-
* A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services
|
|
98
|
-
* are typically automated jobs.
|
|
95
|
+
* A Service is a service account that can connect to resources they are granted directly, or granted via roles. Services are typically automated jobs.
|
|
99
96
|
*/
|
|
100
97
|
service?: pulumi.Input<inputs.AccountService>;
|
|
101
98
|
/**
|
package/account.js
CHANGED
|
@@ -17,21 +17,21 @@ const utilities = require("./utilities");
|
|
|
17
17
|
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
18
18
|
*
|
|
19
19
|
* const test_user = new sdm.Account("test-user", {user: {
|
|
20
|
-
* email: "albob@strongdm.com",
|
|
21
20
|
* firstName: "al",
|
|
22
21
|
* lastName: "bob",
|
|
23
|
-
*
|
|
22
|
+
* email: "albob@strongdm.com",
|
|
24
23
|
* permissionLevel: "database-admin",
|
|
24
|
+
* managerId: "a-1234abc",
|
|
25
25
|
* tags: {
|
|
26
|
-
* env: "dev",
|
|
27
26
|
* region: "us-west",
|
|
27
|
+
* env: "dev",
|
|
28
28
|
* },
|
|
29
29
|
* }});
|
|
30
30
|
* const test_service = new sdm.Account("test-service", {service: {
|
|
31
31
|
* name: "test-service",
|
|
32
32
|
* tags: {
|
|
33
|
-
* env: "dev",
|
|
34
33
|
* region: "us-west",
|
|
34
|
+
* env: "dev",
|
|
35
35
|
* },
|
|
36
36
|
* }});
|
|
37
37
|
* ```
|
package/account.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"","sources":["../account.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;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,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,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;
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../account.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;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,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,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;IAmBD,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,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAAsC,CAAC;YACpD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;SACvC;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;;AA3DL,0BA4DC;AA9CG,gBAAgB;AACO,oBAAY,GAAG,2BAA2B,CAAC"}
|
package/accountAttachment.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
7
7
|
* import * as pulumi from "@pulumi/pulumi";
|
|
8
8
|
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
9
9
|
*
|
|
10
|
-
* const testAccountAttachment = new sdm.AccountAttachment("
|
|
10
|
+
* const testAccountAttachment = new sdm.AccountAttachment("test_account_attachment", {
|
|
11
11
|
* accountId: "a-00000054",
|
|
12
12
|
* roleId: "r-12355562",
|
|
13
13
|
* });
|
package/accountAttachment.js
CHANGED
|
@@ -13,7 +13,7 @@ const utilities = require("./utilities");
|
|
|
13
13
|
* import * as pulumi from "@pulumi/pulumi";
|
|
14
14
|
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
15
15
|
*
|
|
16
|
-
* const testAccountAttachment = new sdm.AccountAttachment("
|
|
16
|
+
* const testAccountAttachment = new sdm.AccountAttachment("test_account_attachment", {
|
|
17
17
|
* accountId: "a-00000054",
|
|
18
18
|
* roleId: "r-12355562",
|
|
19
19
|
* });
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* An AccountGroup is a link between an Account and a Group.
|
|
4
|
+
* ## Example Usage
|
|
5
|
+
*
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
8
|
+
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
9
|
+
*
|
|
10
|
+
* const securityLeadToSecurityTeam = new sdm.AccountGroup("security_lead_to_security_team", {
|
|
11
|
+
* accountId: securityLead.id,
|
|
12
|
+
* groupId: securityTeam.id,
|
|
13
|
+
* });
|
|
14
|
+
* const adminUserToAdministrators = new sdm.AccountGroup("admin_user_to_administrators", {
|
|
15
|
+
* accountId: "a-1234567890abcdef",
|
|
16
|
+
* groupId: "group-1234567890abcdef",
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
* This resource can be imported using the import command.
|
|
20
|
+
*
|
|
21
|
+
* ## Import
|
|
22
|
+
*
|
|
23
|
+
* A AccountGroup can be imported using the id, e.g.,
|
|
24
|
+
*
|
|
25
|
+
* ```sh
|
|
26
|
+
* $ pulumi import sdm:index/accountGroup:AccountGroup example accountgroup-12345678
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare class AccountGroup extends pulumi.CustomResource {
|
|
30
|
+
/**
|
|
31
|
+
* Get an existing AccountGroup resource's state with the given name, ID, and optional extra
|
|
32
|
+
* properties used to qualify the lookup.
|
|
33
|
+
*
|
|
34
|
+
* @param name The _unique_ name of the resulting resource.
|
|
35
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
36
|
+
* @param state Any extra arguments used during the lookup.
|
|
37
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
38
|
+
*/
|
|
39
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AccountGroupState, opts?: pulumi.CustomResourceOptions): AccountGroup;
|
|
40
|
+
/**
|
|
41
|
+
* Returns true if the given object is an instance of AccountGroup. This is designed to work even
|
|
42
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
43
|
+
*/
|
|
44
|
+
static isInstance(obj: any): obj is AccountGroup;
|
|
45
|
+
/**
|
|
46
|
+
* Unique identifier of the Account.
|
|
47
|
+
*/
|
|
48
|
+
readonly accountId: pulumi.Output<string>;
|
|
49
|
+
/**
|
|
50
|
+
* Unique identifier of the Group.
|
|
51
|
+
*/
|
|
52
|
+
readonly groupId: pulumi.Output<string>;
|
|
53
|
+
/**
|
|
54
|
+
* Create a AccountGroup resource with the given unique name, arguments, and options.
|
|
55
|
+
*
|
|
56
|
+
* @param name The _unique_ name of the resource.
|
|
57
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
58
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
59
|
+
*/
|
|
60
|
+
constructor(name: string, args: AccountGroupArgs, opts?: pulumi.CustomResourceOptions);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Input properties used for looking up and filtering AccountGroup resources.
|
|
64
|
+
*/
|
|
65
|
+
export interface AccountGroupState {
|
|
66
|
+
/**
|
|
67
|
+
* Unique identifier of the Account.
|
|
68
|
+
*/
|
|
69
|
+
accountId?: pulumi.Input<string>;
|
|
70
|
+
/**
|
|
71
|
+
* Unique identifier of the Group.
|
|
72
|
+
*/
|
|
73
|
+
groupId?: pulumi.Input<string>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The set of arguments for constructing a AccountGroup resource.
|
|
77
|
+
*/
|
|
78
|
+
export interface AccountGroupArgs {
|
|
79
|
+
/**
|
|
80
|
+
* Unique identifier of the Account.
|
|
81
|
+
*/
|
|
82
|
+
accountId: pulumi.Input<string>;
|
|
83
|
+
/**
|
|
84
|
+
* Unique identifier of the Group.
|
|
85
|
+
*/
|
|
86
|
+
groupId: pulumi.Input<string>;
|
|
87
|
+
}
|
package/accountGroup.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
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.AccountGroup = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* An AccountGroup is a link between an Account and a Group.
|
|
10
|
+
* ## Example Usage
|
|
11
|
+
*
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
14
|
+
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
15
|
+
*
|
|
16
|
+
* const securityLeadToSecurityTeam = new sdm.AccountGroup("security_lead_to_security_team", {
|
|
17
|
+
* accountId: securityLead.id,
|
|
18
|
+
* groupId: securityTeam.id,
|
|
19
|
+
* });
|
|
20
|
+
* const adminUserToAdministrators = new sdm.AccountGroup("admin_user_to_administrators", {
|
|
21
|
+
* accountId: "a-1234567890abcdef",
|
|
22
|
+
* groupId: "group-1234567890abcdef",
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
* This resource can be imported using the import command.
|
|
26
|
+
*
|
|
27
|
+
* ## Import
|
|
28
|
+
*
|
|
29
|
+
* A AccountGroup can be imported using the id, e.g.,
|
|
30
|
+
*
|
|
31
|
+
* ```sh
|
|
32
|
+
* $ pulumi import sdm:index/accountGroup:AccountGroup example accountgroup-12345678
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
class AccountGroup extends pulumi.CustomResource {
|
|
36
|
+
/**
|
|
37
|
+
* Get an existing AccountGroup resource's state with the given name, ID, and optional extra
|
|
38
|
+
* properties used to qualify the lookup.
|
|
39
|
+
*
|
|
40
|
+
* @param name The _unique_ name of the resulting resource.
|
|
41
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
42
|
+
* @param state Any extra arguments used during the lookup.
|
|
43
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
44
|
+
*/
|
|
45
|
+
static get(name, id, state, opts) {
|
|
46
|
+
return new AccountGroup(name, state, { ...opts, id: id });
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Returns true if the given object is an instance of AccountGroup. This is designed to work even
|
|
50
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
51
|
+
*/
|
|
52
|
+
static isInstance(obj) {
|
|
53
|
+
if (obj === undefined || obj === null) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return obj['__pulumiType'] === AccountGroup.__pulumiType;
|
|
57
|
+
}
|
|
58
|
+
constructor(name, argsOrState, opts) {
|
|
59
|
+
let resourceInputs = {};
|
|
60
|
+
opts = opts || {};
|
|
61
|
+
if (opts.id) {
|
|
62
|
+
const state = argsOrState;
|
|
63
|
+
resourceInputs["accountId"] = state?.accountId;
|
|
64
|
+
resourceInputs["groupId"] = state?.groupId;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
const args = argsOrState;
|
|
68
|
+
if (args?.accountId === undefined && !opts.urn) {
|
|
69
|
+
throw new Error("Missing required property 'accountId'");
|
|
70
|
+
}
|
|
71
|
+
if (args?.groupId === undefined && !opts.urn) {
|
|
72
|
+
throw new Error("Missing required property 'groupId'");
|
|
73
|
+
}
|
|
74
|
+
resourceInputs["accountId"] = args?.accountId;
|
|
75
|
+
resourceInputs["groupId"] = args?.groupId;
|
|
76
|
+
}
|
|
77
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
78
|
+
super(AccountGroup.__pulumiType, name, resourceInputs, opts);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.AccountGroup = AccountGroup;
|
|
82
|
+
/** @internal */
|
|
83
|
+
AccountGroup.__pulumiType = 'sdm:index/accountGroup:AccountGroup';
|
|
84
|
+
//# sourceMappingURL=accountGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountGroup.js","sourceRoot":"","sources":["../accountGroup.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IACnD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAyB,EAAE,IAAmC;QACvH,OAAO,IAAI,YAAY,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,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,YAAY,CAAC,YAAY,CAAC;IAC7D,CAAC;IAmBD,YAAY,IAAY,EAAE,WAAkD,EAAE,IAAmC;QAC7G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA4C,CAAC;YAC3D,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAA2C,CAAC;YACzD,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;SAC7C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;;AAjEL,oCAkEC;AApDG,gBAAgB;AACO,yBAAY,GAAG,qCAAqC,CAAC"}
|
package/approvalWorkflow.d.ts
CHANGED
|
@@ -10,22 +10,28 @@ import * as outputs from "./types/output";
|
|
|
10
10
|
* import * as pulumi from "@pulumi/pulumi";
|
|
11
11
|
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
12
12
|
*
|
|
13
|
-
* const manualApprovalWorkflow = new sdm.ApprovalWorkflow("
|
|
13
|
+
* const manualApprovalWorkflow = new sdm.ApprovalWorkflow("manual_approval_workflow", {
|
|
14
|
+
* name: "manual approval workflow example",
|
|
14
15
|
* approvalMode: "manual",
|
|
15
16
|
* approvalSteps: [
|
|
16
17
|
* {
|
|
18
|
+
* quantifier: "any",
|
|
19
|
+
* skipAfter: "1h0m0s",
|
|
17
20
|
* approvers: [
|
|
18
21
|
* {
|
|
19
22
|
* accountId: "a-1234abc",
|
|
20
23
|
* },
|
|
21
24
|
* {
|
|
25
|
+
* groupId: "group-1234abc",
|
|
26
|
+
* },
|
|
27
|
+
* {
|
|
22
28
|
* reference: "manager-of-requester",
|
|
23
29
|
* },
|
|
24
30
|
* ],
|
|
25
|
-
* quantifier: "any",
|
|
26
|
-
* skipAfter: "1h0m0s",
|
|
27
31
|
* },
|
|
28
32
|
* {
|
|
33
|
+
* quantifier: "all",
|
|
34
|
+
* skipAfter: "0s",
|
|
29
35
|
* approvers: [
|
|
30
36
|
* {
|
|
31
37
|
* roleId: "r-1234abc",
|
|
@@ -34,15 +40,19 @@ import * as outputs from "./types/output";
|
|
|
34
40
|
* accountId: "a-5678def",
|
|
35
41
|
* },
|
|
36
42
|
* {
|
|
43
|
+
* groupId: "group-5678def",
|
|
44
|
+
* },
|
|
45
|
+
* {
|
|
37
46
|
* reference: "manager-of-manager-of-requester",
|
|
38
47
|
* },
|
|
39
48
|
* ],
|
|
40
|
-
* quantifier: "all",
|
|
41
|
-
* skipAfter: "0s",
|
|
42
49
|
* },
|
|
43
50
|
* ],
|
|
44
51
|
* });
|
|
45
|
-
* const autoGrantApprovalWorkflow = new sdm.ApprovalWorkflow("
|
|
52
|
+
* const autoGrantApprovalWorkflow = new sdm.ApprovalWorkflow("auto_grant_approval_workflow", {
|
|
53
|
+
* name: "auto approval workflow example",
|
|
54
|
+
* approvalMode: "automatic",
|
|
55
|
+
* });
|
|
46
56
|
* ```
|
|
47
57
|
* This resource can be imported using the import command.
|
|
48
58
|
*
|
package/approvalWorkflow.js
CHANGED
|
@@ -14,22 +14,28 @@ const utilities = require("./utilities");
|
|
|
14
14
|
* import * as pulumi from "@pulumi/pulumi";
|
|
15
15
|
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
16
16
|
*
|
|
17
|
-
* const manualApprovalWorkflow = new sdm.ApprovalWorkflow("
|
|
17
|
+
* const manualApprovalWorkflow = new sdm.ApprovalWorkflow("manual_approval_workflow", {
|
|
18
|
+
* name: "manual approval workflow example",
|
|
18
19
|
* approvalMode: "manual",
|
|
19
20
|
* approvalSteps: [
|
|
20
21
|
* {
|
|
22
|
+
* quantifier: "any",
|
|
23
|
+
* skipAfter: "1h0m0s",
|
|
21
24
|
* approvers: [
|
|
22
25
|
* {
|
|
23
26
|
* accountId: "a-1234abc",
|
|
24
27
|
* },
|
|
25
28
|
* {
|
|
29
|
+
* groupId: "group-1234abc",
|
|
30
|
+
* },
|
|
31
|
+
* {
|
|
26
32
|
* reference: "manager-of-requester",
|
|
27
33
|
* },
|
|
28
34
|
* ],
|
|
29
|
-
* quantifier: "any",
|
|
30
|
-
* skipAfter: "1h0m0s",
|
|
31
35
|
* },
|
|
32
36
|
* {
|
|
37
|
+
* quantifier: "all",
|
|
38
|
+
* skipAfter: "0s",
|
|
33
39
|
* approvers: [
|
|
34
40
|
* {
|
|
35
41
|
* roleId: "r-1234abc",
|
|
@@ -38,15 +44,19 @@ const utilities = require("./utilities");
|
|
|
38
44
|
* accountId: "a-5678def",
|
|
39
45
|
* },
|
|
40
46
|
* {
|
|
47
|
+
* groupId: "group-5678def",
|
|
48
|
+
* },
|
|
49
|
+
* {
|
|
41
50
|
* reference: "manager-of-manager-of-requester",
|
|
42
51
|
* },
|
|
43
52
|
* ],
|
|
44
|
-
* quantifier: "all",
|
|
45
|
-
* skipAfter: "0s",
|
|
46
53
|
* },
|
|
47
54
|
* ],
|
|
48
55
|
* });
|
|
49
|
-
* const autoGrantApprovalWorkflow = new sdm.ApprovalWorkflow("
|
|
56
|
+
* const autoGrantApprovalWorkflow = new sdm.ApprovalWorkflow("auto_grant_approval_workflow", {
|
|
57
|
+
* name: "auto approval workflow example",
|
|
58
|
+
* approvalMode: "automatic",
|
|
59
|
+
* });
|
|
50
60
|
* ```
|
|
51
61
|
* This resource can be imported using the import command.
|
|
52
62
|
*
|
package/approvalWorkflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvalWorkflow.js","sourceRoot":"","sources":["../approvalWorkflow.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"approvalWorkflow.js","sourceRoot":"","sources":["../approvalWorkflow.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IACvD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvE,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,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;IA2BD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,EAAE,aAAa,CAAC;YACvD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,IAAI,IAAI,EAAE,YAAY,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC/C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC/D;YACD,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;YACpD,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC;YACtD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;SACvC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;;AA1EL,4CA2EC;AA7DG,gBAAgB;AACO,6BAAY,GAAG,6CAA6C,CAAC"}
|
package/getAccount.d.ts
CHANGED
|
@@ -12,20 +12,20 @@ import * as outputs from "./types/output";
|
|
|
12
12
|
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
13
13
|
*
|
|
14
14
|
* const user_queries = sdm.getAccount({
|
|
15
|
+
* type: "user",
|
|
15
16
|
* email: "*@strongdm.com",
|
|
16
17
|
* tags: {
|
|
17
|
-
* env: "dev",
|
|
18
18
|
* region: "us-west",
|
|
19
|
+
* env: "dev",
|
|
19
20
|
* },
|
|
20
|
-
* type: "user",
|
|
21
21
|
* });
|
|
22
22
|
* const api_key_queries = sdm.getAccount({
|
|
23
|
-
* name: "*-dev",
|
|
24
23
|
* type: "api",
|
|
24
|
+
* name: "*-dev",
|
|
25
25
|
* });
|
|
26
26
|
* const admin_token_queries = sdm.getAccount({
|
|
27
|
-
* name: "*-prod",
|
|
28
27
|
* type: "admin-token",
|
|
28
|
+
* name: "*-prod",
|
|
29
29
|
* });
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
@@ -85,7 +85,7 @@ export interface GetAccountArgs {
|
|
|
85
85
|
[key: string]: string;
|
|
86
86
|
};
|
|
87
87
|
/**
|
|
88
|
-
* a filter to select all items of a certain subtype. See the [filter documentation](https://
|
|
88
|
+
* a filter to select all items of a certain subtype. See the [filter documentation](https://docs.strongdm.com/references/cli/filters/) for more information.
|
|
89
89
|
*/
|
|
90
90
|
type?: string;
|
|
91
91
|
}
|
|
@@ -166,20 +166,20 @@ export interface GetAccountResult {
|
|
|
166
166
|
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
167
167
|
*
|
|
168
168
|
* const user_queries = sdm.getAccount({
|
|
169
|
+
* type: "user",
|
|
169
170
|
* email: "*@strongdm.com",
|
|
170
171
|
* tags: {
|
|
171
|
-
* env: "dev",
|
|
172
172
|
* region: "us-west",
|
|
173
|
+
* env: "dev",
|
|
173
174
|
* },
|
|
174
|
-
* type: "user",
|
|
175
175
|
* });
|
|
176
176
|
* const api_key_queries = sdm.getAccount({
|
|
177
|
-
* name: "*-dev",
|
|
178
177
|
* type: "api",
|
|
178
|
+
* name: "*-dev",
|
|
179
179
|
* });
|
|
180
180
|
* const admin_token_queries = sdm.getAccount({
|
|
181
|
-
* name: "*-prod",
|
|
182
181
|
* type: "admin-token",
|
|
182
|
+
* name: "*-prod",
|
|
183
183
|
* });
|
|
184
184
|
* ```
|
|
185
185
|
*/
|
|
@@ -239,7 +239,7 @@ export interface GetAccountOutputArgs {
|
|
|
239
239
|
[key: string]: pulumi.Input<string>;
|
|
240
240
|
}>;
|
|
241
241
|
/**
|
|
242
|
-
* a filter to select all items of a certain subtype. See the [filter documentation](https://
|
|
242
|
+
* a filter to select all items of a certain subtype. See the [filter documentation](https://docs.strongdm.com/references/cli/filters/) for more information.
|
|
243
243
|
*/
|
|
244
244
|
type?: pulumi.Input<string>;
|
|
245
245
|
}
|
package/getAccount.js
CHANGED
|
@@ -17,20 +17,20 @@ const utilities = require("./utilities");
|
|
|
17
17
|
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
18
18
|
*
|
|
19
19
|
* const user_queries = sdm.getAccount({
|
|
20
|
+
* type: "user",
|
|
20
21
|
* email: "*@strongdm.com",
|
|
21
22
|
* tags: {
|
|
22
|
-
* env: "dev",
|
|
23
23
|
* region: "us-west",
|
|
24
|
+
* env: "dev",
|
|
24
25
|
* },
|
|
25
|
-
* type: "user",
|
|
26
26
|
* });
|
|
27
27
|
* const api_key_queries = sdm.getAccount({
|
|
28
|
-
* name: "*-dev",
|
|
29
28
|
* type: "api",
|
|
29
|
+
* name: "*-dev",
|
|
30
30
|
* });
|
|
31
31
|
* const admin_token_queries = sdm.getAccount({
|
|
32
|
-
* name: "*-prod",
|
|
33
32
|
* type: "admin-token",
|
|
33
|
+
* name: "*-prod",
|
|
34
34
|
* });
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
@@ -66,20 +66,20 @@ exports.getAccount = getAccount;
|
|
|
66
66
|
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
67
67
|
*
|
|
68
68
|
* const user_queries = sdm.getAccount({
|
|
69
|
+
* type: "user",
|
|
69
70
|
* email: "*@strongdm.com",
|
|
70
71
|
* tags: {
|
|
71
|
-
* env: "dev",
|
|
72
72
|
* region: "us-west",
|
|
73
|
+
* env: "dev",
|
|
73
74
|
* },
|
|
74
|
-
* type: "user",
|
|
75
75
|
* });
|
|
76
76
|
* const api_key_queries = sdm.getAccount({
|
|
77
|
-
* name: "*-dev",
|
|
78
77
|
* type: "api",
|
|
78
|
+
* name: "*-dev",
|
|
79
79
|
* });
|
|
80
80
|
* const admin_token_queries = sdm.getAccount({
|
|
81
|
-
* name: "*-prod",
|
|
82
81
|
* type: "admin-token",
|
|
82
|
+
* name: "*-prod",
|
|
83
83
|
* });
|
|
84
84
|
* ```
|
|
85
85
|
*/
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as outputs from "./types/output";
|
|
3
|
+
/**
|
|
4
|
+
* An AccountGroup is a link between an Account and a Group.
|
|
5
|
+
* ## Example Usage
|
|
6
|
+
*
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
9
|
+
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
10
|
+
*
|
|
11
|
+
* const securityLeadGroups = sdm.getAccountGroup({
|
|
12
|
+
* accountId: securityLead.id,
|
|
13
|
+
* });
|
|
14
|
+
* const specificRelationship = sdm.getAccountGroup({
|
|
15
|
+
* id: "accountgroup-1234567890abcdef",
|
|
16
|
+
* });
|
|
17
|
+
* const usersInGroup = sdm.getAccountGroup({
|
|
18
|
+
* groupId: devopsGroup.id,
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function getAccountGroup(args?: GetAccountGroupArgs, opts?: pulumi.InvokeOptions): Promise<GetAccountGroupResult>;
|
|
23
|
+
/**
|
|
24
|
+
* A collection of arguments for invoking getAccountGroup.
|
|
25
|
+
*/
|
|
26
|
+
export interface GetAccountGroupArgs {
|
|
27
|
+
/**
|
|
28
|
+
* Unique identifier of the Account.
|
|
29
|
+
*/
|
|
30
|
+
accountId?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Unique identifier of the Group.
|
|
33
|
+
*/
|
|
34
|
+
groupId?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Unique identifier of the AccountGroup.
|
|
37
|
+
*/
|
|
38
|
+
id?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A collection of values returned by getAccountGroup.
|
|
42
|
+
*/
|
|
43
|
+
export interface GetAccountGroupResult {
|
|
44
|
+
/**
|
|
45
|
+
* Unique identifier of the Account.
|
|
46
|
+
*/
|
|
47
|
+
readonly accountId?: string;
|
|
48
|
+
/**
|
|
49
|
+
* A list where each element has the following attributes:
|
|
50
|
+
*/
|
|
51
|
+
readonly accountsGroups: outputs.GetAccountGroupAccountsGroup[];
|
|
52
|
+
/**
|
|
53
|
+
* Unique identifier of the Group.
|
|
54
|
+
*/
|
|
55
|
+
readonly groupId?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Unique identifier of the AccountGroup.
|
|
58
|
+
*/
|
|
59
|
+
readonly id?: string;
|
|
60
|
+
/**
|
|
61
|
+
* a list of strings of ids of data sources that match the given arguments.
|
|
62
|
+
*/
|
|
63
|
+
readonly ids: string[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* An AccountGroup is a link between an Account and a Group.
|
|
67
|
+
* ## Example Usage
|
|
68
|
+
*
|
|
69
|
+
* ```typescript
|
|
70
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
71
|
+
* import * as sdm from "@pierskarsenbarg/sdm";
|
|
72
|
+
*
|
|
73
|
+
* const securityLeadGroups = sdm.getAccountGroup({
|
|
74
|
+
* accountId: securityLead.id,
|
|
75
|
+
* });
|
|
76
|
+
* const specificRelationship = sdm.getAccountGroup({
|
|
77
|
+
* id: "accountgroup-1234567890abcdef",
|
|
78
|
+
* });
|
|
79
|
+
* const usersInGroup = sdm.getAccountGroup({
|
|
80
|
+
* groupId: devopsGroup.id,
|
|
81
|
+
* });
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare function getAccountGroupOutput(args?: GetAccountGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAccountGroupResult>;
|
|
85
|
+
/**
|
|
86
|
+
* A collection of arguments for invoking getAccountGroup.
|
|
87
|
+
*/
|
|
88
|
+
export interface GetAccountGroupOutputArgs {
|
|
89
|
+
/**
|
|
90
|
+
* Unique identifier of the Account.
|
|
91
|
+
*/
|
|
92
|
+
accountId?: pulumi.Input<string>;
|
|
93
|
+
/**
|
|
94
|
+
* Unique identifier of the Group.
|
|
95
|
+
*/
|
|
96
|
+
groupId?: pulumi.Input<string>;
|
|
97
|
+
/**
|
|
98
|
+
* Unique identifier of the AccountGroup.
|
|
99
|
+
*/
|
|
100
|
+
id?: pulumi.Input<string>;
|
|
101
|
+
}
|