pulumi-azure-native 2.44.0a1717167674__py3-none-any.whl → 2.44.0a1717427766__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 (24) hide show
  1. pulumi_azure_native/__init__.py +3 -0
  2. pulumi_azure_native/authorization/__init__.py +2 -0
  3. pulumi_azure_native/authorization/_enums.py +70 -0
  4. pulumi_azure_native/authorization/_inputs.py +838 -0
  5. pulumi_azure_native/authorization/get_role_management_policy.py +228 -0
  6. pulumi_azure_native/authorization/outputs.py +88 -0
  7. pulumi_azure_native/authorization/role_management_policy.py +327 -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 +853 -0
  11. pulumi_azure_native/authorization/v20201001/get_role_management_policy.py +222 -0
  12. pulumi_azure_native/authorization/v20201001/outputs.py +89 -0
  13. pulumi_azure_native/authorization/v20201001/role_management_policy.py +321 -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 +853 -0
  17. pulumi_azure_native/authorization/v20201001preview/get_role_management_policy.py +222 -0
  18. pulumi_azure_native/authorization/v20201001preview/outputs.py +959 -0
  19. pulumi_azure_native/authorization/v20201001preview/role_management_policy.py +321 -0
  20. pulumi_azure_native/pulumi-plugin.json +1 -1
  21. {pulumi_azure_native-2.44.0a1717167674.dist-info → pulumi_azure_native-2.44.0a1717427766.dist-info}/METADATA +1 -1
  22. {pulumi_azure_native-2.44.0a1717167674.dist-info → pulumi_azure_native-2.44.0a1717427766.dist-info}/RECORD +24 -14
  23. {pulumi_azure_native-2.44.0a1717167674.dist-info → pulumi_azure_native-2.44.0a1717427766.dist-info}/WHEEL +0 -0
  24. {pulumi_azure_native-2.44.0a1717167674.dist-info → pulumi_azure_native-2.44.0a1717427766.dist-info}/top_level.txt +0 -0
@@ -9,15 +9,233 @@ import pulumi.runtime
9
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from ... import _utilities
11
11
  from . import outputs
12
+ from ._enums import *
12
13
 
13
14
  __all__ = [
15
+ 'ApprovalSettingsResponse',
16
+ 'ApprovalStageResponse',
14
17
  'PolicyAssignmentPropertiesResponse',
15
18
  'PolicyAssignmentPropertiesResponsePolicy',
16
19
  'PolicyAssignmentPropertiesResponseRoleDefinition',
17
20
  'PolicyAssignmentPropertiesResponseScope',
21
+ 'PolicyPropertiesResponse',
22
+ 'PolicyPropertiesResponseScope',
18
23
  'PrincipalResponse',
24
+ 'RoleManagementPolicyApprovalRuleResponse',
25
+ 'RoleManagementPolicyAuthenticationContextRuleResponse',
26
+ 'RoleManagementPolicyEnablementRuleResponse',
27
+ 'RoleManagementPolicyExpirationRuleResponse',
28
+ 'RoleManagementPolicyNotificationRuleResponse',
29
+ 'RoleManagementPolicyRuleTargetResponse',
30
+ 'UserSetResponse',
19
31
  ]
20
32
 
33
+ @pulumi.output_type
34
+ class ApprovalSettingsResponse(dict):
35
+ """
36
+ The approval settings.
37
+ """
38
+ @staticmethod
39
+ def __key_warning(key: str):
40
+ suggest = None
41
+ if key == "approvalMode":
42
+ suggest = "approval_mode"
43
+ elif key == "approvalStages":
44
+ suggest = "approval_stages"
45
+ elif key == "isApprovalRequired":
46
+ suggest = "is_approval_required"
47
+ elif key == "isApprovalRequiredForExtension":
48
+ suggest = "is_approval_required_for_extension"
49
+ elif key == "isRequestorJustificationRequired":
50
+ suggest = "is_requestor_justification_required"
51
+
52
+ if suggest:
53
+ pulumi.log.warn(f"Key '{key}' not found in ApprovalSettingsResponse. Access the value via the '{suggest}' property getter instead.")
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ ApprovalSettingsResponse.__key_warning(key)
57
+ return super().__getitem__(key)
58
+
59
+ def get(self, key: str, default = None) -> Any:
60
+ ApprovalSettingsResponse.__key_warning(key)
61
+ return super().get(key, default)
62
+
63
+ def __init__(__self__, *,
64
+ approval_mode: Optional[str] = None,
65
+ approval_stages: Optional[Sequence['outputs.ApprovalStageResponse']] = None,
66
+ is_approval_required: Optional[bool] = None,
67
+ is_approval_required_for_extension: Optional[bool] = None,
68
+ is_requestor_justification_required: Optional[bool] = None):
69
+ """
70
+ The approval settings.
71
+ :param str approval_mode: The type of rule
72
+ :param Sequence['ApprovalStageResponse'] approval_stages: The approval stages of the request.
73
+ :param bool is_approval_required: Determines whether approval is required or not.
74
+ :param bool is_approval_required_for_extension: Determines whether approval is required for assignment extension.
75
+ :param bool is_requestor_justification_required: Determine whether requestor justification is required.
76
+ """
77
+ if approval_mode is not None:
78
+ pulumi.set(__self__, "approval_mode", approval_mode)
79
+ if approval_stages is not None:
80
+ pulumi.set(__self__, "approval_stages", approval_stages)
81
+ if is_approval_required is not None:
82
+ pulumi.set(__self__, "is_approval_required", is_approval_required)
83
+ if is_approval_required_for_extension is not None:
84
+ pulumi.set(__self__, "is_approval_required_for_extension", is_approval_required_for_extension)
85
+ if is_requestor_justification_required is not None:
86
+ pulumi.set(__self__, "is_requestor_justification_required", is_requestor_justification_required)
87
+
88
+ @property
89
+ @pulumi.getter(name="approvalMode")
90
+ def approval_mode(self) -> Optional[str]:
91
+ """
92
+ The type of rule
93
+ """
94
+ return pulumi.get(self, "approval_mode")
95
+
96
+ @property
97
+ @pulumi.getter(name="approvalStages")
98
+ def approval_stages(self) -> Optional[Sequence['outputs.ApprovalStageResponse']]:
99
+ """
100
+ The approval stages of the request.
101
+ """
102
+ return pulumi.get(self, "approval_stages")
103
+
104
+ @property
105
+ @pulumi.getter(name="isApprovalRequired")
106
+ def is_approval_required(self) -> Optional[bool]:
107
+ """
108
+ Determines whether approval is required or not.
109
+ """
110
+ return pulumi.get(self, "is_approval_required")
111
+
112
+ @property
113
+ @pulumi.getter(name="isApprovalRequiredForExtension")
114
+ def is_approval_required_for_extension(self) -> Optional[bool]:
115
+ """
116
+ Determines whether approval is required for assignment extension.
117
+ """
118
+ return pulumi.get(self, "is_approval_required_for_extension")
119
+
120
+ @property
121
+ @pulumi.getter(name="isRequestorJustificationRequired")
122
+ def is_requestor_justification_required(self) -> Optional[bool]:
123
+ """
124
+ Determine whether requestor justification is required.
125
+ """
126
+ return pulumi.get(self, "is_requestor_justification_required")
127
+
128
+
129
+ @pulumi.output_type
130
+ class ApprovalStageResponse(dict):
131
+ """
132
+ The approval stage.
133
+ """
134
+ @staticmethod
135
+ def __key_warning(key: str):
136
+ suggest = None
137
+ if key == "approvalStageTimeOutInDays":
138
+ suggest = "approval_stage_time_out_in_days"
139
+ elif key == "escalationApprovers":
140
+ suggest = "escalation_approvers"
141
+ elif key == "escalationTimeInMinutes":
142
+ suggest = "escalation_time_in_minutes"
143
+ elif key == "isApproverJustificationRequired":
144
+ suggest = "is_approver_justification_required"
145
+ elif key == "isEscalationEnabled":
146
+ suggest = "is_escalation_enabled"
147
+ elif key == "primaryApprovers":
148
+ suggest = "primary_approvers"
149
+
150
+ if suggest:
151
+ pulumi.log.warn(f"Key '{key}' not found in ApprovalStageResponse. Access the value via the '{suggest}' property getter instead.")
152
+
153
+ def __getitem__(self, key: str) -> Any:
154
+ ApprovalStageResponse.__key_warning(key)
155
+ return super().__getitem__(key)
156
+
157
+ def get(self, key: str, default = None) -> Any:
158
+ ApprovalStageResponse.__key_warning(key)
159
+ return super().get(key, default)
160
+
161
+ def __init__(__self__, *,
162
+ approval_stage_time_out_in_days: Optional[int] = None,
163
+ escalation_approvers: Optional[Sequence['outputs.UserSetResponse']] = None,
164
+ escalation_time_in_minutes: Optional[int] = None,
165
+ is_approver_justification_required: Optional[bool] = None,
166
+ is_escalation_enabled: Optional[bool] = None,
167
+ primary_approvers: Optional[Sequence['outputs.UserSetResponse']] = None):
168
+ """
169
+ The approval stage.
170
+ :param int approval_stage_time_out_in_days: The time in days when approval request would be timed out
171
+ :param Sequence['UserSetResponse'] escalation_approvers: The escalation approver of the request.
172
+ :param int escalation_time_in_minutes: The time in minutes when the approval request would be escalated if the primary approver does not approve
173
+ :param bool is_approver_justification_required: Determines whether approver need to provide justification for his decision.
174
+ :param bool is_escalation_enabled: The value determine whether escalation feature is enabled.
175
+ :param Sequence['UserSetResponse'] primary_approvers: The primary approver of the request.
176
+ """
177
+ if approval_stage_time_out_in_days is not None:
178
+ pulumi.set(__self__, "approval_stage_time_out_in_days", approval_stage_time_out_in_days)
179
+ if escalation_approvers is not None:
180
+ pulumi.set(__self__, "escalation_approvers", escalation_approvers)
181
+ if escalation_time_in_minutes is not None:
182
+ pulumi.set(__self__, "escalation_time_in_minutes", escalation_time_in_minutes)
183
+ if is_approver_justification_required is not None:
184
+ pulumi.set(__self__, "is_approver_justification_required", is_approver_justification_required)
185
+ if is_escalation_enabled is not None:
186
+ pulumi.set(__self__, "is_escalation_enabled", is_escalation_enabled)
187
+ if primary_approvers is not None:
188
+ pulumi.set(__self__, "primary_approvers", primary_approvers)
189
+
190
+ @property
191
+ @pulumi.getter(name="approvalStageTimeOutInDays")
192
+ def approval_stage_time_out_in_days(self) -> Optional[int]:
193
+ """
194
+ The time in days when approval request would be timed out
195
+ """
196
+ return pulumi.get(self, "approval_stage_time_out_in_days")
197
+
198
+ @property
199
+ @pulumi.getter(name="escalationApprovers")
200
+ def escalation_approvers(self) -> Optional[Sequence['outputs.UserSetResponse']]:
201
+ """
202
+ The escalation approver of the request.
203
+ """
204
+ return pulumi.get(self, "escalation_approvers")
205
+
206
+ @property
207
+ @pulumi.getter(name="escalationTimeInMinutes")
208
+ def escalation_time_in_minutes(self) -> Optional[int]:
209
+ """
210
+ The time in minutes when the approval request would be escalated if the primary approver does not approve
211
+ """
212
+ return pulumi.get(self, "escalation_time_in_minutes")
213
+
214
+ @property
215
+ @pulumi.getter(name="isApproverJustificationRequired")
216
+ def is_approver_justification_required(self) -> Optional[bool]:
217
+ """
218
+ Determines whether approver need to provide justification for his decision.
219
+ """
220
+ return pulumi.get(self, "is_approver_justification_required")
221
+
222
+ @property
223
+ @pulumi.getter(name="isEscalationEnabled")
224
+ def is_escalation_enabled(self) -> Optional[bool]:
225
+ """
226
+ The value determine whether escalation feature is enabled.
227
+ """
228
+ return pulumi.get(self, "is_escalation_enabled")
229
+
230
+ @property
231
+ @pulumi.getter(name="primaryApprovers")
232
+ def primary_approvers(self) -> Optional[Sequence['outputs.UserSetResponse']]:
233
+ """
234
+ The primary approver of the request.
235
+ """
236
+ return pulumi.get(self, "primary_approvers")
237
+
238
+
21
239
  @pulumi.output_type
22
240
  class PolicyAssignmentPropertiesResponse(dict):
23
241
  @staticmethod
@@ -271,6 +489,88 @@ class PolicyAssignmentPropertiesResponseScope(dict):
271
489
  return pulumi.get(self, "type")
272
490
 
273
491
 
492
+ @pulumi.output_type
493
+ class PolicyPropertiesResponse(dict):
494
+ def __init__(__self__, *,
495
+ scope: 'outputs.PolicyPropertiesResponseScope'):
496
+ """
497
+ :param 'PolicyPropertiesResponseScope' scope: Details of the resource scope
498
+ """
499
+ pulumi.set(__self__, "scope", scope)
500
+
501
+ @property
502
+ @pulumi.getter
503
+ def scope(self) -> 'outputs.PolicyPropertiesResponseScope':
504
+ """
505
+ Details of the resource scope
506
+ """
507
+ return pulumi.get(self, "scope")
508
+
509
+
510
+ @pulumi.output_type
511
+ class PolicyPropertiesResponseScope(dict):
512
+ """
513
+ Details of the resource scope
514
+ """
515
+ @staticmethod
516
+ def __key_warning(key: str):
517
+ suggest = None
518
+ if key == "displayName":
519
+ suggest = "display_name"
520
+
521
+ if suggest:
522
+ pulumi.log.warn(f"Key '{key}' not found in PolicyPropertiesResponseScope. Access the value via the '{suggest}' property getter instead.")
523
+
524
+ def __getitem__(self, key: str) -> Any:
525
+ PolicyPropertiesResponseScope.__key_warning(key)
526
+ return super().__getitem__(key)
527
+
528
+ def get(self, key: str, default = None) -> Any:
529
+ PolicyPropertiesResponseScope.__key_warning(key)
530
+ return super().get(key, default)
531
+
532
+ def __init__(__self__, *,
533
+ display_name: Optional[str] = None,
534
+ id: Optional[str] = None,
535
+ type: Optional[str] = None):
536
+ """
537
+ Details of the resource scope
538
+ :param str display_name: Display name of the resource
539
+ :param str id: Scope id of the resource
540
+ :param str type: Type of the resource
541
+ """
542
+ if display_name is not None:
543
+ pulumi.set(__self__, "display_name", display_name)
544
+ if id is not None:
545
+ pulumi.set(__self__, "id", id)
546
+ if type is not None:
547
+ pulumi.set(__self__, "type", type)
548
+
549
+ @property
550
+ @pulumi.getter(name="displayName")
551
+ def display_name(self) -> Optional[str]:
552
+ """
553
+ Display name of the resource
554
+ """
555
+ return pulumi.get(self, "display_name")
556
+
557
+ @property
558
+ @pulumi.getter
559
+ def id(self) -> Optional[str]:
560
+ """
561
+ Scope id of the resource
562
+ """
563
+ return pulumi.get(self, "id")
564
+
565
+ @property
566
+ @pulumi.getter
567
+ def type(self) -> Optional[str]:
568
+ """
569
+ Type of the resource
570
+ """
571
+ return pulumi.get(self, "type")
572
+
573
+
274
574
  @pulumi.output_type
275
575
  class PrincipalResponse(dict):
276
576
  """
@@ -347,3 +647,662 @@ class PrincipalResponse(dict):
347
647
  return pulumi.get(self, "type")
348
648
 
349
649
 
650
+ @pulumi.output_type
651
+ class RoleManagementPolicyApprovalRuleResponse(dict):
652
+ """
653
+ The role management policy approval rule.
654
+ """
655
+ @staticmethod
656
+ def __key_warning(key: str):
657
+ suggest = None
658
+ if key == "ruleType":
659
+ suggest = "rule_type"
660
+
661
+ if suggest:
662
+ pulumi.log.warn(f"Key '{key}' not found in RoleManagementPolicyApprovalRuleResponse. Access the value via the '{suggest}' property getter instead.")
663
+
664
+ def __getitem__(self, key: str) -> Any:
665
+ RoleManagementPolicyApprovalRuleResponse.__key_warning(key)
666
+ return super().__getitem__(key)
667
+
668
+ def get(self, key: str, default = None) -> Any:
669
+ RoleManagementPolicyApprovalRuleResponse.__key_warning(key)
670
+ return super().get(key, default)
671
+
672
+ def __init__(__self__, *,
673
+ rule_type: str,
674
+ id: Optional[str] = None,
675
+ setting: Optional['outputs.ApprovalSettingsResponse'] = None,
676
+ target: Optional['outputs.RoleManagementPolicyRuleTargetResponse'] = None):
677
+ """
678
+ The role management policy approval rule.
679
+ :param str rule_type: The type of rule
680
+ Expected value is 'RoleManagementPolicyApprovalRule'.
681
+ :param str id: The id of the rule.
682
+ :param 'ApprovalSettingsResponse' setting: The approval setting
683
+ :param 'RoleManagementPolicyRuleTargetResponse' target: The target of the current rule.
684
+ """
685
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyApprovalRule')
686
+ if id is not None:
687
+ pulumi.set(__self__, "id", id)
688
+ if setting is not None:
689
+ pulumi.set(__self__, "setting", setting)
690
+ if target is not None:
691
+ pulumi.set(__self__, "target", target)
692
+
693
+ @property
694
+ @pulumi.getter(name="ruleType")
695
+ def rule_type(self) -> str:
696
+ """
697
+ The type of rule
698
+ Expected value is 'RoleManagementPolicyApprovalRule'.
699
+ """
700
+ return pulumi.get(self, "rule_type")
701
+
702
+ @property
703
+ @pulumi.getter
704
+ def id(self) -> Optional[str]:
705
+ """
706
+ The id of the rule.
707
+ """
708
+ return pulumi.get(self, "id")
709
+
710
+ @property
711
+ @pulumi.getter
712
+ def setting(self) -> Optional['outputs.ApprovalSettingsResponse']:
713
+ """
714
+ The approval setting
715
+ """
716
+ return pulumi.get(self, "setting")
717
+
718
+ @property
719
+ @pulumi.getter
720
+ def target(self) -> Optional['outputs.RoleManagementPolicyRuleTargetResponse']:
721
+ """
722
+ The target of the current rule.
723
+ """
724
+ return pulumi.get(self, "target")
725
+
726
+
727
+ @pulumi.output_type
728
+ class RoleManagementPolicyAuthenticationContextRuleResponse(dict):
729
+ """
730
+ The role management policy authentication context rule.
731
+ """
732
+ @staticmethod
733
+ def __key_warning(key: str):
734
+ suggest = None
735
+ if key == "ruleType":
736
+ suggest = "rule_type"
737
+ elif key == "claimValue":
738
+ suggest = "claim_value"
739
+ elif key == "isEnabled":
740
+ suggest = "is_enabled"
741
+
742
+ if suggest:
743
+ pulumi.log.warn(f"Key '{key}' not found in RoleManagementPolicyAuthenticationContextRuleResponse. Access the value via the '{suggest}' property getter instead.")
744
+
745
+ def __getitem__(self, key: str) -> Any:
746
+ RoleManagementPolicyAuthenticationContextRuleResponse.__key_warning(key)
747
+ return super().__getitem__(key)
748
+
749
+ def get(self, key: str, default = None) -> Any:
750
+ RoleManagementPolicyAuthenticationContextRuleResponse.__key_warning(key)
751
+ return super().get(key, default)
752
+
753
+ def __init__(__self__, *,
754
+ rule_type: str,
755
+ claim_value: Optional[str] = None,
756
+ id: Optional[str] = None,
757
+ is_enabled: Optional[bool] = None,
758
+ target: Optional['outputs.RoleManagementPolicyRuleTargetResponse'] = None):
759
+ """
760
+ The role management policy authentication context rule.
761
+ :param str rule_type: The type of rule
762
+ Expected value is 'RoleManagementPolicyAuthenticationContextRule'.
763
+ :param str claim_value: The claim value.
764
+ :param str id: The id of the rule.
765
+ :param bool is_enabled: The value indicating if rule is enabled.
766
+ :param 'RoleManagementPolicyRuleTargetResponse' target: The target of the current rule.
767
+ """
768
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyAuthenticationContextRule')
769
+ if claim_value is not None:
770
+ pulumi.set(__self__, "claim_value", claim_value)
771
+ if id is not None:
772
+ pulumi.set(__self__, "id", id)
773
+ if is_enabled is not None:
774
+ pulumi.set(__self__, "is_enabled", is_enabled)
775
+ if target is not None:
776
+ pulumi.set(__self__, "target", target)
777
+
778
+ @property
779
+ @pulumi.getter(name="ruleType")
780
+ def rule_type(self) -> str:
781
+ """
782
+ The type of rule
783
+ Expected value is 'RoleManagementPolicyAuthenticationContextRule'.
784
+ """
785
+ return pulumi.get(self, "rule_type")
786
+
787
+ @property
788
+ @pulumi.getter(name="claimValue")
789
+ def claim_value(self) -> Optional[str]:
790
+ """
791
+ The claim value.
792
+ """
793
+ return pulumi.get(self, "claim_value")
794
+
795
+ @property
796
+ @pulumi.getter
797
+ def id(self) -> Optional[str]:
798
+ """
799
+ The id of the rule.
800
+ """
801
+ return pulumi.get(self, "id")
802
+
803
+ @property
804
+ @pulumi.getter(name="isEnabled")
805
+ def is_enabled(self) -> Optional[bool]:
806
+ """
807
+ The value indicating if rule is enabled.
808
+ """
809
+ return pulumi.get(self, "is_enabled")
810
+
811
+ @property
812
+ @pulumi.getter
813
+ def target(self) -> Optional['outputs.RoleManagementPolicyRuleTargetResponse']:
814
+ """
815
+ The target of the current rule.
816
+ """
817
+ return pulumi.get(self, "target")
818
+
819
+
820
+ @pulumi.output_type
821
+ class RoleManagementPolicyEnablementRuleResponse(dict):
822
+ """
823
+ The role management policy rule.
824
+ """
825
+ @staticmethod
826
+ def __key_warning(key: str):
827
+ suggest = None
828
+ if key == "ruleType":
829
+ suggest = "rule_type"
830
+ elif key == "enabledRules":
831
+ suggest = "enabled_rules"
832
+
833
+ if suggest:
834
+ pulumi.log.warn(f"Key '{key}' not found in RoleManagementPolicyEnablementRuleResponse. Access the value via the '{suggest}' property getter instead.")
835
+
836
+ def __getitem__(self, key: str) -> Any:
837
+ RoleManagementPolicyEnablementRuleResponse.__key_warning(key)
838
+ return super().__getitem__(key)
839
+
840
+ def get(self, key: str, default = None) -> Any:
841
+ RoleManagementPolicyEnablementRuleResponse.__key_warning(key)
842
+ return super().get(key, default)
843
+
844
+ def __init__(__self__, *,
845
+ rule_type: str,
846
+ enabled_rules: Optional[Sequence[str]] = None,
847
+ id: Optional[str] = None,
848
+ target: Optional['outputs.RoleManagementPolicyRuleTargetResponse'] = None):
849
+ """
850
+ The role management policy rule.
851
+ :param str rule_type: The type of rule
852
+ Expected value is 'RoleManagementPolicyEnablementRule'.
853
+ :param Sequence[str] enabled_rules: The list of enabled rules.
854
+ :param str id: The id of the rule.
855
+ :param 'RoleManagementPolicyRuleTargetResponse' target: The target of the current rule.
856
+ """
857
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyEnablementRule')
858
+ if enabled_rules is not None:
859
+ pulumi.set(__self__, "enabled_rules", enabled_rules)
860
+ if id is not None:
861
+ pulumi.set(__self__, "id", id)
862
+ if target is not None:
863
+ pulumi.set(__self__, "target", target)
864
+
865
+ @property
866
+ @pulumi.getter(name="ruleType")
867
+ def rule_type(self) -> str:
868
+ """
869
+ The type of rule
870
+ Expected value is 'RoleManagementPolicyEnablementRule'.
871
+ """
872
+ return pulumi.get(self, "rule_type")
873
+
874
+ @property
875
+ @pulumi.getter(name="enabledRules")
876
+ def enabled_rules(self) -> Optional[Sequence[str]]:
877
+ """
878
+ The list of enabled rules.
879
+ """
880
+ return pulumi.get(self, "enabled_rules")
881
+
882
+ @property
883
+ @pulumi.getter
884
+ def id(self) -> Optional[str]:
885
+ """
886
+ The id of the rule.
887
+ """
888
+ return pulumi.get(self, "id")
889
+
890
+ @property
891
+ @pulumi.getter
892
+ def target(self) -> Optional['outputs.RoleManagementPolicyRuleTargetResponse']:
893
+ """
894
+ The target of the current rule.
895
+ """
896
+ return pulumi.get(self, "target")
897
+
898
+
899
+ @pulumi.output_type
900
+ class RoleManagementPolicyExpirationRuleResponse(dict):
901
+ """
902
+ The role management policy expiration rule.
903
+ """
904
+ @staticmethod
905
+ def __key_warning(key: str):
906
+ suggest = None
907
+ if key == "ruleType":
908
+ suggest = "rule_type"
909
+ elif key == "isExpirationRequired":
910
+ suggest = "is_expiration_required"
911
+ elif key == "maximumDuration":
912
+ suggest = "maximum_duration"
913
+
914
+ if suggest:
915
+ pulumi.log.warn(f"Key '{key}' not found in RoleManagementPolicyExpirationRuleResponse. Access the value via the '{suggest}' property getter instead.")
916
+
917
+ def __getitem__(self, key: str) -> Any:
918
+ RoleManagementPolicyExpirationRuleResponse.__key_warning(key)
919
+ return super().__getitem__(key)
920
+
921
+ def get(self, key: str, default = None) -> Any:
922
+ RoleManagementPolicyExpirationRuleResponse.__key_warning(key)
923
+ return super().get(key, default)
924
+
925
+ def __init__(__self__, *,
926
+ rule_type: str,
927
+ id: Optional[str] = None,
928
+ is_expiration_required: Optional[bool] = None,
929
+ maximum_duration: Optional[str] = None,
930
+ target: Optional['outputs.RoleManagementPolicyRuleTargetResponse'] = None):
931
+ """
932
+ The role management policy expiration rule.
933
+ :param str rule_type: The type of rule
934
+ Expected value is 'RoleManagementPolicyExpirationRule'.
935
+ :param str id: The id of the rule.
936
+ :param bool is_expiration_required: The value indicating whether expiration is required.
937
+ :param str maximum_duration: The maximum duration of expiration in timespan.
938
+ :param 'RoleManagementPolicyRuleTargetResponse' target: The target of the current rule.
939
+ """
940
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyExpirationRule')
941
+ if id is not None:
942
+ pulumi.set(__self__, "id", id)
943
+ if is_expiration_required is not None:
944
+ pulumi.set(__self__, "is_expiration_required", is_expiration_required)
945
+ if maximum_duration is not None:
946
+ pulumi.set(__self__, "maximum_duration", maximum_duration)
947
+ if target is not None:
948
+ pulumi.set(__self__, "target", target)
949
+
950
+ @property
951
+ @pulumi.getter(name="ruleType")
952
+ def rule_type(self) -> str:
953
+ """
954
+ The type of rule
955
+ Expected value is 'RoleManagementPolicyExpirationRule'.
956
+ """
957
+ return pulumi.get(self, "rule_type")
958
+
959
+ @property
960
+ @pulumi.getter
961
+ def id(self) -> Optional[str]:
962
+ """
963
+ The id of the rule.
964
+ """
965
+ return pulumi.get(self, "id")
966
+
967
+ @property
968
+ @pulumi.getter(name="isExpirationRequired")
969
+ def is_expiration_required(self) -> Optional[bool]:
970
+ """
971
+ The value indicating whether expiration is required.
972
+ """
973
+ return pulumi.get(self, "is_expiration_required")
974
+
975
+ @property
976
+ @pulumi.getter(name="maximumDuration")
977
+ def maximum_duration(self) -> Optional[str]:
978
+ """
979
+ The maximum duration of expiration in timespan.
980
+ """
981
+ return pulumi.get(self, "maximum_duration")
982
+
983
+ @property
984
+ @pulumi.getter
985
+ def target(self) -> Optional['outputs.RoleManagementPolicyRuleTargetResponse']:
986
+ """
987
+ The target of the current rule.
988
+ """
989
+ return pulumi.get(self, "target")
990
+
991
+
992
+ @pulumi.output_type
993
+ class RoleManagementPolicyNotificationRuleResponse(dict):
994
+ """
995
+ The role management policy notification rule.
996
+ """
997
+ @staticmethod
998
+ def __key_warning(key: str):
999
+ suggest = None
1000
+ if key == "ruleType":
1001
+ suggest = "rule_type"
1002
+ elif key == "isDefaultRecipientsEnabled":
1003
+ suggest = "is_default_recipients_enabled"
1004
+ elif key == "notificationLevel":
1005
+ suggest = "notification_level"
1006
+ elif key == "notificationRecipients":
1007
+ suggest = "notification_recipients"
1008
+ elif key == "notificationType":
1009
+ suggest = "notification_type"
1010
+ elif key == "recipientType":
1011
+ suggest = "recipient_type"
1012
+
1013
+ if suggest:
1014
+ pulumi.log.warn(f"Key '{key}' not found in RoleManagementPolicyNotificationRuleResponse. Access the value via the '{suggest}' property getter instead.")
1015
+
1016
+ def __getitem__(self, key: str) -> Any:
1017
+ RoleManagementPolicyNotificationRuleResponse.__key_warning(key)
1018
+ return super().__getitem__(key)
1019
+
1020
+ def get(self, key: str, default = None) -> Any:
1021
+ RoleManagementPolicyNotificationRuleResponse.__key_warning(key)
1022
+ return super().get(key, default)
1023
+
1024
+ def __init__(__self__, *,
1025
+ rule_type: str,
1026
+ id: Optional[str] = None,
1027
+ is_default_recipients_enabled: Optional[bool] = None,
1028
+ notification_level: Optional[str] = None,
1029
+ notification_recipients: Optional[Sequence[str]] = None,
1030
+ notification_type: Optional[str] = None,
1031
+ recipient_type: Optional[str] = None,
1032
+ target: Optional['outputs.RoleManagementPolicyRuleTargetResponse'] = None):
1033
+ """
1034
+ The role management policy notification rule.
1035
+ :param str rule_type: The type of rule
1036
+ Expected value is 'RoleManagementPolicyNotificationRule'.
1037
+ :param str id: The id of the rule.
1038
+ :param bool is_default_recipients_enabled: Determines if the notification will be sent to the recipient type specified in the policy rule.
1039
+ :param str notification_level: The notification level.
1040
+ :param Sequence[str] notification_recipients: The list of notification recipients.
1041
+ :param str notification_type: The type of notification.
1042
+ :param str recipient_type: The recipient type.
1043
+ :param 'RoleManagementPolicyRuleTargetResponse' target: The target of the current rule.
1044
+ """
1045
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyNotificationRule')
1046
+ if id is not None:
1047
+ pulumi.set(__self__, "id", id)
1048
+ if is_default_recipients_enabled is not None:
1049
+ pulumi.set(__self__, "is_default_recipients_enabled", is_default_recipients_enabled)
1050
+ if notification_level is not None:
1051
+ pulumi.set(__self__, "notification_level", notification_level)
1052
+ if notification_recipients is not None:
1053
+ pulumi.set(__self__, "notification_recipients", notification_recipients)
1054
+ if notification_type is not None:
1055
+ pulumi.set(__self__, "notification_type", notification_type)
1056
+ if recipient_type is not None:
1057
+ pulumi.set(__self__, "recipient_type", recipient_type)
1058
+ if target is not None:
1059
+ pulumi.set(__self__, "target", target)
1060
+
1061
+ @property
1062
+ @pulumi.getter(name="ruleType")
1063
+ def rule_type(self) -> str:
1064
+ """
1065
+ The type of rule
1066
+ Expected value is 'RoleManagementPolicyNotificationRule'.
1067
+ """
1068
+ return pulumi.get(self, "rule_type")
1069
+
1070
+ @property
1071
+ @pulumi.getter
1072
+ def id(self) -> Optional[str]:
1073
+ """
1074
+ The id of the rule.
1075
+ """
1076
+ return pulumi.get(self, "id")
1077
+
1078
+ @property
1079
+ @pulumi.getter(name="isDefaultRecipientsEnabled")
1080
+ def is_default_recipients_enabled(self) -> Optional[bool]:
1081
+ """
1082
+ Determines if the notification will be sent to the recipient type specified in the policy rule.
1083
+ """
1084
+ return pulumi.get(self, "is_default_recipients_enabled")
1085
+
1086
+ @property
1087
+ @pulumi.getter(name="notificationLevel")
1088
+ def notification_level(self) -> Optional[str]:
1089
+ """
1090
+ The notification level.
1091
+ """
1092
+ return pulumi.get(self, "notification_level")
1093
+
1094
+ @property
1095
+ @pulumi.getter(name="notificationRecipients")
1096
+ def notification_recipients(self) -> Optional[Sequence[str]]:
1097
+ """
1098
+ The list of notification recipients.
1099
+ """
1100
+ return pulumi.get(self, "notification_recipients")
1101
+
1102
+ @property
1103
+ @pulumi.getter(name="notificationType")
1104
+ def notification_type(self) -> Optional[str]:
1105
+ """
1106
+ The type of notification.
1107
+ """
1108
+ return pulumi.get(self, "notification_type")
1109
+
1110
+ @property
1111
+ @pulumi.getter(name="recipientType")
1112
+ def recipient_type(self) -> Optional[str]:
1113
+ """
1114
+ The recipient type.
1115
+ """
1116
+ return pulumi.get(self, "recipient_type")
1117
+
1118
+ @property
1119
+ @pulumi.getter
1120
+ def target(self) -> Optional['outputs.RoleManagementPolicyRuleTargetResponse']:
1121
+ """
1122
+ The target of the current rule.
1123
+ """
1124
+ return pulumi.get(self, "target")
1125
+
1126
+
1127
+ @pulumi.output_type
1128
+ class RoleManagementPolicyRuleTargetResponse(dict):
1129
+ """
1130
+ The role management policy rule target.
1131
+ """
1132
+ @staticmethod
1133
+ def __key_warning(key: str):
1134
+ suggest = None
1135
+ if key == "enforcedSettings":
1136
+ suggest = "enforced_settings"
1137
+ elif key == "inheritableSettings":
1138
+ suggest = "inheritable_settings"
1139
+ elif key == "targetObjects":
1140
+ suggest = "target_objects"
1141
+
1142
+ if suggest:
1143
+ pulumi.log.warn(f"Key '{key}' not found in RoleManagementPolicyRuleTargetResponse. Access the value via the '{suggest}' property getter instead.")
1144
+
1145
+ def __getitem__(self, key: str) -> Any:
1146
+ RoleManagementPolicyRuleTargetResponse.__key_warning(key)
1147
+ return super().__getitem__(key)
1148
+
1149
+ def get(self, key: str, default = None) -> Any:
1150
+ RoleManagementPolicyRuleTargetResponse.__key_warning(key)
1151
+ return super().get(key, default)
1152
+
1153
+ def __init__(__self__, *,
1154
+ caller: Optional[str] = None,
1155
+ enforced_settings: Optional[Sequence[str]] = None,
1156
+ inheritable_settings: Optional[Sequence[str]] = None,
1157
+ level: Optional[str] = None,
1158
+ operations: Optional[Sequence[str]] = None,
1159
+ target_objects: Optional[Sequence[str]] = None):
1160
+ """
1161
+ The role management policy rule target.
1162
+ :param str caller: The caller of the setting.
1163
+ :param Sequence[str] enforced_settings: The list of enforced settings.
1164
+ :param Sequence[str] inheritable_settings: The list of inheritable settings.
1165
+ :param str level: The assignment level to which rule is applied.
1166
+ :param Sequence[str] operations: The type of operation.
1167
+ :param Sequence[str] target_objects: The list of target objects.
1168
+ """
1169
+ if caller is not None:
1170
+ pulumi.set(__self__, "caller", caller)
1171
+ if enforced_settings is not None:
1172
+ pulumi.set(__self__, "enforced_settings", enforced_settings)
1173
+ if inheritable_settings is not None:
1174
+ pulumi.set(__self__, "inheritable_settings", inheritable_settings)
1175
+ if level is not None:
1176
+ pulumi.set(__self__, "level", level)
1177
+ if operations is not None:
1178
+ pulumi.set(__self__, "operations", operations)
1179
+ if target_objects is not None:
1180
+ pulumi.set(__self__, "target_objects", target_objects)
1181
+
1182
+ @property
1183
+ @pulumi.getter
1184
+ def caller(self) -> Optional[str]:
1185
+ """
1186
+ The caller of the setting.
1187
+ """
1188
+ return pulumi.get(self, "caller")
1189
+
1190
+ @property
1191
+ @pulumi.getter(name="enforcedSettings")
1192
+ def enforced_settings(self) -> Optional[Sequence[str]]:
1193
+ """
1194
+ The list of enforced settings.
1195
+ """
1196
+ return pulumi.get(self, "enforced_settings")
1197
+
1198
+ @property
1199
+ @pulumi.getter(name="inheritableSettings")
1200
+ def inheritable_settings(self) -> Optional[Sequence[str]]:
1201
+ """
1202
+ The list of inheritable settings.
1203
+ """
1204
+ return pulumi.get(self, "inheritable_settings")
1205
+
1206
+ @property
1207
+ @pulumi.getter
1208
+ def level(self) -> Optional[str]:
1209
+ """
1210
+ The assignment level to which rule is applied.
1211
+ """
1212
+ return pulumi.get(self, "level")
1213
+
1214
+ @property
1215
+ @pulumi.getter
1216
+ def operations(self) -> Optional[Sequence[str]]:
1217
+ """
1218
+ The type of operation.
1219
+ """
1220
+ return pulumi.get(self, "operations")
1221
+
1222
+ @property
1223
+ @pulumi.getter(name="targetObjects")
1224
+ def target_objects(self) -> Optional[Sequence[str]]:
1225
+ """
1226
+ The list of target objects.
1227
+ """
1228
+ return pulumi.get(self, "target_objects")
1229
+
1230
+
1231
+ @pulumi.output_type
1232
+ class UserSetResponse(dict):
1233
+ """
1234
+ The detail of a user.
1235
+ """
1236
+ @staticmethod
1237
+ def __key_warning(key: str):
1238
+ suggest = None
1239
+ if key == "isBackup":
1240
+ suggest = "is_backup"
1241
+ elif key == "userType":
1242
+ suggest = "user_type"
1243
+
1244
+ if suggest:
1245
+ pulumi.log.warn(f"Key '{key}' not found in UserSetResponse. Access the value via the '{suggest}' property getter instead.")
1246
+
1247
+ def __getitem__(self, key: str) -> Any:
1248
+ UserSetResponse.__key_warning(key)
1249
+ return super().__getitem__(key)
1250
+
1251
+ def get(self, key: str, default = None) -> Any:
1252
+ UserSetResponse.__key_warning(key)
1253
+ return super().get(key, default)
1254
+
1255
+ def __init__(__self__, *,
1256
+ description: Optional[str] = None,
1257
+ id: Optional[str] = None,
1258
+ is_backup: Optional[bool] = None,
1259
+ user_type: Optional[str] = None):
1260
+ """
1261
+ The detail of a user.
1262
+ :param str description: The description of the user.
1263
+ :param str id: The object id of the user.
1264
+ :param bool is_backup: The value indicating whether the user is a backup fallback approver
1265
+ :param str user_type: The type of user.
1266
+ """
1267
+ if description is not None:
1268
+ pulumi.set(__self__, "description", description)
1269
+ if id is not None:
1270
+ pulumi.set(__self__, "id", id)
1271
+ if is_backup is not None:
1272
+ pulumi.set(__self__, "is_backup", is_backup)
1273
+ if user_type is not None:
1274
+ pulumi.set(__self__, "user_type", user_type)
1275
+
1276
+ @property
1277
+ @pulumi.getter
1278
+ def description(self) -> Optional[str]:
1279
+ """
1280
+ The description of the user.
1281
+ """
1282
+ return pulumi.get(self, "description")
1283
+
1284
+ @property
1285
+ @pulumi.getter
1286
+ def id(self) -> Optional[str]:
1287
+ """
1288
+ The object id of the user.
1289
+ """
1290
+ return pulumi.get(self, "id")
1291
+
1292
+ @property
1293
+ @pulumi.getter(name="isBackup")
1294
+ def is_backup(self) -> Optional[bool]:
1295
+ """
1296
+ The value indicating whether the user is a backup fallback approver
1297
+ """
1298
+ return pulumi.get(self, "is_backup")
1299
+
1300
+ @property
1301
+ @pulumi.getter(name="userType")
1302
+ def user_type(self) -> Optional[str]:
1303
+ """
1304
+ The type of user.
1305
+ """
1306
+ return pulumi.get(self, "user_type")
1307
+
1308
+