pulumi-azure-native 2.87.0a1739193742__py3-none-any.whl → 2.87.0a1739200739__py3-none-any.whl

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.

Potentially problematic release.


This version of pulumi-azure-native might be problematic. Click here for more details.

Files changed (36) hide show
  1. pulumi_azure_native/__init__.py +5 -0
  2. pulumi_azure_native/authorization/__init__.py +2 -0
  3. pulumi_azure_native/authorization/_enums.py +88 -0
  4. pulumi_azure_native/authorization/_inputs.py +1431 -43
  5. pulumi_azure_native/authorization/get_role_management_policy.py +247 -0
  6. pulumi_azure_native/authorization/outputs.py +312 -0
  7. pulumi_azure_native/authorization/role_management_policy.py +332 -0
  8. pulumi_azure_native/authorization/v20201001/__init__.py +4 -0
  9. pulumi_azure_native/authorization/v20201001/_enums.py +78 -0
  10. pulumi_azure_native/authorization/v20201001/_inputs.py +1134 -0
  11. pulumi_azure_native/authorization/v20201001/get_role_management_policy.py +241 -0
  12. pulumi_azure_native/authorization/v20201001/outputs.py +89 -0
  13. pulumi_azure_native/authorization/v20201001/role_management_policy.py +326 -0
  14. pulumi_azure_native/authorization/v20201001preview/__init__.py +4 -0
  15. pulumi_azure_native/authorization/v20201001preview/_enums.py +78 -0
  16. pulumi_azure_native/authorization/v20201001preview/_inputs.py +1134 -0
  17. pulumi_azure_native/authorization/v20201001preview/get_role_management_policy.py +241 -0
  18. pulumi_azure_native/authorization/v20201001preview/outputs.py +959 -0
  19. pulumi_azure_native/authorization/v20201001preview/role_management_policy.py +326 -0
  20. pulumi_azure_native/authorization/v20240201preview/__init__.py +4 -0
  21. pulumi_azure_native/authorization/v20240201preview/_enums.py +96 -0
  22. pulumi_azure_native/authorization/v20240201preview/_inputs.py +1390 -0
  23. pulumi_azure_native/authorization/v20240201preview/get_role_management_policy.py +241 -0
  24. pulumi_azure_native/authorization/v20240201preview/outputs.py +89 -0
  25. pulumi_azure_native/authorization/v20240201preview/role_management_policy.py +326 -0
  26. pulumi_azure_native/authorization/v20240901preview/__init__.py +4 -0
  27. pulumi_azure_native/authorization/v20240901preview/_enums.py +96 -0
  28. pulumi_azure_native/authorization/v20240901preview/_inputs.py +1410 -0
  29. pulumi_azure_native/authorization/v20240901preview/get_role_management_policy.py +241 -0
  30. pulumi_azure_native/authorization/v20240901preview/outputs.py +89 -0
  31. pulumi_azure_native/authorization/v20240901preview/role_management_policy.py +326 -0
  32. pulumi_azure_native/pulumi-plugin.json +1 -1
  33. {pulumi_azure_native-2.87.0a1739193742.dist-info → pulumi_azure_native-2.87.0a1739200739.dist-info}/METADATA +1 -1
  34. {pulumi_azure_native-2.87.0a1739193742.dist-info → pulumi_azure_native-2.87.0a1739200739.dist-info}/RECORD +36 -18
  35. {pulumi_azure_native-2.87.0a1739193742.dist-info → pulumi_azure_native-2.87.0a1739200739.dist-info}/WHEEL +0 -0
  36. {pulumi_azure_native-2.87.0a1739193742.dist-info → pulumi_azure_native-2.87.0a1739200739.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1390 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from ... import _utilities
16
+ from ._enums import *
17
+
18
+ __all__ = [
19
+ 'ApprovalSettingsArgs',
20
+ 'ApprovalSettingsArgsDict',
21
+ 'ApprovalStageArgs',
22
+ 'ApprovalStageArgsDict',
23
+ 'PIMOnlyModeSettingsArgs',
24
+ 'PIMOnlyModeSettingsArgsDict',
25
+ 'RoleManagementPolicyApprovalRuleArgs',
26
+ 'RoleManagementPolicyApprovalRuleArgsDict',
27
+ 'RoleManagementPolicyAuthenticationContextRuleArgs',
28
+ 'RoleManagementPolicyAuthenticationContextRuleArgsDict',
29
+ 'RoleManagementPolicyEnablementRuleArgs',
30
+ 'RoleManagementPolicyEnablementRuleArgsDict',
31
+ 'RoleManagementPolicyExpirationRuleArgs',
32
+ 'RoleManagementPolicyExpirationRuleArgsDict',
33
+ 'RoleManagementPolicyNotificationRuleArgs',
34
+ 'RoleManagementPolicyNotificationRuleArgsDict',
35
+ 'RoleManagementPolicyPimOnlyModeRuleArgs',
36
+ 'RoleManagementPolicyPimOnlyModeRuleArgsDict',
37
+ 'RoleManagementPolicyRuleTargetArgs',
38
+ 'RoleManagementPolicyRuleTargetArgsDict',
39
+ 'UserSetArgs',
40
+ 'UserSetArgsDict',
41
+ 'UsersOrServicePrincipalSetArgs',
42
+ 'UsersOrServicePrincipalSetArgsDict',
43
+ ]
44
+
45
+ MYPY = False
46
+
47
+ if not MYPY:
48
+ class ApprovalSettingsArgsDict(TypedDict):
49
+ """
50
+ The approval settings.
51
+ """
52
+ approval_mode: NotRequired[pulumi.Input[Union[str, 'ApprovalMode']]]
53
+ """
54
+ The type of rule
55
+ """
56
+ approval_stages: NotRequired[pulumi.Input[Sequence[pulumi.Input['ApprovalStageArgsDict']]]]
57
+ """
58
+ The approval stages of the request.
59
+ """
60
+ is_approval_required: NotRequired[pulumi.Input[bool]]
61
+ """
62
+ Determines whether approval is required or not.
63
+ """
64
+ is_approval_required_for_extension: NotRequired[pulumi.Input[bool]]
65
+ """
66
+ Determines whether approval is required for assignment extension.
67
+ """
68
+ is_requestor_justification_required: NotRequired[pulumi.Input[bool]]
69
+ """
70
+ Determine whether requestor justification is required.
71
+ """
72
+ elif False:
73
+ ApprovalSettingsArgsDict: TypeAlias = Mapping[str, Any]
74
+
75
+ @pulumi.input_type
76
+ class ApprovalSettingsArgs:
77
+ def __init__(__self__, *,
78
+ approval_mode: Optional[pulumi.Input[Union[str, 'ApprovalMode']]] = None,
79
+ approval_stages: Optional[pulumi.Input[Sequence[pulumi.Input['ApprovalStageArgs']]]] = None,
80
+ is_approval_required: Optional[pulumi.Input[bool]] = None,
81
+ is_approval_required_for_extension: Optional[pulumi.Input[bool]] = None,
82
+ is_requestor_justification_required: Optional[pulumi.Input[bool]] = None):
83
+ """
84
+ The approval settings.
85
+ :param pulumi.Input[Union[str, 'ApprovalMode']] approval_mode: The type of rule
86
+ :param pulumi.Input[Sequence[pulumi.Input['ApprovalStageArgs']]] approval_stages: The approval stages of the request.
87
+ :param pulumi.Input[bool] is_approval_required: Determines whether approval is required or not.
88
+ :param pulumi.Input[bool] is_approval_required_for_extension: Determines whether approval is required for assignment extension.
89
+ :param pulumi.Input[bool] is_requestor_justification_required: Determine whether requestor justification is required.
90
+ """
91
+ if approval_mode is not None:
92
+ pulumi.set(__self__, "approval_mode", approval_mode)
93
+ if approval_stages is not None:
94
+ pulumi.set(__self__, "approval_stages", approval_stages)
95
+ if is_approval_required is not None:
96
+ pulumi.set(__self__, "is_approval_required", is_approval_required)
97
+ if is_approval_required_for_extension is not None:
98
+ pulumi.set(__self__, "is_approval_required_for_extension", is_approval_required_for_extension)
99
+ if is_requestor_justification_required is not None:
100
+ pulumi.set(__self__, "is_requestor_justification_required", is_requestor_justification_required)
101
+
102
+ @property
103
+ @pulumi.getter(name="approvalMode")
104
+ def approval_mode(self) -> Optional[pulumi.Input[Union[str, 'ApprovalMode']]]:
105
+ """
106
+ The type of rule
107
+ """
108
+ return pulumi.get(self, "approval_mode")
109
+
110
+ @approval_mode.setter
111
+ def approval_mode(self, value: Optional[pulumi.Input[Union[str, 'ApprovalMode']]]):
112
+ pulumi.set(self, "approval_mode", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="approvalStages")
116
+ def approval_stages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApprovalStageArgs']]]]:
117
+ """
118
+ The approval stages of the request.
119
+ """
120
+ return pulumi.get(self, "approval_stages")
121
+
122
+ @approval_stages.setter
123
+ def approval_stages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApprovalStageArgs']]]]):
124
+ pulumi.set(self, "approval_stages", value)
125
+
126
+ @property
127
+ @pulumi.getter(name="isApprovalRequired")
128
+ def is_approval_required(self) -> Optional[pulumi.Input[bool]]:
129
+ """
130
+ Determines whether approval is required or not.
131
+ """
132
+ return pulumi.get(self, "is_approval_required")
133
+
134
+ @is_approval_required.setter
135
+ def is_approval_required(self, value: Optional[pulumi.Input[bool]]):
136
+ pulumi.set(self, "is_approval_required", value)
137
+
138
+ @property
139
+ @pulumi.getter(name="isApprovalRequiredForExtension")
140
+ def is_approval_required_for_extension(self) -> Optional[pulumi.Input[bool]]:
141
+ """
142
+ Determines whether approval is required for assignment extension.
143
+ """
144
+ return pulumi.get(self, "is_approval_required_for_extension")
145
+
146
+ @is_approval_required_for_extension.setter
147
+ def is_approval_required_for_extension(self, value: Optional[pulumi.Input[bool]]):
148
+ pulumi.set(self, "is_approval_required_for_extension", value)
149
+
150
+ @property
151
+ @pulumi.getter(name="isRequestorJustificationRequired")
152
+ def is_requestor_justification_required(self) -> Optional[pulumi.Input[bool]]:
153
+ """
154
+ Determine whether requestor justification is required.
155
+ """
156
+ return pulumi.get(self, "is_requestor_justification_required")
157
+
158
+ @is_requestor_justification_required.setter
159
+ def is_requestor_justification_required(self, value: Optional[pulumi.Input[bool]]):
160
+ pulumi.set(self, "is_requestor_justification_required", value)
161
+
162
+
163
+ if not MYPY:
164
+ class ApprovalStageArgsDict(TypedDict):
165
+ """
166
+ The approval stage.
167
+ """
168
+ approval_stage_time_out_in_days: NotRequired[pulumi.Input[int]]
169
+ """
170
+ The time in days when approval request would be timed out
171
+ """
172
+ escalation_approvers: NotRequired[pulumi.Input[Sequence[pulumi.Input['UserSetArgsDict']]]]
173
+ """
174
+ The escalation approver of the request.
175
+ """
176
+ escalation_time_in_minutes: NotRequired[pulumi.Input[int]]
177
+ """
178
+ The time in minutes when the approval request would be escalated if the primary approver does not approve
179
+ """
180
+ is_approver_justification_required: NotRequired[pulumi.Input[bool]]
181
+ """
182
+ Determines whether approver need to provide justification for his decision.
183
+ """
184
+ is_escalation_enabled: NotRequired[pulumi.Input[bool]]
185
+ """
186
+ The value determine whether escalation feature is enabled.
187
+ """
188
+ primary_approvers: NotRequired[pulumi.Input[Sequence[pulumi.Input['UserSetArgsDict']]]]
189
+ """
190
+ The primary approver of the request.
191
+ """
192
+ elif False:
193
+ ApprovalStageArgsDict: TypeAlias = Mapping[str, Any]
194
+
195
+ @pulumi.input_type
196
+ class ApprovalStageArgs:
197
+ def __init__(__self__, *,
198
+ approval_stage_time_out_in_days: Optional[pulumi.Input[int]] = None,
199
+ escalation_approvers: Optional[pulumi.Input[Sequence[pulumi.Input['UserSetArgs']]]] = None,
200
+ escalation_time_in_minutes: Optional[pulumi.Input[int]] = None,
201
+ is_approver_justification_required: Optional[pulumi.Input[bool]] = None,
202
+ is_escalation_enabled: Optional[pulumi.Input[bool]] = None,
203
+ primary_approvers: Optional[pulumi.Input[Sequence[pulumi.Input['UserSetArgs']]]] = None):
204
+ """
205
+ The approval stage.
206
+ :param pulumi.Input[int] approval_stage_time_out_in_days: The time in days when approval request would be timed out
207
+ :param pulumi.Input[Sequence[pulumi.Input['UserSetArgs']]] escalation_approvers: The escalation approver of the request.
208
+ :param pulumi.Input[int] escalation_time_in_minutes: The time in minutes when the approval request would be escalated if the primary approver does not approve
209
+ :param pulumi.Input[bool] is_approver_justification_required: Determines whether approver need to provide justification for his decision.
210
+ :param pulumi.Input[bool] is_escalation_enabled: The value determine whether escalation feature is enabled.
211
+ :param pulumi.Input[Sequence[pulumi.Input['UserSetArgs']]] primary_approvers: The primary approver of the request.
212
+ """
213
+ if approval_stage_time_out_in_days is not None:
214
+ pulumi.set(__self__, "approval_stage_time_out_in_days", approval_stage_time_out_in_days)
215
+ if escalation_approvers is not None:
216
+ pulumi.set(__self__, "escalation_approvers", escalation_approvers)
217
+ if escalation_time_in_minutes is not None:
218
+ pulumi.set(__self__, "escalation_time_in_minutes", escalation_time_in_minutes)
219
+ if is_approver_justification_required is not None:
220
+ pulumi.set(__self__, "is_approver_justification_required", is_approver_justification_required)
221
+ if is_escalation_enabled is not None:
222
+ pulumi.set(__self__, "is_escalation_enabled", is_escalation_enabled)
223
+ if primary_approvers is not None:
224
+ pulumi.set(__self__, "primary_approvers", primary_approvers)
225
+
226
+ @property
227
+ @pulumi.getter(name="approvalStageTimeOutInDays")
228
+ def approval_stage_time_out_in_days(self) -> Optional[pulumi.Input[int]]:
229
+ """
230
+ The time in days when approval request would be timed out
231
+ """
232
+ return pulumi.get(self, "approval_stage_time_out_in_days")
233
+
234
+ @approval_stage_time_out_in_days.setter
235
+ def approval_stage_time_out_in_days(self, value: Optional[pulumi.Input[int]]):
236
+ pulumi.set(self, "approval_stage_time_out_in_days", value)
237
+
238
+ @property
239
+ @pulumi.getter(name="escalationApprovers")
240
+ def escalation_approvers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserSetArgs']]]]:
241
+ """
242
+ The escalation approver of the request.
243
+ """
244
+ return pulumi.get(self, "escalation_approvers")
245
+
246
+ @escalation_approvers.setter
247
+ def escalation_approvers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserSetArgs']]]]):
248
+ pulumi.set(self, "escalation_approvers", value)
249
+
250
+ @property
251
+ @pulumi.getter(name="escalationTimeInMinutes")
252
+ def escalation_time_in_minutes(self) -> Optional[pulumi.Input[int]]:
253
+ """
254
+ The time in minutes when the approval request would be escalated if the primary approver does not approve
255
+ """
256
+ return pulumi.get(self, "escalation_time_in_minutes")
257
+
258
+ @escalation_time_in_minutes.setter
259
+ def escalation_time_in_minutes(self, value: Optional[pulumi.Input[int]]):
260
+ pulumi.set(self, "escalation_time_in_minutes", value)
261
+
262
+ @property
263
+ @pulumi.getter(name="isApproverJustificationRequired")
264
+ def is_approver_justification_required(self) -> Optional[pulumi.Input[bool]]:
265
+ """
266
+ Determines whether approver need to provide justification for his decision.
267
+ """
268
+ return pulumi.get(self, "is_approver_justification_required")
269
+
270
+ @is_approver_justification_required.setter
271
+ def is_approver_justification_required(self, value: Optional[pulumi.Input[bool]]):
272
+ pulumi.set(self, "is_approver_justification_required", value)
273
+
274
+ @property
275
+ @pulumi.getter(name="isEscalationEnabled")
276
+ def is_escalation_enabled(self) -> Optional[pulumi.Input[bool]]:
277
+ """
278
+ The value determine whether escalation feature is enabled.
279
+ """
280
+ return pulumi.get(self, "is_escalation_enabled")
281
+
282
+ @is_escalation_enabled.setter
283
+ def is_escalation_enabled(self, value: Optional[pulumi.Input[bool]]):
284
+ pulumi.set(self, "is_escalation_enabled", value)
285
+
286
+ @property
287
+ @pulumi.getter(name="primaryApprovers")
288
+ def primary_approvers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserSetArgs']]]]:
289
+ """
290
+ The primary approver of the request.
291
+ """
292
+ return pulumi.get(self, "primary_approvers")
293
+
294
+ @primary_approvers.setter
295
+ def primary_approvers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserSetArgs']]]]):
296
+ pulumi.set(self, "primary_approvers", value)
297
+
298
+
299
+ if not MYPY:
300
+ class PIMOnlyModeSettingsArgsDict(TypedDict):
301
+ """
302
+ The PIM Only Mode settings.
303
+ """
304
+ excluded_assignment_types: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union[str, 'ExcludedPrincipalTypes']]]]]
305
+ """
306
+ The list of excluded assignment types allowed.
307
+ """
308
+ excludes: NotRequired[pulumi.Input[Sequence[pulumi.Input['UsersOrServicePrincipalSetArgsDict']]]]
309
+ """
310
+ The list of excluded entities that the rule does not apply to.
311
+ """
312
+ mode: NotRequired[pulumi.Input[Union[str, 'PIMOnlyMode']]]
313
+ """
314
+ Determines whether the setting is enabled, disabled or report only.
315
+ """
316
+ elif False:
317
+ PIMOnlyModeSettingsArgsDict: TypeAlias = Mapping[str, Any]
318
+
319
+ @pulumi.input_type
320
+ class PIMOnlyModeSettingsArgs:
321
+ def __init__(__self__, *,
322
+ excluded_assignment_types: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'ExcludedPrincipalTypes']]]]] = None,
323
+ excludes: Optional[pulumi.Input[Sequence[pulumi.Input['UsersOrServicePrincipalSetArgs']]]] = None,
324
+ mode: Optional[pulumi.Input[Union[str, 'PIMOnlyMode']]] = None):
325
+ """
326
+ The PIM Only Mode settings.
327
+ :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'ExcludedPrincipalTypes']]]] excluded_assignment_types: The list of excluded assignment types allowed.
328
+ :param pulumi.Input[Sequence[pulumi.Input['UsersOrServicePrincipalSetArgs']]] excludes: The list of excluded entities that the rule does not apply to.
329
+ :param pulumi.Input[Union[str, 'PIMOnlyMode']] mode: Determines whether the setting is enabled, disabled or report only.
330
+ """
331
+ if excluded_assignment_types is not None:
332
+ pulumi.set(__self__, "excluded_assignment_types", excluded_assignment_types)
333
+ if excludes is not None:
334
+ pulumi.set(__self__, "excludes", excludes)
335
+ if mode is not None:
336
+ pulumi.set(__self__, "mode", mode)
337
+
338
+ @property
339
+ @pulumi.getter(name="excludedAssignmentTypes")
340
+ def excluded_assignment_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'ExcludedPrincipalTypes']]]]]:
341
+ """
342
+ The list of excluded assignment types allowed.
343
+ """
344
+ return pulumi.get(self, "excluded_assignment_types")
345
+
346
+ @excluded_assignment_types.setter
347
+ def excluded_assignment_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'ExcludedPrincipalTypes']]]]]):
348
+ pulumi.set(self, "excluded_assignment_types", value)
349
+
350
+ @property
351
+ @pulumi.getter
352
+ def excludes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UsersOrServicePrincipalSetArgs']]]]:
353
+ """
354
+ The list of excluded entities that the rule does not apply to.
355
+ """
356
+ return pulumi.get(self, "excludes")
357
+
358
+ @excludes.setter
359
+ def excludes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UsersOrServicePrincipalSetArgs']]]]):
360
+ pulumi.set(self, "excludes", value)
361
+
362
+ @property
363
+ @pulumi.getter
364
+ def mode(self) -> Optional[pulumi.Input[Union[str, 'PIMOnlyMode']]]:
365
+ """
366
+ Determines whether the setting is enabled, disabled or report only.
367
+ """
368
+ return pulumi.get(self, "mode")
369
+
370
+ @mode.setter
371
+ def mode(self, value: Optional[pulumi.Input[Union[str, 'PIMOnlyMode']]]):
372
+ pulumi.set(self, "mode", value)
373
+
374
+
375
+ if not MYPY:
376
+ class RoleManagementPolicyApprovalRuleArgsDict(TypedDict):
377
+ """
378
+ The role management policy approval rule.
379
+ """
380
+ rule_type: pulumi.Input[str]
381
+ """
382
+ The type of rule
383
+ Expected value is 'RoleManagementPolicyApprovalRule'.
384
+ """
385
+ id: NotRequired[pulumi.Input[str]]
386
+ """
387
+ The id of the rule.
388
+ """
389
+ setting: NotRequired[pulumi.Input['ApprovalSettingsArgsDict']]
390
+ """
391
+ The approval setting
392
+ """
393
+ target: NotRequired[pulumi.Input['RoleManagementPolicyRuleTargetArgsDict']]
394
+ """
395
+ The target of the current rule.
396
+ """
397
+ elif False:
398
+ RoleManagementPolicyApprovalRuleArgsDict: TypeAlias = Mapping[str, Any]
399
+
400
+ @pulumi.input_type
401
+ class RoleManagementPolicyApprovalRuleArgs:
402
+ def __init__(__self__, *,
403
+ rule_type: pulumi.Input[str],
404
+ id: Optional[pulumi.Input[str]] = None,
405
+ setting: Optional[pulumi.Input['ApprovalSettingsArgs']] = None,
406
+ target: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']] = None):
407
+ """
408
+ The role management policy approval rule.
409
+ :param pulumi.Input[str] rule_type: The type of rule
410
+ Expected value is 'RoleManagementPolicyApprovalRule'.
411
+ :param pulumi.Input[str] id: The id of the rule.
412
+ :param pulumi.Input['ApprovalSettingsArgs'] setting: The approval setting
413
+ :param pulumi.Input['RoleManagementPolicyRuleTargetArgs'] target: The target of the current rule.
414
+ """
415
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyApprovalRule')
416
+ if id is not None:
417
+ pulumi.set(__self__, "id", id)
418
+ if setting is not None:
419
+ pulumi.set(__self__, "setting", setting)
420
+ if target is not None:
421
+ pulumi.set(__self__, "target", target)
422
+
423
+ @property
424
+ @pulumi.getter(name="ruleType")
425
+ def rule_type(self) -> pulumi.Input[str]:
426
+ """
427
+ The type of rule
428
+ Expected value is 'RoleManagementPolicyApprovalRule'.
429
+ """
430
+ return pulumi.get(self, "rule_type")
431
+
432
+ @rule_type.setter
433
+ def rule_type(self, value: pulumi.Input[str]):
434
+ pulumi.set(self, "rule_type", value)
435
+
436
+ @property
437
+ @pulumi.getter
438
+ def id(self) -> Optional[pulumi.Input[str]]:
439
+ """
440
+ The id of the rule.
441
+ """
442
+ return pulumi.get(self, "id")
443
+
444
+ @id.setter
445
+ def id(self, value: Optional[pulumi.Input[str]]):
446
+ pulumi.set(self, "id", value)
447
+
448
+ @property
449
+ @pulumi.getter
450
+ def setting(self) -> Optional[pulumi.Input['ApprovalSettingsArgs']]:
451
+ """
452
+ The approval setting
453
+ """
454
+ return pulumi.get(self, "setting")
455
+
456
+ @setting.setter
457
+ def setting(self, value: Optional[pulumi.Input['ApprovalSettingsArgs']]):
458
+ pulumi.set(self, "setting", value)
459
+
460
+ @property
461
+ @pulumi.getter
462
+ def target(self) -> Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]:
463
+ """
464
+ The target of the current rule.
465
+ """
466
+ return pulumi.get(self, "target")
467
+
468
+ @target.setter
469
+ def target(self, value: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]):
470
+ pulumi.set(self, "target", value)
471
+
472
+
473
+ if not MYPY:
474
+ class RoleManagementPolicyAuthenticationContextRuleArgsDict(TypedDict):
475
+ """
476
+ The role management policy authentication context rule.
477
+ """
478
+ rule_type: pulumi.Input[str]
479
+ """
480
+ The type of rule
481
+ Expected value is 'RoleManagementPolicyAuthenticationContextRule'.
482
+ """
483
+ claim_value: NotRequired[pulumi.Input[str]]
484
+ """
485
+ The claim value.
486
+ """
487
+ id: NotRequired[pulumi.Input[str]]
488
+ """
489
+ The id of the rule.
490
+ """
491
+ is_enabled: NotRequired[pulumi.Input[bool]]
492
+ """
493
+ The value indicating if rule is enabled.
494
+ """
495
+ target: NotRequired[pulumi.Input['RoleManagementPolicyRuleTargetArgsDict']]
496
+ """
497
+ The target of the current rule.
498
+ """
499
+ elif False:
500
+ RoleManagementPolicyAuthenticationContextRuleArgsDict: TypeAlias = Mapping[str, Any]
501
+
502
+ @pulumi.input_type
503
+ class RoleManagementPolicyAuthenticationContextRuleArgs:
504
+ def __init__(__self__, *,
505
+ rule_type: pulumi.Input[str],
506
+ claim_value: Optional[pulumi.Input[str]] = None,
507
+ id: Optional[pulumi.Input[str]] = None,
508
+ is_enabled: Optional[pulumi.Input[bool]] = None,
509
+ target: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']] = None):
510
+ """
511
+ The role management policy authentication context rule.
512
+ :param pulumi.Input[str] rule_type: The type of rule
513
+ Expected value is 'RoleManagementPolicyAuthenticationContextRule'.
514
+ :param pulumi.Input[str] claim_value: The claim value.
515
+ :param pulumi.Input[str] id: The id of the rule.
516
+ :param pulumi.Input[bool] is_enabled: The value indicating if rule is enabled.
517
+ :param pulumi.Input['RoleManagementPolicyRuleTargetArgs'] target: The target of the current rule.
518
+ """
519
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyAuthenticationContextRule')
520
+ if claim_value is not None:
521
+ pulumi.set(__self__, "claim_value", claim_value)
522
+ if id is not None:
523
+ pulumi.set(__self__, "id", id)
524
+ if is_enabled is not None:
525
+ pulumi.set(__self__, "is_enabled", is_enabled)
526
+ if target is not None:
527
+ pulumi.set(__self__, "target", target)
528
+
529
+ @property
530
+ @pulumi.getter(name="ruleType")
531
+ def rule_type(self) -> pulumi.Input[str]:
532
+ """
533
+ The type of rule
534
+ Expected value is 'RoleManagementPolicyAuthenticationContextRule'.
535
+ """
536
+ return pulumi.get(self, "rule_type")
537
+
538
+ @rule_type.setter
539
+ def rule_type(self, value: pulumi.Input[str]):
540
+ pulumi.set(self, "rule_type", value)
541
+
542
+ @property
543
+ @pulumi.getter(name="claimValue")
544
+ def claim_value(self) -> Optional[pulumi.Input[str]]:
545
+ """
546
+ The claim value.
547
+ """
548
+ return pulumi.get(self, "claim_value")
549
+
550
+ @claim_value.setter
551
+ def claim_value(self, value: Optional[pulumi.Input[str]]):
552
+ pulumi.set(self, "claim_value", value)
553
+
554
+ @property
555
+ @pulumi.getter
556
+ def id(self) -> Optional[pulumi.Input[str]]:
557
+ """
558
+ The id of the rule.
559
+ """
560
+ return pulumi.get(self, "id")
561
+
562
+ @id.setter
563
+ def id(self, value: Optional[pulumi.Input[str]]):
564
+ pulumi.set(self, "id", value)
565
+
566
+ @property
567
+ @pulumi.getter(name="isEnabled")
568
+ def is_enabled(self) -> Optional[pulumi.Input[bool]]:
569
+ """
570
+ The value indicating if rule is enabled.
571
+ """
572
+ return pulumi.get(self, "is_enabled")
573
+
574
+ @is_enabled.setter
575
+ def is_enabled(self, value: Optional[pulumi.Input[bool]]):
576
+ pulumi.set(self, "is_enabled", value)
577
+
578
+ @property
579
+ @pulumi.getter
580
+ def target(self) -> Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]:
581
+ """
582
+ The target of the current rule.
583
+ """
584
+ return pulumi.get(self, "target")
585
+
586
+ @target.setter
587
+ def target(self, value: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]):
588
+ pulumi.set(self, "target", value)
589
+
590
+
591
+ if not MYPY:
592
+ class RoleManagementPolicyEnablementRuleArgsDict(TypedDict):
593
+ """
594
+ The role management policy enablement rule.
595
+ """
596
+ rule_type: pulumi.Input[str]
597
+ """
598
+ The type of rule
599
+ Expected value is 'RoleManagementPolicyEnablementRule'.
600
+ """
601
+ enabled_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union[str, 'EnablementRules']]]]]
602
+ """
603
+ The list of enabled rules.
604
+ """
605
+ id: NotRequired[pulumi.Input[str]]
606
+ """
607
+ The id of the rule.
608
+ """
609
+ target: NotRequired[pulumi.Input['RoleManagementPolicyRuleTargetArgsDict']]
610
+ """
611
+ The target of the current rule.
612
+ """
613
+ elif False:
614
+ RoleManagementPolicyEnablementRuleArgsDict: TypeAlias = Mapping[str, Any]
615
+
616
+ @pulumi.input_type
617
+ class RoleManagementPolicyEnablementRuleArgs:
618
+ def __init__(__self__, *,
619
+ rule_type: pulumi.Input[str],
620
+ enabled_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'EnablementRules']]]]] = None,
621
+ id: Optional[pulumi.Input[str]] = None,
622
+ target: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']] = None):
623
+ """
624
+ The role management policy enablement rule.
625
+ :param pulumi.Input[str] rule_type: The type of rule
626
+ Expected value is 'RoleManagementPolicyEnablementRule'.
627
+ :param pulumi.Input[Sequence[pulumi.Input[Union[str, 'EnablementRules']]]] enabled_rules: The list of enabled rules.
628
+ :param pulumi.Input[str] id: The id of the rule.
629
+ :param pulumi.Input['RoleManagementPolicyRuleTargetArgs'] target: The target of the current rule.
630
+ """
631
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyEnablementRule')
632
+ if enabled_rules is not None:
633
+ pulumi.set(__self__, "enabled_rules", enabled_rules)
634
+ if id is not None:
635
+ pulumi.set(__self__, "id", id)
636
+ if target is not None:
637
+ pulumi.set(__self__, "target", target)
638
+
639
+ @property
640
+ @pulumi.getter(name="ruleType")
641
+ def rule_type(self) -> pulumi.Input[str]:
642
+ """
643
+ The type of rule
644
+ Expected value is 'RoleManagementPolicyEnablementRule'.
645
+ """
646
+ return pulumi.get(self, "rule_type")
647
+
648
+ @rule_type.setter
649
+ def rule_type(self, value: pulumi.Input[str]):
650
+ pulumi.set(self, "rule_type", value)
651
+
652
+ @property
653
+ @pulumi.getter(name="enabledRules")
654
+ def enabled_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'EnablementRules']]]]]:
655
+ """
656
+ The list of enabled rules.
657
+ """
658
+ return pulumi.get(self, "enabled_rules")
659
+
660
+ @enabled_rules.setter
661
+ def enabled_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union[str, 'EnablementRules']]]]]):
662
+ pulumi.set(self, "enabled_rules", value)
663
+
664
+ @property
665
+ @pulumi.getter
666
+ def id(self) -> Optional[pulumi.Input[str]]:
667
+ """
668
+ The id of the rule.
669
+ """
670
+ return pulumi.get(self, "id")
671
+
672
+ @id.setter
673
+ def id(self, value: Optional[pulumi.Input[str]]):
674
+ pulumi.set(self, "id", value)
675
+
676
+ @property
677
+ @pulumi.getter
678
+ def target(self) -> Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]:
679
+ """
680
+ The target of the current rule.
681
+ """
682
+ return pulumi.get(self, "target")
683
+
684
+ @target.setter
685
+ def target(self, value: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]):
686
+ pulumi.set(self, "target", value)
687
+
688
+
689
+ if not MYPY:
690
+ class RoleManagementPolicyExpirationRuleArgsDict(TypedDict):
691
+ """
692
+ The role management policy expiration rule.
693
+ """
694
+ rule_type: pulumi.Input[str]
695
+ """
696
+ The type of rule
697
+ Expected value is 'RoleManagementPolicyExpirationRule'.
698
+ """
699
+ id: NotRequired[pulumi.Input[str]]
700
+ """
701
+ The id of the rule.
702
+ """
703
+ is_expiration_required: NotRequired[pulumi.Input[bool]]
704
+ """
705
+ The value indicating whether expiration is required.
706
+ """
707
+ maximum_duration: NotRequired[pulumi.Input[str]]
708
+ """
709
+ The maximum duration of expiration in timespan.
710
+ """
711
+ target: NotRequired[pulumi.Input['RoleManagementPolicyRuleTargetArgsDict']]
712
+ """
713
+ The target of the current rule.
714
+ """
715
+ elif False:
716
+ RoleManagementPolicyExpirationRuleArgsDict: TypeAlias = Mapping[str, Any]
717
+
718
+ @pulumi.input_type
719
+ class RoleManagementPolicyExpirationRuleArgs:
720
+ def __init__(__self__, *,
721
+ rule_type: pulumi.Input[str],
722
+ id: Optional[pulumi.Input[str]] = None,
723
+ is_expiration_required: Optional[pulumi.Input[bool]] = None,
724
+ maximum_duration: Optional[pulumi.Input[str]] = None,
725
+ target: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']] = None):
726
+ """
727
+ The role management policy expiration rule.
728
+ :param pulumi.Input[str] rule_type: The type of rule
729
+ Expected value is 'RoleManagementPolicyExpirationRule'.
730
+ :param pulumi.Input[str] id: The id of the rule.
731
+ :param pulumi.Input[bool] is_expiration_required: The value indicating whether expiration is required.
732
+ :param pulumi.Input[str] maximum_duration: The maximum duration of expiration in timespan.
733
+ :param pulumi.Input['RoleManagementPolicyRuleTargetArgs'] target: The target of the current rule.
734
+ """
735
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyExpirationRule')
736
+ if id is not None:
737
+ pulumi.set(__self__, "id", id)
738
+ if is_expiration_required is not None:
739
+ pulumi.set(__self__, "is_expiration_required", is_expiration_required)
740
+ if maximum_duration is not None:
741
+ pulumi.set(__self__, "maximum_duration", maximum_duration)
742
+ if target is not None:
743
+ pulumi.set(__self__, "target", target)
744
+
745
+ @property
746
+ @pulumi.getter(name="ruleType")
747
+ def rule_type(self) -> pulumi.Input[str]:
748
+ """
749
+ The type of rule
750
+ Expected value is 'RoleManagementPolicyExpirationRule'.
751
+ """
752
+ return pulumi.get(self, "rule_type")
753
+
754
+ @rule_type.setter
755
+ def rule_type(self, value: pulumi.Input[str]):
756
+ pulumi.set(self, "rule_type", value)
757
+
758
+ @property
759
+ @pulumi.getter
760
+ def id(self) -> Optional[pulumi.Input[str]]:
761
+ """
762
+ The id of the rule.
763
+ """
764
+ return pulumi.get(self, "id")
765
+
766
+ @id.setter
767
+ def id(self, value: Optional[pulumi.Input[str]]):
768
+ pulumi.set(self, "id", value)
769
+
770
+ @property
771
+ @pulumi.getter(name="isExpirationRequired")
772
+ def is_expiration_required(self) -> Optional[pulumi.Input[bool]]:
773
+ """
774
+ The value indicating whether expiration is required.
775
+ """
776
+ return pulumi.get(self, "is_expiration_required")
777
+
778
+ @is_expiration_required.setter
779
+ def is_expiration_required(self, value: Optional[pulumi.Input[bool]]):
780
+ pulumi.set(self, "is_expiration_required", value)
781
+
782
+ @property
783
+ @pulumi.getter(name="maximumDuration")
784
+ def maximum_duration(self) -> Optional[pulumi.Input[str]]:
785
+ """
786
+ The maximum duration of expiration in timespan.
787
+ """
788
+ return pulumi.get(self, "maximum_duration")
789
+
790
+ @maximum_duration.setter
791
+ def maximum_duration(self, value: Optional[pulumi.Input[str]]):
792
+ pulumi.set(self, "maximum_duration", value)
793
+
794
+ @property
795
+ @pulumi.getter
796
+ def target(self) -> Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]:
797
+ """
798
+ The target of the current rule.
799
+ """
800
+ return pulumi.get(self, "target")
801
+
802
+ @target.setter
803
+ def target(self, value: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]):
804
+ pulumi.set(self, "target", value)
805
+
806
+
807
+ if not MYPY:
808
+ class RoleManagementPolicyNotificationRuleArgsDict(TypedDict):
809
+ """
810
+ The role management policy notification rule.
811
+ """
812
+ rule_type: pulumi.Input[str]
813
+ """
814
+ The type of rule
815
+ Expected value is 'RoleManagementPolicyNotificationRule'.
816
+ """
817
+ id: NotRequired[pulumi.Input[str]]
818
+ """
819
+ The id of the rule.
820
+ """
821
+ is_default_recipients_enabled: NotRequired[pulumi.Input[bool]]
822
+ """
823
+ Determines if the notification will be sent to the recipient type specified in the policy rule.
824
+ """
825
+ notification_level: NotRequired[pulumi.Input[Union[str, 'NotificationLevel']]]
826
+ """
827
+ The notification level.
828
+ """
829
+ notification_recipients: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
830
+ """
831
+ The list of notification recipients.
832
+ """
833
+ notification_type: NotRequired[pulumi.Input[Union[str, 'NotificationDeliveryMechanism']]]
834
+ """
835
+ The type of notification.
836
+ """
837
+ recipient_type: NotRequired[pulumi.Input[Union[str, 'RecipientType']]]
838
+ """
839
+ The recipient type.
840
+ """
841
+ target: NotRequired[pulumi.Input['RoleManagementPolicyRuleTargetArgsDict']]
842
+ """
843
+ The target of the current rule.
844
+ """
845
+ elif False:
846
+ RoleManagementPolicyNotificationRuleArgsDict: TypeAlias = Mapping[str, Any]
847
+
848
+ @pulumi.input_type
849
+ class RoleManagementPolicyNotificationRuleArgs:
850
+ def __init__(__self__, *,
851
+ rule_type: pulumi.Input[str],
852
+ id: Optional[pulumi.Input[str]] = None,
853
+ is_default_recipients_enabled: Optional[pulumi.Input[bool]] = None,
854
+ notification_level: Optional[pulumi.Input[Union[str, 'NotificationLevel']]] = None,
855
+ notification_recipients: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
856
+ notification_type: Optional[pulumi.Input[Union[str, 'NotificationDeliveryMechanism']]] = None,
857
+ recipient_type: Optional[pulumi.Input[Union[str, 'RecipientType']]] = None,
858
+ target: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']] = None):
859
+ """
860
+ The role management policy notification rule.
861
+ :param pulumi.Input[str] rule_type: The type of rule
862
+ Expected value is 'RoleManagementPolicyNotificationRule'.
863
+ :param pulumi.Input[str] id: The id of the rule.
864
+ :param pulumi.Input[bool] is_default_recipients_enabled: Determines if the notification will be sent to the recipient type specified in the policy rule.
865
+ :param pulumi.Input[Union[str, 'NotificationLevel']] notification_level: The notification level.
866
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_recipients: The list of notification recipients.
867
+ :param pulumi.Input[Union[str, 'NotificationDeliveryMechanism']] notification_type: The type of notification.
868
+ :param pulumi.Input[Union[str, 'RecipientType']] recipient_type: The recipient type.
869
+ :param pulumi.Input['RoleManagementPolicyRuleTargetArgs'] target: The target of the current rule.
870
+ """
871
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyNotificationRule')
872
+ if id is not None:
873
+ pulumi.set(__self__, "id", id)
874
+ if is_default_recipients_enabled is not None:
875
+ pulumi.set(__self__, "is_default_recipients_enabled", is_default_recipients_enabled)
876
+ if notification_level is not None:
877
+ pulumi.set(__self__, "notification_level", notification_level)
878
+ if notification_recipients is not None:
879
+ pulumi.set(__self__, "notification_recipients", notification_recipients)
880
+ if notification_type is not None:
881
+ pulumi.set(__self__, "notification_type", notification_type)
882
+ if recipient_type is not None:
883
+ pulumi.set(__self__, "recipient_type", recipient_type)
884
+ if target is not None:
885
+ pulumi.set(__self__, "target", target)
886
+
887
+ @property
888
+ @pulumi.getter(name="ruleType")
889
+ def rule_type(self) -> pulumi.Input[str]:
890
+ """
891
+ The type of rule
892
+ Expected value is 'RoleManagementPolicyNotificationRule'.
893
+ """
894
+ return pulumi.get(self, "rule_type")
895
+
896
+ @rule_type.setter
897
+ def rule_type(self, value: pulumi.Input[str]):
898
+ pulumi.set(self, "rule_type", value)
899
+
900
+ @property
901
+ @pulumi.getter
902
+ def id(self) -> Optional[pulumi.Input[str]]:
903
+ """
904
+ The id of the rule.
905
+ """
906
+ return pulumi.get(self, "id")
907
+
908
+ @id.setter
909
+ def id(self, value: Optional[pulumi.Input[str]]):
910
+ pulumi.set(self, "id", value)
911
+
912
+ @property
913
+ @pulumi.getter(name="isDefaultRecipientsEnabled")
914
+ def is_default_recipients_enabled(self) -> Optional[pulumi.Input[bool]]:
915
+ """
916
+ Determines if the notification will be sent to the recipient type specified in the policy rule.
917
+ """
918
+ return pulumi.get(self, "is_default_recipients_enabled")
919
+
920
+ @is_default_recipients_enabled.setter
921
+ def is_default_recipients_enabled(self, value: Optional[pulumi.Input[bool]]):
922
+ pulumi.set(self, "is_default_recipients_enabled", value)
923
+
924
+ @property
925
+ @pulumi.getter(name="notificationLevel")
926
+ def notification_level(self) -> Optional[pulumi.Input[Union[str, 'NotificationLevel']]]:
927
+ """
928
+ The notification level.
929
+ """
930
+ return pulumi.get(self, "notification_level")
931
+
932
+ @notification_level.setter
933
+ def notification_level(self, value: Optional[pulumi.Input[Union[str, 'NotificationLevel']]]):
934
+ pulumi.set(self, "notification_level", value)
935
+
936
+ @property
937
+ @pulumi.getter(name="notificationRecipients")
938
+ def notification_recipients(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
939
+ """
940
+ The list of notification recipients.
941
+ """
942
+ return pulumi.get(self, "notification_recipients")
943
+
944
+ @notification_recipients.setter
945
+ def notification_recipients(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
946
+ pulumi.set(self, "notification_recipients", value)
947
+
948
+ @property
949
+ @pulumi.getter(name="notificationType")
950
+ def notification_type(self) -> Optional[pulumi.Input[Union[str, 'NotificationDeliveryMechanism']]]:
951
+ """
952
+ The type of notification.
953
+ """
954
+ return pulumi.get(self, "notification_type")
955
+
956
+ @notification_type.setter
957
+ def notification_type(self, value: Optional[pulumi.Input[Union[str, 'NotificationDeliveryMechanism']]]):
958
+ pulumi.set(self, "notification_type", value)
959
+
960
+ @property
961
+ @pulumi.getter(name="recipientType")
962
+ def recipient_type(self) -> Optional[pulumi.Input[Union[str, 'RecipientType']]]:
963
+ """
964
+ The recipient type.
965
+ """
966
+ return pulumi.get(self, "recipient_type")
967
+
968
+ @recipient_type.setter
969
+ def recipient_type(self, value: Optional[pulumi.Input[Union[str, 'RecipientType']]]):
970
+ pulumi.set(self, "recipient_type", value)
971
+
972
+ @property
973
+ @pulumi.getter
974
+ def target(self) -> Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]:
975
+ """
976
+ The target of the current rule.
977
+ """
978
+ return pulumi.get(self, "target")
979
+
980
+ @target.setter
981
+ def target(self, value: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]):
982
+ pulumi.set(self, "target", value)
983
+
984
+
985
+ if not MYPY:
986
+ class RoleManagementPolicyPimOnlyModeRuleArgsDict(TypedDict):
987
+ """
988
+ The role management policy PIM only mode rule.
989
+ """
990
+ rule_type: pulumi.Input[str]
991
+ """
992
+ The type of rule
993
+ Expected value is 'RoleManagementPolicyPimOnlyModeRule'.
994
+ """
995
+ id: NotRequired[pulumi.Input[str]]
996
+ """
997
+ The id of the rule.
998
+ """
999
+ pim_only_mode_settings: NotRequired[pulumi.Input['PIMOnlyModeSettingsArgsDict']]
1000
+ """
1001
+ The PIM Only Mode settings
1002
+ """
1003
+ target: NotRequired[pulumi.Input['RoleManagementPolicyRuleTargetArgsDict']]
1004
+ """
1005
+ The target of the current rule.
1006
+ """
1007
+ elif False:
1008
+ RoleManagementPolicyPimOnlyModeRuleArgsDict: TypeAlias = Mapping[str, Any]
1009
+
1010
+ @pulumi.input_type
1011
+ class RoleManagementPolicyPimOnlyModeRuleArgs:
1012
+ def __init__(__self__, *,
1013
+ rule_type: pulumi.Input[str],
1014
+ id: Optional[pulumi.Input[str]] = None,
1015
+ pim_only_mode_settings: Optional[pulumi.Input['PIMOnlyModeSettingsArgs']] = None,
1016
+ target: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']] = None):
1017
+ """
1018
+ The role management policy PIM only mode rule.
1019
+ :param pulumi.Input[str] rule_type: The type of rule
1020
+ Expected value is 'RoleManagementPolicyPimOnlyModeRule'.
1021
+ :param pulumi.Input[str] id: The id of the rule.
1022
+ :param pulumi.Input['PIMOnlyModeSettingsArgs'] pim_only_mode_settings: The PIM Only Mode settings
1023
+ :param pulumi.Input['RoleManagementPolicyRuleTargetArgs'] target: The target of the current rule.
1024
+ """
1025
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyPimOnlyModeRule')
1026
+ if id is not None:
1027
+ pulumi.set(__self__, "id", id)
1028
+ if pim_only_mode_settings is not None:
1029
+ pulumi.set(__self__, "pim_only_mode_settings", pim_only_mode_settings)
1030
+ if target is not None:
1031
+ pulumi.set(__self__, "target", target)
1032
+
1033
+ @property
1034
+ @pulumi.getter(name="ruleType")
1035
+ def rule_type(self) -> pulumi.Input[str]:
1036
+ """
1037
+ The type of rule
1038
+ Expected value is 'RoleManagementPolicyPimOnlyModeRule'.
1039
+ """
1040
+ return pulumi.get(self, "rule_type")
1041
+
1042
+ @rule_type.setter
1043
+ def rule_type(self, value: pulumi.Input[str]):
1044
+ pulumi.set(self, "rule_type", value)
1045
+
1046
+ @property
1047
+ @pulumi.getter
1048
+ def id(self) -> Optional[pulumi.Input[str]]:
1049
+ """
1050
+ The id of the rule.
1051
+ """
1052
+ return pulumi.get(self, "id")
1053
+
1054
+ @id.setter
1055
+ def id(self, value: Optional[pulumi.Input[str]]):
1056
+ pulumi.set(self, "id", value)
1057
+
1058
+ @property
1059
+ @pulumi.getter(name="pimOnlyModeSettings")
1060
+ def pim_only_mode_settings(self) -> Optional[pulumi.Input['PIMOnlyModeSettingsArgs']]:
1061
+ """
1062
+ The PIM Only Mode settings
1063
+ """
1064
+ return pulumi.get(self, "pim_only_mode_settings")
1065
+
1066
+ @pim_only_mode_settings.setter
1067
+ def pim_only_mode_settings(self, value: Optional[pulumi.Input['PIMOnlyModeSettingsArgs']]):
1068
+ pulumi.set(self, "pim_only_mode_settings", value)
1069
+
1070
+ @property
1071
+ @pulumi.getter
1072
+ def target(self) -> Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]:
1073
+ """
1074
+ The target of the current rule.
1075
+ """
1076
+ return pulumi.get(self, "target")
1077
+
1078
+ @target.setter
1079
+ def target(self, value: Optional[pulumi.Input['RoleManagementPolicyRuleTargetArgs']]):
1080
+ pulumi.set(self, "target", value)
1081
+
1082
+
1083
+ if not MYPY:
1084
+ class RoleManagementPolicyRuleTargetArgsDict(TypedDict):
1085
+ """
1086
+ The role management policy rule target.
1087
+ """
1088
+ caller: NotRequired[pulumi.Input[str]]
1089
+ """
1090
+ The caller of the setting.
1091
+ """
1092
+ enforced_settings: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1093
+ """
1094
+ The list of enforced settings.
1095
+ """
1096
+ inheritable_settings: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1097
+ """
1098
+ The list of inheritable settings.
1099
+ """
1100
+ level: NotRequired[pulumi.Input[str]]
1101
+ """
1102
+ The assignment level to which rule is applied.
1103
+ """
1104
+ operations: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1105
+ """
1106
+ The type of operation.
1107
+ """
1108
+ target_objects: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1109
+ """
1110
+ The list of target objects.
1111
+ """
1112
+ elif False:
1113
+ RoleManagementPolicyRuleTargetArgsDict: TypeAlias = Mapping[str, Any]
1114
+
1115
+ @pulumi.input_type
1116
+ class RoleManagementPolicyRuleTargetArgs:
1117
+ def __init__(__self__, *,
1118
+ caller: Optional[pulumi.Input[str]] = None,
1119
+ enforced_settings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1120
+ inheritable_settings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1121
+ level: Optional[pulumi.Input[str]] = None,
1122
+ operations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1123
+ target_objects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1124
+ """
1125
+ The role management policy rule target.
1126
+ :param pulumi.Input[str] caller: The caller of the setting.
1127
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] enforced_settings: The list of enforced settings.
1128
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] inheritable_settings: The list of inheritable settings.
1129
+ :param pulumi.Input[str] level: The assignment level to which rule is applied.
1130
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] operations: The type of operation.
1131
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] target_objects: The list of target objects.
1132
+ """
1133
+ if caller is not None:
1134
+ pulumi.set(__self__, "caller", caller)
1135
+ if enforced_settings is not None:
1136
+ pulumi.set(__self__, "enforced_settings", enforced_settings)
1137
+ if inheritable_settings is not None:
1138
+ pulumi.set(__self__, "inheritable_settings", inheritable_settings)
1139
+ if level is not None:
1140
+ pulumi.set(__self__, "level", level)
1141
+ if operations is not None:
1142
+ pulumi.set(__self__, "operations", operations)
1143
+ if target_objects is not None:
1144
+ pulumi.set(__self__, "target_objects", target_objects)
1145
+
1146
+ @property
1147
+ @pulumi.getter
1148
+ def caller(self) -> Optional[pulumi.Input[str]]:
1149
+ """
1150
+ The caller of the setting.
1151
+ """
1152
+ return pulumi.get(self, "caller")
1153
+
1154
+ @caller.setter
1155
+ def caller(self, value: Optional[pulumi.Input[str]]):
1156
+ pulumi.set(self, "caller", value)
1157
+
1158
+ @property
1159
+ @pulumi.getter(name="enforcedSettings")
1160
+ def enforced_settings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1161
+ """
1162
+ The list of enforced settings.
1163
+ """
1164
+ return pulumi.get(self, "enforced_settings")
1165
+
1166
+ @enforced_settings.setter
1167
+ def enforced_settings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1168
+ pulumi.set(self, "enforced_settings", value)
1169
+
1170
+ @property
1171
+ @pulumi.getter(name="inheritableSettings")
1172
+ def inheritable_settings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1173
+ """
1174
+ The list of inheritable settings.
1175
+ """
1176
+ return pulumi.get(self, "inheritable_settings")
1177
+
1178
+ @inheritable_settings.setter
1179
+ def inheritable_settings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1180
+ pulumi.set(self, "inheritable_settings", value)
1181
+
1182
+ @property
1183
+ @pulumi.getter
1184
+ def level(self) -> Optional[pulumi.Input[str]]:
1185
+ """
1186
+ The assignment level to which rule is applied.
1187
+ """
1188
+ return pulumi.get(self, "level")
1189
+
1190
+ @level.setter
1191
+ def level(self, value: Optional[pulumi.Input[str]]):
1192
+ pulumi.set(self, "level", value)
1193
+
1194
+ @property
1195
+ @pulumi.getter
1196
+ def operations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1197
+ """
1198
+ The type of operation.
1199
+ """
1200
+ return pulumi.get(self, "operations")
1201
+
1202
+ @operations.setter
1203
+ def operations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1204
+ pulumi.set(self, "operations", value)
1205
+
1206
+ @property
1207
+ @pulumi.getter(name="targetObjects")
1208
+ def target_objects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1209
+ """
1210
+ The list of target objects.
1211
+ """
1212
+ return pulumi.get(self, "target_objects")
1213
+
1214
+ @target_objects.setter
1215
+ def target_objects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1216
+ pulumi.set(self, "target_objects", value)
1217
+
1218
+
1219
+ if not MYPY:
1220
+ class UserSetArgsDict(TypedDict):
1221
+ """
1222
+ The detail of a user.
1223
+ """
1224
+ description: NotRequired[pulumi.Input[str]]
1225
+ """
1226
+ The description of the user.
1227
+ """
1228
+ id: NotRequired[pulumi.Input[str]]
1229
+ """
1230
+ The object id of the user.
1231
+ """
1232
+ is_backup: NotRequired[pulumi.Input[bool]]
1233
+ """
1234
+ The value indicating whether the user is a backup fallback approver
1235
+ """
1236
+ user_type: NotRequired[pulumi.Input[Union[str, 'UserType']]]
1237
+ """
1238
+ The type of user.
1239
+ """
1240
+ elif False:
1241
+ UserSetArgsDict: TypeAlias = Mapping[str, Any]
1242
+
1243
+ @pulumi.input_type
1244
+ class UserSetArgs:
1245
+ def __init__(__self__, *,
1246
+ description: Optional[pulumi.Input[str]] = None,
1247
+ id: Optional[pulumi.Input[str]] = None,
1248
+ is_backup: Optional[pulumi.Input[bool]] = None,
1249
+ user_type: Optional[pulumi.Input[Union[str, 'UserType']]] = None):
1250
+ """
1251
+ The detail of a user.
1252
+ :param pulumi.Input[str] description: The description of the user.
1253
+ :param pulumi.Input[str] id: The object id of the user.
1254
+ :param pulumi.Input[bool] is_backup: The value indicating whether the user is a backup fallback approver
1255
+ :param pulumi.Input[Union[str, 'UserType']] user_type: The type of user.
1256
+ """
1257
+ if description is not None:
1258
+ pulumi.set(__self__, "description", description)
1259
+ if id is not None:
1260
+ pulumi.set(__self__, "id", id)
1261
+ if is_backup is not None:
1262
+ pulumi.set(__self__, "is_backup", is_backup)
1263
+ if user_type is not None:
1264
+ pulumi.set(__self__, "user_type", user_type)
1265
+
1266
+ @property
1267
+ @pulumi.getter
1268
+ def description(self) -> Optional[pulumi.Input[str]]:
1269
+ """
1270
+ The description of the user.
1271
+ """
1272
+ return pulumi.get(self, "description")
1273
+
1274
+ @description.setter
1275
+ def description(self, value: Optional[pulumi.Input[str]]):
1276
+ pulumi.set(self, "description", value)
1277
+
1278
+ @property
1279
+ @pulumi.getter
1280
+ def id(self) -> Optional[pulumi.Input[str]]:
1281
+ """
1282
+ The object id of the user.
1283
+ """
1284
+ return pulumi.get(self, "id")
1285
+
1286
+ @id.setter
1287
+ def id(self, value: Optional[pulumi.Input[str]]):
1288
+ pulumi.set(self, "id", value)
1289
+
1290
+ @property
1291
+ @pulumi.getter(name="isBackup")
1292
+ def is_backup(self) -> Optional[pulumi.Input[bool]]:
1293
+ """
1294
+ The value indicating whether the user is a backup fallback approver
1295
+ """
1296
+ return pulumi.get(self, "is_backup")
1297
+
1298
+ @is_backup.setter
1299
+ def is_backup(self, value: Optional[pulumi.Input[bool]]):
1300
+ pulumi.set(self, "is_backup", value)
1301
+
1302
+ @property
1303
+ @pulumi.getter(name="userType")
1304
+ def user_type(self) -> Optional[pulumi.Input[Union[str, 'UserType']]]:
1305
+ """
1306
+ The type of user.
1307
+ """
1308
+ return pulumi.get(self, "user_type")
1309
+
1310
+ @user_type.setter
1311
+ def user_type(self, value: Optional[pulumi.Input[Union[str, 'UserType']]]):
1312
+ pulumi.set(self, "user_type", value)
1313
+
1314
+
1315
+ if not MYPY:
1316
+ class UsersOrServicePrincipalSetArgsDict(TypedDict):
1317
+ """
1318
+ The detail of a subject.
1319
+ """
1320
+ display_name: NotRequired[pulumi.Input[str]]
1321
+ """
1322
+ The display Name of the entity.
1323
+ """
1324
+ id: NotRequired[pulumi.Input[str]]
1325
+ """
1326
+ The object id of the entity.
1327
+ """
1328
+ type: NotRequired[pulumi.Input[Union[str, 'UserType']]]
1329
+ """
1330
+ The type of user.
1331
+ """
1332
+ elif False:
1333
+ UsersOrServicePrincipalSetArgsDict: TypeAlias = Mapping[str, Any]
1334
+
1335
+ @pulumi.input_type
1336
+ class UsersOrServicePrincipalSetArgs:
1337
+ def __init__(__self__, *,
1338
+ display_name: Optional[pulumi.Input[str]] = None,
1339
+ id: Optional[pulumi.Input[str]] = None,
1340
+ type: Optional[pulumi.Input[Union[str, 'UserType']]] = None):
1341
+ """
1342
+ The detail of a subject.
1343
+ :param pulumi.Input[str] display_name: The display Name of the entity.
1344
+ :param pulumi.Input[str] id: The object id of the entity.
1345
+ :param pulumi.Input[Union[str, 'UserType']] type: The type of user.
1346
+ """
1347
+ if display_name is not None:
1348
+ pulumi.set(__self__, "display_name", display_name)
1349
+ if id is not None:
1350
+ pulumi.set(__self__, "id", id)
1351
+ if type is not None:
1352
+ pulumi.set(__self__, "type", type)
1353
+
1354
+ @property
1355
+ @pulumi.getter(name="displayName")
1356
+ def display_name(self) -> Optional[pulumi.Input[str]]:
1357
+ """
1358
+ The display Name of the entity.
1359
+ """
1360
+ return pulumi.get(self, "display_name")
1361
+
1362
+ @display_name.setter
1363
+ def display_name(self, value: Optional[pulumi.Input[str]]):
1364
+ pulumi.set(self, "display_name", value)
1365
+
1366
+ @property
1367
+ @pulumi.getter
1368
+ def id(self) -> Optional[pulumi.Input[str]]:
1369
+ """
1370
+ The object id of the entity.
1371
+ """
1372
+ return pulumi.get(self, "id")
1373
+
1374
+ @id.setter
1375
+ def id(self, value: Optional[pulumi.Input[str]]):
1376
+ pulumi.set(self, "id", value)
1377
+
1378
+ @property
1379
+ @pulumi.getter
1380
+ def type(self) -> Optional[pulumi.Input[Union[str, 'UserType']]]:
1381
+ """
1382
+ The type of user.
1383
+ """
1384
+ return pulumi.get(self, "type")
1385
+
1386
+ @type.setter
1387
+ def type(self, value: Optional[pulumi.Input[Union[str, 'UserType']]]):
1388
+ pulumi.set(self, "type", value)
1389
+
1390
+