@pulumi/azuread 5.36.0 → 5.37.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 (50) hide show
  1. package/accessPackage.d.ts +120 -0
  2. package/accessPackage.js +100 -0
  3. package/accessPackage.js.map +1 -0
  4. package/accessPackageAssignmentPolicy.d.ts +229 -0
  5. package/accessPackageAssignmentPolicy.js +147 -0
  6. package/accessPackageAssignmentPolicy.js.map +1 -0
  7. package/accessPackageCatalog.d.ts +115 -0
  8. package/accessPackageCatalog.js +92 -0
  9. package/accessPackageCatalog.js.map +1 -0
  10. package/accessPackageResourceCatalogAssociation.d.ts +114 -0
  11. package/accessPackageResourceCatalogAssociation.js +104 -0
  12. package/accessPackageResourceCatalogAssociation.js.map +1 -0
  13. package/accessPackageResourcePackageAssociation.d.ts +123 -0
  14. package/accessPackageResourcePackageAssociation.js +110 -0
  15. package/accessPackageResourcePackageAssociation.js.map +1 -0
  16. package/administrativeUnitRoleMember.d.ts +111 -0
  17. package/administrativeUnitRoleMember.js +101 -0
  18. package/administrativeUnitRoleMember.js.map +1 -0
  19. package/application.d.ts +12 -0
  20. package/application.js +2 -0
  21. package/application.js.map +1 -1
  22. package/getAccessPackage.d.ts +129 -0
  23. package/getAccessPackage.js +94 -0
  24. package/getAccessPackage.js.map +1 -0
  25. package/getAccessPackageCatalog.d.ts +124 -0
  26. package/getAccessPackageCatalog.js +93 -0
  27. package/getAccessPackageCatalog.js.map +1 -0
  28. package/getApplication.d.ts +4 -0
  29. package/getApplication.js.map +1 -1
  30. package/getGroup.d.ts +8 -0
  31. package/getGroup.js.map +1 -1
  32. package/getUser.d.ts +8 -0
  33. package/getUser.js +1 -0
  34. package/getUser.js.map +1 -1
  35. package/group.d.ts +27 -1
  36. package/group.js +7 -1
  37. package/group.js.map +1 -1
  38. package/groupMember.d.ts +3 -1
  39. package/groupMember.js +3 -1
  40. package/groupMember.js.map +1 -1
  41. package/index.d.ts +27 -0
  42. package/index.js +43 -2
  43. package/index.js.map +1 -1
  44. package/package.json +2 -2
  45. package/package.json.dev +2 -2
  46. package/types/input.d.ts +220 -0
  47. package/types/output.d.ts +220 -0
  48. package/userFlowAttribute.d.ts +114 -0
  49. package/userFlowAttribute.js +98 -0
  50. package/userFlowAttribute.js.map +1 -0
@@ -0,0 +1,120 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Manages an Access Package within Identity Governance in Azure Active Directory.
4
+ *
5
+ * ## API Permissions
6
+ *
7
+ * The following API permissions are required in order to use this resource.
8
+ *
9
+ * When authenticated with a service principal, this resource requires the following application role: `EntitlementManagement.ReadWrite.All`.
10
+ *
11
+ * When authenticated with a user principal, this resource requires one of the following directory roles: `Catalog owner`, `Access package manager` or `Global Administrator`
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as azuread from "@pulumi/azuread";
18
+ *
19
+ * const exampleAccessPackageCatalog = new azuread.AccessPackageCatalog("exampleAccessPackageCatalog", {
20
+ * displayName: "example-catalog",
21
+ * description: "Example catalog",
22
+ * });
23
+ * const exampleAccessPackage = new azuread.AccessPackage("exampleAccessPackage", {
24
+ * catalogId: exampleAccessPackageCatalog.id,
25
+ * displayName: "access-package",
26
+ * description: "Access Package",
27
+ * });
28
+ * ```
29
+ *
30
+ * ## Import
31
+ *
32
+ * Access Packages can be imported using the `id`, e.g.
33
+ *
34
+ * ```sh
35
+ * $ pulumi import azuread:index/accessPackage:AccessPackage example_package 00000000-0000-0000-0000-000000000000
36
+ * ```
37
+ */
38
+ export declare class AccessPackage extends pulumi.CustomResource {
39
+ /**
40
+ * Get an existing AccessPackage resource's state with the given name, ID, and optional extra
41
+ * properties used to qualify the lookup.
42
+ *
43
+ * @param name The _unique_ name of the resulting resource.
44
+ * @param id The _unique_ provider ID of the resource to lookup.
45
+ * @param state Any extra arguments used during the lookup.
46
+ * @param opts Optional settings to control the behavior of the CustomResource.
47
+ */
48
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AccessPackageState, opts?: pulumi.CustomResourceOptions): AccessPackage;
49
+ /**
50
+ * Returns true if the given object is an instance of AccessPackage. This is designed to work even
51
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
52
+ */
53
+ static isInstance(obj: any): obj is AccessPackage;
54
+ /**
55
+ * The ID of the Catalog this access package will be created in.
56
+ */
57
+ readonly catalogId: pulumi.Output<string>;
58
+ /**
59
+ * The description of the access package.
60
+ */
61
+ readonly description: pulumi.Output<string>;
62
+ /**
63
+ * The display name of the access package.
64
+ */
65
+ readonly displayName: pulumi.Output<string>;
66
+ /**
67
+ * Whether the access package is hidden from the requestor.
68
+ */
69
+ readonly hidden: pulumi.Output<boolean | undefined>;
70
+ /**
71
+ * Create a AccessPackage resource with the given unique name, arguments, and options.
72
+ *
73
+ * @param name The _unique_ name of the resource.
74
+ * @param args The arguments to use to populate this resource's properties.
75
+ * @param opts A bag of options that control this resource's behavior.
76
+ */
77
+ constructor(name: string, args: AccessPackageArgs, opts?: pulumi.CustomResourceOptions);
78
+ }
79
+ /**
80
+ * Input properties used for looking up and filtering AccessPackage resources.
81
+ */
82
+ export interface AccessPackageState {
83
+ /**
84
+ * The ID of the Catalog this access package will be created in.
85
+ */
86
+ catalogId?: pulumi.Input<string>;
87
+ /**
88
+ * The description of the access package.
89
+ */
90
+ description?: pulumi.Input<string>;
91
+ /**
92
+ * The display name of the access package.
93
+ */
94
+ displayName?: pulumi.Input<string>;
95
+ /**
96
+ * Whether the access package is hidden from the requestor.
97
+ */
98
+ hidden?: pulumi.Input<boolean>;
99
+ }
100
+ /**
101
+ * The set of arguments for constructing a AccessPackage resource.
102
+ */
103
+ export interface AccessPackageArgs {
104
+ /**
105
+ * The ID of the Catalog this access package will be created in.
106
+ */
107
+ catalogId: pulumi.Input<string>;
108
+ /**
109
+ * The description of the access package.
110
+ */
111
+ description: pulumi.Input<string>;
112
+ /**
113
+ * The display name of the access package.
114
+ */
115
+ displayName: pulumi.Input<string>;
116
+ /**
117
+ * Whether the access package is hidden from the requestor.
118
+ */
119
+ hidden?: pulumi.Input<boolean>;
120
+ }
@@ -0,0 +1,100 @@
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.AccessPackage = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Manages an Access Package within Identity Governance in Azure Active Directory.
10
+ *
11
+ * ## API Permissions
12
+ *
13
+ * The following API permissions are required in order to use this resource.
14
+ *
15
+ * When authenticated with a service principal, this resource requires the following application role: `EntitlementManagement.ReadWrite.All`.
16
+ *
17
+ * When authenticated with a user principal, this resource requires one of the following directory roles: `Catalog owner`, `Access package manager` or `Global Administrator`
18
+ *
19
+ * ## Example Usage
20
+ *
21
+ * ```typescript
22
+ * import * as pulumi from "@pulumi/pulumi";
23
+ * import * as azuread from "@pulumi/azuread";
24
+ *
25
+ * const exampleAccessPackageCatalog = new azuread.AccessPackageCatalog("exampleAccessPackageCatalog", {
26
+ * displayName: "example-catalog",
27
+ * description: "Example catalog",
28
+ * });
29
+ * const exampleAccessPackage = new azuread.AccessPackage("exampleAccessPackage", {
30
+ * catalogId: exampleAccessPackageCatalog.id,
31
+ * displayName: "access-package",
32
+ * description: "Access Package",
33
+ * });
34
+ * ```
35
+ *
36
+ * ## Import
37
+ *
38
+ * Access Packages can be imported using the `id`, e.g.
39
+ *
40
+ * ```sh
41
+ * $ pulumi import azuread:index/accessPackage:AccessPackage example_package 00000000-0000-0000-0000-000000000000
42
+ * ```
43
+ */
44
+ class AccessPackage extends pulumi.CustomResource {
45
+ /**
46
+ * Get an existing AccessPackage resource's state with the given name, ID, and optional extra
47
+ * properties used to qualify the lookup.
48
+ *
49
+ * @param name The _unique_ name of the resulting resource.
50
+ * @param id The _unique_ provider ID of the resource to lookup.
51
+ * @param state Any extra arguments used during the lookup.
52
+ * @param opts Optional settings to control the behavior of the CustomResource.
53
+ */
54
+ static get(name, id, state, opts) {
55
+ return new AccessPackage(name, state, Object.assign(Object.assign({}, opts), { id: id }));
56
+ }
57
+ /**
58
+ * Returns true if the given object is an instance of AccessPackage. This is designed to work even
59
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
60
+ */
61
+ static isInstance(obj) {
62
+ if (obj === undefined || obj === null) {
63
+ return false;
64
+ }
65
+ return obj['__pulumiType'] === AccessPackage.__pulumiType;
66
+ }
67
+ constructor(name, argsOrState, opts) {
68
+ let resourceInputs = {};
69
+ opts = opts || {};
70
+ if (opts.id) {
71
+ const state = argsOrState;
72
+ resourceInputs["catalogId"] = state ? state.catalogId : undefined;
73
+ resourceInputs["description"] = state ? state.description : undefined;
74
+ resourceInputs["displayName"] = state ? state.displayName : undefined;
75
+ resourceInputs["hidden"] = state ? state.hidden : undefined;
76
+ }
77
+ else {
78
+ const args = argsOrState;
79
+ if ((!args || args.catalogId === undefined) && !opts.urn) {
80
+ throw new Error("Missing required property 'catalogId'");
81
+ }
82
+ if ((!args || args.description === undefined) && !opts.urn) {
83
+ throw new Error("Missing required property 'description'");
84
+ }
85
+ if ((!args || args.displayName === undefined) && !opts.urn) {
86
+ throw new Error("Missing required property 'displayName'");
87
+ }
88
+ resourceInputs["catalogId"] = args ? args.catalogId : undefined;
89
+ resourceInputs["description"] = args ? args.description : undefined;
90
+ resourceInputs["displayName"] = args ? args.displayName : undefined;
91
+ resourceInputs["hidden"] = args ? args.hidden : undefined;
92
+ }
93
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
94
+ super(AccessPackage.__pulumiType, name, resourceInputs, opts);
95
+ }
96
+ }
97
+ exports.AccessPackage = AccessPackage;
98
+ /** @internal */
99
+ AccessPackage.__pulumiType = 'azuread:index/accessPackage:AccessPackage';
100
+ //# sourceMappingURL=accessPackage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessPackage.js","sourceRoot":"","sources":["../accessPackage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,229 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * Manages an assignment policy for an access package within Identity Governance in Azure Active Directory.
6
+ *
7
+ * ## API Permissions
8
+ *
9
+ * The following API permissions are required in order to use this resource.
10
+ *
11
+ * When authenticated with a service principal, this resource requires the following application role: `EntitlementManagement.ReadWrite.All`.
12
+ *
13
+ * When authenticated with a user principal, this resource requires `Global Administrator` directory role, or one of the `Catalog Owner` and `Access Package Manager` role in Idneity Governance.
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as azuread from "@pulumi/azuread";
20
+ *
21
+ * const exampleGroup = new azuread.Group("exampleGroup", {
22
+ * displayName: "group-name",
23
+ * securityEnabled: true,
24
+ * });
25
+ * const exampleAccessPackageCatalog = new azuread.AccessPackageCatalog("exampleAccessPackageCatalog", {
26
+ * displayName: "example-catalog",
27
+ * description: "Example catalog",
28
+ * });
29
+ * const exampleAccessPackage = new azuread.AccessPackage("exampleAccessPackage", {
30
+ * catalogId: exampleAccessPackageCatalog.id,
31
+ * displayName: "access-package",
32
+ * description: "Access Package",
33
+ * });
34
+ * const test = new azuread.AccessPackageAssignmentPolicy("test", {
35
+ * accessPackageId: azuread_access_package.test.id,
36
+ * displayName: "assignment-policy",
37
+ * description: "My assignment policy",
38
+ * durationInDays: 90,
39
+ * requestorSettings: {
40
+ * scopeType: "AllExistingDirectoryMemberUsers",
41
+ * },
42
+ * approvalSettings: {
43
+ * approvalRequired: true,
44
+ * approvalStages: [{
45
+ * approvalTimeoutInDays: 14,
46
+ * primaryApprovers: [{
47
+ * objectId: azuread_group.test.object_id,
48
+ * subjectType: "groupMembers",
49
+ * }],
50
+ * }],
51
+ * },
52
+ * assignmentReviewSettings: {
53
+ * enabled: true,
54
+ * reviewFrequency: "weekly",
55
+ * durationInDays: 3,
56
+ * reviewType: "Self",
57
+ * accessReviewTimeoutBehavior: "keepAccess",
58
+ * },
59
+ * questions: [{
60
+ * text: {
61
+ * defaultText: "hello, how are you?",
62
+ * },
63
+ * }],
64
+ * });
65
+ * ```
66
+ *
67
+ * ## Import
68
+ *
69
+ * An access package assignment policy can be imported using the ID, e.g.
70
+ *
71
+ * ```sh
72
+ * $ pulumi import azuread:index/accessPackageAssignmentPolicy:AccessPackageAssignmentPolicy example 00000000-0000-0000-0000-000000000000
73
+ * ```
74
+ */
75
+ export declare class AccessPackageAssignmentPolicy extends pulumi.CustomResource {
76
+ /**
77
+ * Get an existing AccessPackageAssignmentPolicy resource's state with the given name, ID, and optional extra
78
+ * properties used to qualify the lookup.
79
+ *
80
+ * @param name The _unique_ name of the resulting resource.
81
+ * @param id The _unique_ provider ID of the resource to lookup.
82
+ * @param state Any extra arguments used during the lookup.
83
+ * @param opts Optional settings to control the behavior of the CustomResource.
84
+ */
85
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AccessPackageAssignmentPolicyState, opts?: pulumi.CustomResourceOptions): AccessPackageAssignmentPolicy;
86
+ /**
87
+ * Returns true if the given object is an instance of AccessPackageAssignmentPolicy. This is designed to work even
88
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
89
+ */
90
+ static isInstance(obj: any): obj is AccessPackageAssignmentPolicy;
91
+ /**
92
+ * The ID of the access package that will contain the policy.
93
+ */
94
+ readonly accessPackageId: pulumi.Output<string>;
95
+ /**
96
+ * An `approvalSettings` block to specify whether approvals are required and how they are obtained, as documented below.
97
+ */
98
+ readonly approvalSettings: pulumi.Output<outputs.AccessPackageAssignmentPolicyApprovalSettings | undefined>;
99
+ /**
100
+ * An `assignmentReviewSettings` block, to specify whether assignment review is needed and how it is conducted, as documented below.
101
+ */
102
+ readonly assignmentReviewSettings: pulumi.Output<outputs.AccessPackageAssignmentPolicyAssignmentReviewSettings | undefined>;
103
+ /**
104
+ * The description of the policy.
105
+ */
106
+ readonly description: pulumi.Output<string>;
107
+ /**
108
+ * The display name of the policy.
109
+ */
110
+ readonly displayName: pulumi.Output<string>;
111
+ /**
112
+ * How many days this assignment is valid for.
113
+ */
114
+ readonly durationInDays: pulumi.Output<number | undefined>;
115
+ /**
116
+ * The date that this assignment expires, formatted as an RFC3339 date string in UTC(e.g. 2018-01-01T01:02:03Z).
117
+ */
118
+ readonly expirationDate: pulumi.Output<string | undefined>;
119
+ /**
120
+ * Whether users will be able to request extension of their access to this package before their access expires.
121
+ */
122
+ readonly extensionEnabled: pulumi.Output<boolean | undefined>;
123
+ /**
124
+ * One or more `question` blocks for the requestor, as documented below.
125
+ */
126
+ readonly questions: pulumi.Output<outputs.AccessPackageAssignmentPolicyQuestion[] | undefined>;
127
+ /**
128
+ * A `requestorSettings` block to configure the users who can request access, as documented below.
129
+ */
130
+ readonly requestorSettings: pulumi.Output<outputs.AccessPackageAssignmentPolicyRequestorSettings | undefined>;
131
+ /**
132
+ * Create a AccessPackageAssignmentPolicy resource with the given unique name, arguments, and options.
133
+ *
134
+ * @param name The _unique_ name of the resource.
135
+ * @param args The arguments to use to populate this resource's properties.
136
+ * @param opts A bag of options that control this resource's behavior.
137
+ */
138
+ constructor(name: string, args: AccessPackageAssignmentPolicyArgs, opts?: pulumi.CustomResourceOptions);
139
+ }
140
+ /**
141
+ * Input properties used for looking up and filtering AccessPackageAssignmentPolicy resources.
142
+ */
143
+ export interface AccessPackageAssignmentPolicyState {
144
+ /**
145
+ * The ID of the access package that will contain the policy.
146
+ */
147
+ accessPackageId?: pulumi.Input<string>;
148
+ /**
149
+ * An `approvalSettings` block to specify whether approvals are required and how they are obtained, as documented below.
150
+ */
151
+ approvalSettings?: pulumi.Input<inputs.AccessPackageAssignmentPolicyApprovalSettings>;
152
+ /**
153
+ * An `assignmentReviewSettings` block, to specify whether assignment review is needed and how it is conducted, as documented below.
154
+ */
155
+ assignmentReviewSettings?: pulumi.Input<inputs.AccessPackageAssignmentPolicyAssignmentReviewSettings>;
156
+ /**
157
+ * The description of the policy.
158
+ */
159
+ description?: pulumi.Input<string>;
160
+ /**
161
+ * The display name of the policy.
162
+ */
163
+ displayName?: pulumi.Input<string>;
164
+ /**
165
+ * How many days this assignment is valid for.
166
+ */
167
+ durationInDays?: pulumi.Input<number>;
168
+ /**
169
+ * The date that this assignment expires, formatted as an RFC3339 date string in UTC(e.g. 2018-01-01T01:02:03Z).
170
+ */
171
+ expirationDate?: pulumi.Input<string>;
172
+ /**
173
+ * Whether users will be able to request extension of their access to this package before their access expires.
174
+ */
175
+ extensionEnabled?: pulumi.Input<boolean>;
176
+ /**
177
+ * One or more `question` blocks for the requestor, as documented below.
178
+ */
179
+ questions?: pulumi.Input<pulumi.Input<inputs.AccessPackageAssignmentPolicyQuestion>[]>;
180
+ /**
181
+ * A `requestorSettings` block to configure the users who can request access, as documented below.
182
+ */
183
+ requestorSettings?: pulumi.Input<inputs.AccessPackageAssignmentPolicyRequestorSettings>;
184
+ }
185
+ /**
186
+ * The set of arguments for constructing a AccessPackageAssignmentPolicy resource.
187
+ */
188
+ export interface AccessPackageAssignmentPolicyArgs {
189
+ /**
190
+ * The ID of the access package that will contain the policy.
191
+ */
192
+ accessPackageId: pulumi.Input<string>;
193
+ /**
194
+ * An `approvalSettings` block to specify whether approvals are required and how they are obtained, as documented below.
195
+ */
196
+ approvalSettings?: pulumi.Input<inputs.AccessPackageAssignmentPolicyApprovalSettings>;
197
+ /**
198
+ * An `assignmentReviewSettings` block, to specify whether assignment review is needed and how it is conducted, as documented below.
199
+ */
200
+ assignmentReviewSettings?: pulumi.Input<inputs.AccessPackageAssignmentPolicyAssignmentReviewSettings>;
201
+ /**
202
+ * The description of the policy.
203
+ */
204
+ description: pulumi.Input<string>;
205
+ /**
206
+ * The display name of the policy.
207
+ */
208
+ displayName: pulumi.Input<string>;
209
+ /**
210
+ * How many days this assignment is valid for.
211
+ */
212
+ durationInDays?: pulumi.Input<number>;
213
+ /**
214
+ * The date that this assignment expires, formatted as an RFC3339 date string in UTC(e.g. 2018-01-01T01:02:03Z).
215
+ */
216
+ expirationDate?: pulumi.Input<string>;
217
+ /**
218
+ * Whether users will be able to request extension of their access to this package before their access expires.
219
+ */
220
+ extensionEnabled?: pulumi.Input<boolean>;
221
+ /**
222
+ * One or more `question` blocks for the requestor, as documented below.
223
+ */
224
+ questions?: pulumi.Input<pulumi.Input<inputs.AccessPackageAssignmentPolicyQuestion>[]>;
225
+ /**
226
+ * A `requestorSettings` block to configure the users who can request access, as documented below.
227
+ */
228
+ requestorSettings?: pulumi.Input<inputs.AccessPackageAssignmentPolicyRequestorSettings>;
229
+ }
@@ -0,0 +1,147 @@
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.AccessPackageAssignmentPolicy = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Manages an assignment policy for an access package within Identity Governance in Azure Active Directory.
10
+ *
11
+ * ## API Permissions
12
+ *
13
+ * The following API permissions are required in order to use this resource.
14
+ *
15
+ * When authenticated with a service principal, this resource requires the following application role: `EntitlementManagement.ReadWrite.All`.
16
+ *
17
+ * When authenticated with a user principal, this resource requires `Global Administrator` directory role, or one of the `Catalog Owner` and `Access Package Manager` role in Idneity Governance.
18
+ *
19
+ * ## Example Usage
20
+ *
21
+ * ```typescript
22
+ * import * as pulumi from "@pulumi/pulumi";
23
+ * import * as azuread from "@pulumi/azuread";
24
+ *
25
+ * const exampleGroup = new azuread.Group("exampleGroup", {
26
+ * displayName: "group-name",
27
+ * securityEnabled: true,
28
+ * });
29
+ * const exampleAccessPackageCatalog = new azuread.AccessPackageCatalog("exampleAccessPackageCatalog", {
30
+ * displayName: "example-catalog",
31
+ * description: "Example catalog",
32
+ * });
33
+ * const exampleAccessPackage = new azuread.AccessPackage("exampleAccessPackage", {
34
+ * catalogId: exampleAccessPackageCatalog.id,
35
+ * displayName: "access-package",
36
+ * description: "Access Package",
37
+ * });
38
+ * const test = new azuread.AccessPackageAssignmentPolicy("test", {
39
+ * accessPackageId: azuread_access_package.test.id,
40
+ * displayName: "assignment-policy",
41
+ * description: "My assignment policy",
42
+ * durationInDays: 90,
43
+ * requestorSettings: {
44
+ * scopeType: "AllExistingDirectoryMemberUsers",
45
+ * },
46
+ * approvalSettings: {
47
+ * approvalRequired: true,
48
+ * approvalStages: [{
49
+ * approvalTimeoutInDays: 14,
50
+ * primaryApprovers: [{
51
+ * objectId: azuread_group.test.object_id,
52
+ * subjectType: "groupMembers",
53
+ * }],
54
+ * }],
55
+ * },
56
+ * assignmentReviewSettings: {
57
+ * enabled: true,
58
+ * reviewFrequency: "weekly",
59
+ * durationInDays: 3,
60
+ * reviewType: "Self",
61
+ * accessReviewTimeoutBehavior: "keepAccess",
62
+ * },
63
+ * questions: [{
64
+ * text: {
65
+ * defaultText: "hello, how are you?",
66
+ * },
67
+ * }],
68
+ * });
69
+ * ```
70
+ *
71
+ * ## Import
72
+ *
73
+ * An access package assignment policy can be imported using the ID, e.g.
74
+ *
75
+ * ```sh
76
+ * $ pulumi import azuread:index/accessPackageAssignmentPolicy:AccessPackageAssignmentPolicy example 00000000-0000-0000-0000-000000000000
77
+ * ```
78
+ */
79
+ class AccessPackageAssignmentPolicy extends pulumi.CustomResource {
80
+ /**
81
+ * Get an existing AccessPackageAssignmentPolicy resource's state with the given name, ID, and optional extra
82
+ * properties used to qualify the lookup.
83
+ *
84
+ * @param name The _unique_ name of the resulting resource.
85
+ * @param id The _unique_ provider ID of the resource to lookup.
86
+ * @param state Any extra arguments used during the lookup.
87
+ * @param opts Optional settings to control the behavior of the CustomResource.
88
+ */
89
+ static get(name, id, state, opts) {
90
+ return new AccessPackageAssignmentPolicy(name, state, Object.assign(Object.assign({}, opts), { id: id }));
91
+ }
92
+ /**
93
+ * Returns true if the given object is an instance of AccessPackageAssignmentPolicy. This is designed to work even
94
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
95
+ */
96
+ static isInstance(obj) {
97
+ if (obj === undefined || obj === null) {
98
+ return false;
99
+ }
100
+ return obj['__pulumiType'] === AccessPackageAssignmentPolicy.__pulumiType;
101
+ }
102
+ constructor(name, argsOrState, opts) {
103
+ let resourceInputs = {};
104
+ opts = opts || {};
105
+ if (opts.id) {
106
+ const state = argsOrState;
107
+ resourceInputs["accessPackageId"] = state ? state.accessPackageId : undefined;
108
+ resourceInputs["approvalSettings"] = state ? state.approvalSettings : undefined;
109
+ resourceInputs["assignmentReviewSettings"] = state ? state.assignmentReviewSettings : undefined;
110
+ resourceInputs["description"] = state ? state.description : undefined;
111
+ resourceInputs["displayName"] = state ? state.displayName : undefined;
112
+ resourceInputs["durationInDays"] = state ? state.durationInDays : undefined;
113
+ resourceInputs["expirationDate"] = state ? state.expirationDate : undefined;
114
+ resourceInputs["extensionEnabled"] = state ? state.extensionEnabled : undefined;
115
+ resourceInputs["questions"] = state ? state.questions : undefined;
116
+ resourceInputs["requestorSettings"] = state ? state.requestorSettings : undefined;
117
+ }
118
+ else {
119
+ const args = argsOrState;
120
+ if ((!args || args.accessPackageId === undefined) && !opts.urn) {
121
+ throw new Error("Missing required property 'accessPackageId'");
122
+ }
123
+ if ((!args || args.description === undefined) && !opts.urn) {
124
+ throw new Error("Missing required property 'description'");
125
+ }
126
+ if ((!args || args.displayName === undefined) && !opts.urn) {
127
+ throw new Error("Missing required property 'displayName'");
128
+ }
129
+ resourceInputs["accessPackageId"] = args ? args.accessPackageId : undefined;
130
+ resourceInputs["approvalSettings"] = args ? args.approvalSettings : undefined;
131
+ resourceInputs["assignmentReviewSettings"] = args ? args.assignmentReviewSettings : undefined;
132
+ resourceInputs["description"] = args ? args.description : undefined;
133
+ resourceInputs["displayName"] = args ? args.displayName : undefined;
134
+ resourceInputs["durationInDays"] = args ? args.durationInDays : undefined;
135
+ resourceInputs["expirationDate"] = args ? args.expirationDate : undefined;
136
+ resourceInputs["extensionEnabled"] = args ? args.extensionEnabled : undefined;
137
+ resourceInputs["questions"] = args ? args.questions : undefined;
138
+ resourceInputs["requestorSettings"] = args ? args.requestorSettings : undefined;
139
+ }
140
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
141
+ super(AccessPackageAssignmentPolicy.__pulumiType, name, resourceInputs, opts);
142
+ }
143
+ }
144
+ exports.AccessPackageAssignmentPolicy = AccessPackageAssignmentPolicy;
145
+ /** @internal */
146
+ AccessPackageAssignmentPolicy.__pulumiType = 'azuread:index/accessPackageAssignmentPolicy:AccessPackageAssignmentPolicy';
147
+ //# sourceMappingURL=accessPackageAssignmentPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessPackageAssignmentPolicy.js","sourceRoot":"","sources":["../accessPackageAssignmentPolicy.ts"],"names":[],"mappings":"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"}