@pierskarsenbarg/sdm 1.5.0 → 1.7.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.
Files changed (49) hide show
  1. package/account.d.ts +1 -1
  2. package/account.js +1 -1
  3. package/accountAttachment.d.ts +1 -1
  4. package/accountAttachment.js +1 -1
  5. package/getWorkflow.d.ts +131 -0
  6. package/getWorkflow.js +57 -0
  7. package/getWorkflow.js.map +1 -0
  8. package/getWorkflowApprover.d.ts +91 -0
  9. package/getWorkflowApprover.js +50 -0
  10. package/getWorkflowApprover.js.map +1 -0
  11. package/getWorkflowRole.d.ts +93 -0
  12. package/getWorkflowRole.js +52 -0
  13. package/getWorkflowRole.js.map +1 -0
  14. package/index.d.ts +18 -0
  15. package/index.js +25 -1
  16. package/index.js.map +1 -1
  17. package/node.d.ts +1 -1
  18. package/node.js +1 -1
  19. package/package.json +2 -3
  20. package/package.json.bak +1 -2
  21. package/peeringGroup.d.ts +1 -1
  22. package/peeringGroup.js +1 -1
  23. package/peeringGroupNode.d.ts +1 -1
  24. package/peeringGroupNode.js +1 -1
  25. package/peeringGroupPeer.d.ts +1 -1
  26. package/peeringGroupPeer.js +1 -1
  27. package/peeringGroupResource.d.ts +1 -1
  28. package/peeringGroupResource.js +1 -1
  29. package/remoteIdentity.d.ts +1 -1
  30. package/remoteIdentity.js +1 -1
  31. package/resource.d.ts +22 -40
  32. package/resource.js +5 -1
  33. package/resource.js.map +1 -1
  34. package/role.d.ts +1 -1
  35. package/role.js +1 -1
  36. package/secretStore.d.ts +1 -1
  37. package/secretStore.js +1 -1
  38. package/types/input.d.ts +124 -0
  39. package/types/output.d.ts +316 -0
  40. package/workflow.d.ts +148 -0
  41. package/workflow.js +99 -0
  42. package/workflow.js.map +1 -0
  43. package/workflowApprover.d.ts +83 -0
  44. package/workflowApprover.js +80 -0
  45. package/workflowApprover.js.map +1 -0
  46. package/workflowRole.d.ts +84 -0
  47. package/workflowRole.js +81 -0
  48. package/workflowRole.js.map +1 -0
  49. package/scripts/install-pulumi-plugin.js +0 -26
package/types/output.d.ts CHANGED
@@ -317,6 +317,7 @@ export interface GetResourceResource {
317
317
  athenas: outputs.GetResourceResourceAthena[];
318
318
  auroraMysqls: outputs.GetResourceResourceAuroraMysql[];
319
319
  auroraPostgres: outputs.GetResourceResourceAuroraPostgre[];
320
+ auroraPostgresIams: outputs.GetResourceResourceAuroraPostgresIam[];
320
321
  aws: outputs.GetResourceResourceAw[];
321
322
  awsConsoleStaticKeyPairs: outputs.GetResourceResourceAwsConsoleStaticKeyPair[];
322
323
  awsConsoles: outputs.GetResourceResourceAwsConsole[];
@@ -369,6 +370,7 @@ export interface GetResourceResource {
369
370
  rabbitmqAmqp091s: outputs.GetResourceResourceRabbitmqAmqp091[];
370
371
  rawTcps: outputs.GetResourceResourceRawTcp[];
371
372
  rdps: outputs.GetResourceResourceRdp[];
373
+ rdsPostgresIams: outputs.GetResourceResourceRdsPostgresIam[];
372
374
  redis: outputs.GetResourceResourceRedi[];
373
375
  redshifts: outputs.GetResourceResourceRedshift[];
374
376
  singleStores: outputs.GetResourceResourceSingleStore[];
@@ -1279,6 +1281,70 @@ export interface GetResourceResourceAuroraPostgre {
1279
1281
  */
1280
1282
  username?: string;
1281
1283
  }
1284
+ export interface GetResourceResourceAuroraPostgresIam {
1285
+ /**
1286
+ * The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
1287
+ */
1288
+ bindInterface?: string;
1289
+ /**
1290
+ * The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
1291
+ */
1292
+ database?: string;
1293
+ /**
1294
+ * A filter applied to the routing logic to pin datasource to nodes.
1295
+ */
1296
+ egressFilter?: string;
1297
+ /**
1298
+ * The host to dial to initiate a connection from the egress node to this resource.
1299
+ */
1300
+ hostname?: string;
1301
+ /**
1302
+ * Unique identifier of the Resource.
1303
+ */
1304
+ id?: string;
1305
+ /**
1306
+ * Unique human-readable name of the Resource.
1307
+ */
1308
+ name?: string;
1309
+ /**
1310
+ * If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
1311
+ */
1312
+ overrideDatabase?: boolean;
1313
+ /**
1314
+ * The port to dial to initiate a connection from the egress node to this resource.
1315
+ */
1316
+ port?: number;
1317
+ /**
1318
+ * The local port used by clients to connect to this resource.
1319
+ */
1320
+ portOverride?: number;
1321
+ /**
1322
+ * The AWS region to connect to.
1323
+ */
1324
+ region?: string;
1325
+ /**
1326
+ * If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
1327
+ */
1328
+ roleAssumptionArn?: string;
1329
+ /**
1330
+ * ID of the secret store containing credentials for this resource, if any.
1331
+ */
1332
+ secretStoreId?: string;
1333
+ /**
1334
+ * Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1335
+ */
1336
+ subdomain?: string;
1337
+ /**
1338
+ * Tags is a map of key, value pairs.
1339
+ */
1340
+ tags?: {
1341
+ [key: string]: string;
1342
+ };
1343
+ /**
1344
+ * The username to authenticate with.
1345
+ */
1346
+ username?: string;
1347
+ }
1282
1348
  export interface GetResourceResourceAw {
1283
1349
  /**
1284
1350
  * The Access Key ID to use to authenticate.
@@ -4299,6 +4365,10 @@ export interface GetResourceResourceRdp {
4299
4365
  * Unique identifier of the Resource.
4300
4366
  */
4301
4367
  id?: string;
4368
+ /**
4369
+ * When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
4370
+ */
4371
+ lockRequired?: boolean;
4302
4372
  /**
4303
4373
  * Unique human-readable name of the Resource.
4304
4374
  */
@@ -4334,6 +4404,70 @@ export interface GetResourceResourceRdp {
4334
4404
  */
4335
4405
  username?: string;
4336
4406
  }
4407
+ export interface GetResourceResourceRdsPostgresIam {
4408
+ /**
4409
+ * The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4410
+ */
4411
+ bindInterface?: string;
4412
+ /**
4413
+ * The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
4414
+ */
4415
+ database?: string;
4416
+ /**
4417
+ * A filter applied to the routing logic to pin datasource to nodes.
4418
+ */
4419
+ egressFilter?: string;
4420
+ /**
4421
+ * The host to dial to initiate a connection from the egress node to this resource.
4422
+ */
4423
+ hostname?: string;
4424
+ /**
4425
+ * Unique identifier of the Resource.
4426
+ */
4427
+ id?: string;
4428
+ /**
4429
+ * Unique human-readable name of the Resource.
4430
+ */
4431
+ name?: string;
4432
+ /**
4433
+ * If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
4434
+ */
4435
+ overrideDatabase?: boolean;
4436
+ /**
4437
+ * The port to dial to initiate a connection from the egress node to this resource.
4438
+ */
4439
+ port?: number;
4440
+ /**
4441
+ * The local port used by clients to connect to this resource.
4442
+ */
4443
+ portOverride?: number;
4444
+ /**
4445
+ * The AWS region to connect to.
4446
+ */
4447
+ region?: string;
4448
+ /**
4449
+ * If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
4450
+ */
4451
+ roleAssumptionArn?: string;
4452
+ /**
4453
+ * ID of the secret store containing credentials for this resource, if any.
4454
+ */
4455
+ secretStoreId?: string;
4456
+ /**
4457
+ * Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4458
+ */
4459
+ subdomain?: string;
4460
+ /**
4461
+ * Tags is a map of key, value pairs.
4462
+ */
4463
+ tags?: {
4464
+ [key: string]: string;
4465
+ };
4466
+ /**
4467
+ * The username to authenticate with.
4468
+ */
4469
+ username?: string;
4470
+ }
4337
4471
  export interface GetResourceResourceRedi {
4338
4472
  /**
4339
4473
  * The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
@@ -5505,6 +5639,64 @@ export interface GetSecretStoreSecretStoreVaultToken {
5505
5639
  [key: string]: string;
5506
5640
  };
5507
5641
  }
5642
+ export interface GetWorkflowApproverWorkflowApprover {
5643
+ /**
5644
+ * The approver id.
5645
+ */
5646
+ approverId?: string;
5647
+ /**
5648
+ * Unique identifier of the WorkflowApprover.
5649
+ */
5650
+ id?: string;
5651
+ /**
5652
+ * The workflow id.
5653
+ */
5654
+ workflowId?: string;
5655
+ }
5656
+ export interface GetWorkflowRoleWorkflowRole {
5657
+ /**
5658
+ * Unique identifier of the WorkflowRole.
5659
+ */
5660
+ id?: string;
5661
+ /**
5662
+ * The role id.
5663
+ */
5664
+ roleId?: string;
5665
+ /**
5666
+ * The workflow id.
5667
+ */
5668
+ workflowId?: string;
5669
+ }
5670
+ export interface GetWorkflowWorkflow {
5671
+ /**
5672
+ * AccessRules is a list of access rules defining the resources this Workflow provides access to.
5673
+ */
5674
+ accessRules?: string;
5675
+ /**
5676
+ * Optional auto grant setting to automatically approve requests or not, defaults to false.
5677
+ */
5678
+ autoGrant?: boolean;
5679
+ /**
5680
+ * Optional description of the Workflow.
5681
+ */
5682
+ description?: string;
5683
+ /**
5684
+ * Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.
5685
+ */
5686
+ enabled?: boolean;
5687
+ /**
5688
+ * Unique identifier of the Workflow.
5689
+ */
5690
+ id?: string;
5691
+ /**
5692
+ * Unique human-readable name of the Workflow.
5693
+ */
5694
+ name?: string;
5695
+ /**
5696
+ * Optional weight for workflow to specify it's priority in matching a request.
5697
+ */
5698
+ weight?: number;
5699
+ }
5508
5700
  export interface NodeGateway {
5509
5701
  /**
5510
5702
  * The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to "0.0.0.0:listen_address_port".
@@ -6425,6 +6617,66 @@ export interface ResourceAuroraPostgres {
6425
6617
  */
6426
6618
  username?: string;
6427
6619
  }
6620
+ export interface ResourceAuroraPostgresIam {
6621
+ /**
6622
+ * The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6623
+ */
6624
+ bindInterface: string;
6625
+ /**
6626
+ * The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6627
+ */
6628
+ database: string;
6629
+ /**
6630
+ * A filter applied to the routing logic to pin datasource to nodes.
6631
+ */
6632
+ egressFilter?: string;
6633
+ /**
6634
+ * The host to dial to initiate a connection from the egress node to this resource.
6635
+ */
6636
+ hostname: string;
6637
+ /**
6638
+ * Unique human-readable name of the Resource.
6639
+ */
6640
+ name: string;
6641
+ /**
6642
+ * If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
6643
+ */
6644
+ overrideDatabase?: boolean;
6645
+ /**
6646
+ * The port to dial to initiate a connection from the egress node to this resource.
6647
+ */
6648
+ port?: number;
6649
+ /**
6650
+ * The local port used by clients to connect to this resource.
6651
+ */
6652
+ portOverride: number;
6653
+ /**
6654
+ * The AWS region to connect to.
6655
+ */
6656
+ region: string;
6657
+ /**
6658
+ * If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
6659
+ */
6660
+ roleAssumptionArn?: string;
6661
+ /**
6662
+ * ID of the secret store containing credentials for this resource, if any.
6663
+ */
6664
+ secretStoreId?: string;
6665
+ /**
6666
+ * Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6667
+ */
6668
+ subdomain: string;
6669
+ /**
6670
+ * Tags is a map of key, value pairs.
6671
+ */
6672
+ tags?: {
6673
+ [key: string]: string;
6674
+ };
6675
+ /**
6676
+ * The username to authenticate with.
6677
+ */
6678
+ username?: string;
6679
+ }
6428
6680
  export interface ResourceAws {
6429
6681
  /**
6430
6682
  * The Access Key ID to use to authenticate.
@@ -9237,6 +9489,10 @@ export interface ResourceRdp {
9237
9489
  * The host to dial to initiate a connection from the egress node to this resource.
9238
9490
  */
9239
9491
  hostname: string;
9492
+ /**
9493
+ * When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
9494
+ */
9495
+ lockRequired?: boolean;
9240
9496
  /**
9241
9497
  * Unique human-readable name of the Resource.
9242
9498
  */
@@ -9272,6 +9528,66 @@ export interface ResourceRdp {
9272
9528
  */
9273
9529
  username?: string;
9274
9530
  }
9531
+ export interface ResourceRdsPostgresIam {
9532
+ /**
9533
+ * The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9534
+ */
9535
+ bindInterface: string;
9536
+ /**
9537
+ * The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9538
+ */
9539
+ database: string;
9540
+ /**
9541
+ * A filter applied to the routing logic to pin datasource to nodes.
9542
+ */
9543
+ egressFilter?: string;
9544
+ /**
9545
+ * The host to dial to initiate a connection from the egress node to this resource.
9546
+ */
9547
+ hostname: string;
9548
+ /**
9549
+ * Unique human-readable name of the Resource.
9550
+ */
9551
+ name: string;
9552
+ /**
9553
+ * If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
9554
+ */
9555
+ overrideDatabase?: boolean;
9556
+ /**
9557
+ * The port to dial to initiate a connection from the egress node to this resource.
9558
+ */
9559
+ port?: number;
9560
+ /**
9561
+ * The local port used by clients to connect to this resource.
9562
+ */
9563
+ portOverride: number;
9564
+ /**
9565
+ * The AWS region to connect to.
9566
+ */
9567
+ region: string;
9568
+ /**
9569
+ * If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
9570
+ */
9571
+ roleAssumptionArn?: string;
9572
+ /**
9573
+ * ID of the secret store containing credentials for this resource, if any.
9574
+ */
9575
+ secretStoreId?: string;
9576
+ /**
9577
+ * Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9578
+ */
9579
+ subdomain: string;
9580
+ /**
9581
+ * Tags is a map of key, value pairs.
9582
+ */
9583
+ tags?: {
9584
+ [key: string]: string;
9585
+ };
9586
+ /**
9587
+ * The username to authenticate with.
9588
+ */
9589
+ username?: string;
9590
+ }
9275
9591
  export interface ResourceRedis {
9276
9592
  /**
9277
9593
  * The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
package/workflow.d.ts ADDED
@@ -0,0 +1,148 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Workflows are the collection of rules that define the resources to which access can be requested,
4
+ * the users that can request that access, and the mechanism for approving those requests which can either
5
+ * but automatic approval or a set of users authorized to approve the requests.
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as sdm from "@pierskarsenbarg/sdm";
11
+ *
12
+ * const autoGrantWorkflow = new sdm.Workflow("autoGrantWorkflow", {
13
+ * autoGrant: true,
14
+ * enabled: true,
15
+ * accessRules: JSON.stringify([{
16
+ * type: "redis",
17
+ * tags: {
18
+ * region: "us-east",
19
+ * },
20
+ * }]),
21
+ * });
22
+ * const manualApprovalWorkflow = new sdm.Workflow("manualApprovalWorkflow", {
23
+ * autoGrant: false,
24
+ * accessRules: JSON.stringify([{
25
+ * type: "redis",
26
+ * tags: {
27
+ * region: "us-east",
28
+ * },
29
+ * }]),
30
+ * });
31
+ * ```
32
+ * This resource can be imported using the import command.
33
+ *
34
+ * ## Import
35
+ *
36
+ * A Workflow can be imported using the id, e.g.,
37
+ *
38
+ * ```sh
39
+ * $ pulumi import sdm:index/workflow:Workflow example aw-12345678
40
+ * ```
41
+ */
42
+ export declare class Workflow extends pulumi.CustomResource {
43
+ /**
44
+ * Get an existing Workflow resource's state with the given name, ID, and optional extra
45
+ * properties used to qualify the lookup.
46
+ *
47
+ * @param name The _unique_ name of the resulting resource.
48
+ * @param id The _unique_ provider ID of the resource to lookup.
49
+ * @param state Any extra arguments used during the lookup.
50
+ * @param opts Optional settings to control the behavior of the CustomResource.
51
+ */
52
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: WorkflowState, opts?: pulumi.CustomResourceOptions): Workflow;
53
+ /**
54
+ * Returns true if the given object is an instance of Workflow. This is designed to work even
55
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
56
+ */
57
+ static isInstance(obj: any): obj is Workflow;
58
+ /**
59
+ * AccessRules is a list of access rules defining the resources this Workflow provides access to.
60
+ */
61
+ readonly accessRules: pulumi.Output<string>;
62
+ /**
63
+ * Optional auto grant setting to automatically approve requests or not, defaults to false.
64
+ */
65
+ readonly autoGrant: pulumi.Output<boolean | undefined>;
66
+ /**
67
+ * Optional description of the Workflow.
68
+ */
69
+ readonly description: pulumi.Output<string | undefined>;
70
+ /**
71
+ * Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.
72
+ */
73
+ readonly enabled: pulumi.Output<boolean | undefined>;
74
+ /**
75
+ * Unique human-readable name of the Workflow.
76
+ */
77
+ readonly name: pulumi.Output<string>;
78
+ /**
79
+ * Optional weight for workflow to specify it's priority in matching a request.
80
+ */
81
+ readonly weight: pulumi.Output<number>;
82
+ /**
83
+ * Create a Workflow resource with the given unique name, arguments, and options.
84
+ *
85
+ * @param name The _unique_ name of the resource.
86
+ * @param args The arguments to use to populate this resource's properties.
87
+ * @param opts A bag of options that control this resource's behavior.
88
+ */
89
+ constructor(name: string, args?: WorkflowArgs, opts?: pulumi.CustomResourceOptions);
90
+ }
91
+ /**
92
+ * Input properties used for looking up and filtering Workflow resources.
93
+ */
94
+ export interface WorkflowState {
95
+ /**
96
+ * AccessRules is a list of access rules defining the resources this Workflow provides access to.
97
+ */
98
+ accessRules?: pulumi.Input<string>;
99
+ /**
100
+ * Optional auto grant setting to automatically approve requests or not, defaults to false.
101
+ */
102
+ autoGrant?: pulumi.Input<boolean>;
103
+ /**
104
+ * Optional description of the Workflow.
105
+ */
106
+ description?: pulumi.Input<string>;
107
+ /**
108
+ * Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.
109
+ */
110
+ enabled?: pulumi.Input<boolean>;
111
+ /**
112
+ * Unique human-readable name of the Workflow.
113
+ */
114
+ name?: pulumi.Input<string>;
115
+ /**
116
+ * Optional weight for workflow to specify it's priority in matching a request.
117
+ */
118
+ weight?: pulumi.Input<number>;
119
+ }
120
+ /**
121
+ * The set of arguments for constructing a Workflow resource.
122
+ */
123
+ export interface WorkflowArgs {
124
+ /**
125
+ * AccessRules is a list of access rules defining the resources this Workflow provides access to.
126
+ */
127
+ accessRules?: pulumi.Input<string>;
128
+ /**
129
+ * Optional auto grant setting to automatically approve requests or not, defaults to false.
130
+ */
131
+ autoGrant?: pulumi.Input<boolean>;
132
+ /**
133
+ * Optional description of the Workflow.
134
+ */
135
+ description?: pulumi.Input<string>;
136
+ /**
137
+ * Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.
138
+ */
139
+ enabled?: pulumi.Input<boolean>;
140
+ /**
141
+ * Unique human-readable name of the Workflow.
142
+ */
143
+ name?: pulumi.Input<string>;
144
+ /**
145
+ * Optional weight for workflow to specify it's priority in matching a request.
146
+ */
147
+ weight?: pulumi.Input<number>;
148
+ }
package/workflow.js ADDED
@@ -0,0 +1,99 @@
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.Workflow = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Workflows are the collection of rules that define the resources to which access can be requested,
10
+ * the users that can request that access, and the mechanism for approving those requests which can either
11
+ * but automatic approval or a set of users authorized to approve the requests.
12
+ * ## Example Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as sdm from "@pierskarsenbarg/sdm";
17
+ *
18
+ * const autoGrantWorkflow = new sdm.Workflow("autoGrantWorkflow", {
19
+ * autoGrant: true,
20
+ * enabled: true,
21
+ * accessRules: JSON.stringify([{
22
+ * type: "redis",
23
+ * tags: {
24
+ * region: "us-east",
25
+ * },
26
+ * }]),
27
+ * });
28
+ * const manualApprovalWorkflow = new sdm.Workflow("manualApprovalWorkflow", {
29
+ * autoGrant: false,
30
+ * accessRules: JSON.stringify([{
31
+ * type: "redis",
32
+ * tags: {
33
+ * region: "us-east",
34
+ * },
35
+ * }]),
36
+ * });
37
+ * ```
38
+ * This resource can be imported using the import command.
39
+ *
40
+ * ## Import
41
+ *
42
+ * A Workflow can be imported using the id, e.g.,
43
+ *
44
+ * ```sh
45
+ * $ pulumi import sdm:index/workflow:Workflow example aw-12345678
46
+ * ```
47
+ */
48
+ class Workflow extends pulumi.CustomResource {
49
+ /**
50
+ * Get an existing Workflow resource's state with the given name, ID, and optional extra
51
+ * properties used to qualify the lookup.
52
+ *
53
+ * @param name The _unique_ name of the resulting resource.
54
+ * @param id The _unique_ provider ID of the resource to lookup.
55
+ * @param state Any extra arguments used during the lookup.
56
+ * @param opts Optional settings to control the behavior of the CustomResource.
57
+ */
58
+ static get(name, id, state, opts) {
59
+ return new Workflow(name, state, Object.assign(Object.assign({}, opts), { id: id }));
60
+ }
61
+ /**
62
+ * Returns true if the given object is an instance of Workflow. This is designed to work even
63
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
64
+ */
65
+ static isInstance(obj) {
66
+ if (obj === undefined || obj === null) {
67
+ return false;
68
+ }
69
+ return obj['__pulumiType'] === Workflow.__pulumiType;
70
+ }
71
+ constructor(name, argsOrState, opts) {
72
+ let resourceInputs = {};
73
+ opts = opts || {};
74
+ if (opts.id) {
75
+ const state = argsOrState;
76
+ resourceInputs["accessRules"] = state ? state.accessRules : undefined;
77
+ resourceInputs["autoGrant"] = state ? state.autoGrant : undefined;
78
+ resourceInputs["description"] = state ? state.description : undefined;
79
+ resourceInputs["enabled"] = state ? state.enabled : undefined;
80
+ resourceInputs["name"] = state ? state.name : undefined;
81
+ resourceInputs["weight"] = state ? state.weight : undefined;
82
+ }
83
+ else {
84
+ const args = argsOrState;
85
+ resourceInputs["accessRules"] = args ? args.accessRules : undefined;
86
+ resourceInputs["autoGrant"] = args ? args.autoGrant : undefined;
87
+ resourceInputs["description"] = args ? args.description : undefined;
88
+ resourceInputs["enabled"] = args ? args.enabled : undefined;
89
+ resourceInputs["name"] = args ? args.name : undefined;
90
+ resourceInputs["weight"] = args ? args.weight : undefined;
91
+ }
92
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
93
+ super(Workflow.__pulumiType, name, resourceInputs, opts);
94
+ }
95
+ }
96
+ exports.Workflow = Workflow;
97
+ /** @internal */
98
+ Workflow.__pulumiType = 'sdm:index/workflow:Workflow';
99
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../workflow.ts"],"names":[],"mappings":"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"}