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,247 @@
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 . import outputs
17
+
18
+ __all__ = [
19
+ 'GetRoleManagementPolicyResult',
20
+ 'AwaitableGetRoleManagementPolicyResult',
21
+ 'get_role_management_policy',
22
+ 'get_role_management_policy_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetRoleManagementPolicyResult:
27
+ """
28
+ Role management policy
29
+ """
30
+ def __init__(__self__, description=None, display_name=None, effective_rules=None, id=None, is_organization_default=None, last_modified_by=None, last_modified_date_time=None, name=None, policy_properties=None, rules=None, scope=None, type=None):
31
+ if description and not isinstance(description, str):
32
+ raise TypeError("Expected argument 'description' to be a str")
33
+ pulumi.set(__self__, "description", description)
34
+ if display_name and not isinstance(display_name, str):
35
+ raise TypeError("Expected argument 'display_name' to be a str")
36
+ pulumi.set(__self__, "display_name", display_name)
37
+ if effective_rules and not isinstance(effective_rules, list):
38
+ raise TypeError("Expected argument 'effective_rules' to be a list")
39
+ pulumi.set(__self__, "effective_rules", effective_rules)
40
+ if id and not isinstance(id, str):
41
+ raise TypeError("Expected argument 'id' to be a str")
42
+ pulumi.set(__self__, "id", id)
43
+ if is_organization_default and not isinstance(is_organization_default, bool):
44
+ raise TypeError("Expected argument 'is_organization_default' to be a bool")
45
+ pulumi.set(__self__, "is_organization_default", is_organization_default)
46
+ if last_modified_by and not isinstance(last_modified_by, dict):
47
+ raise TypeError("Expected argument 'last_modified_by' to be a dict")
48
+ pulumi.set(__self__, "last_modified_by", last_modified_by)
49
+ if last_modified_date_time and not isinstance(last_modified_date_time, str):
50
+ raise TypeError("Expected argument 'last_modified_date_time' to be a str")
51
+ pulumi.set(__self__, "last_modified_date_time", last_modified_date_time)
52
+ if name and not isinstance(name, str):
53
+ raise TypeError("Expected argument 'name' to be a str")
54
+ pulumi.set(__self__, "name", name)
55
+ if policy_properties and not isinstance(policy_properties, dict):
56
+ raise TypeError("Expected argument 'policy_properties' to be a dict")
57
+ pulumi.set(__self__, "policy_properties", policy_properties)
58
+ if rules and not isinstance(rules, list):
59
+ raise TypeError("Expected argument 'rules' to be a list")
60
+ pulumi.set(__self__, "rules", rules)
61
+ if scope and not isinstance(scope, str):
62
+ raise TypeError("Expected argument 'scope' to be a str")
63
+ pulumi.set(__self__, "scope", scope)
64
+ if type and not isinstance(type, str):
65
+ raise TypeError("Expected argument 'type' to be a str")
66
+ pulumi.set(__self__, "type", type)
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def description(self) -> Optional[str]:
71
+ """
72
+ The role management policy description.
73
+ """
74
+ return pulumi.get(self, "description")
75
+
76
+ @property
77
+ @pulumi.getter(name="displayName")
78
+ def display_name(self) -> Optional[str]:
79
+ """
80
+ The role management policy display name.
81
+ """
82
+ return pulumi.get(self, "display_name")
83
+
84
+ @property
85
+ @pulumi.getter(name="effectiveRules")
86
+ def effective_rules(self) -> Sequence[Any]:
87
+ """
88
+ The readonly computed rule applied to the policy.
89
+ """
90
+ return pulumi.get(self, "effective_rules")
91
+
92
+ @property
93
+ @pulumi.getter
94
+ def id(self) -> str:
95
+ """
96
+ The role management policy Id.
97
+ """
98
+ return pulumi.get(self, "id")
99
+
100
+ @property
101
+ @pulumi.getter(name="isOrganizationDefault")
102
+ def is_organization_default(self) -> Optional[bool]:
103
+ """
104
+ The role management policy is default policy.
105
+ """
106
+ return pulumi.get(self, "is_organization_default")
107
+
108
+ @property
109
+ @pulumi.getter(name="lastModifiedBy")
110
+ def last_modified_by(self) -> 'outputs.PrincipalResponse':
111
+ """
112
+ The name of the entity last modified it
113
+ """
114
+ return pulumi.get(self, "last_modified_by")
115
+
116
+ @property
117
+ @pulumi.getter(name="lastModifiedDateTime")
118
+ def last_modified_date_time(self) -> str:
119
+ """
120
+ The last modified date time.
121
+ """
122
+ return pulumi.get(self, "last_modified_date_time")
123
+
124
+ @property
125
+ @pulumi.getter
126
+ def name(self) -> str:
127
+ """
128
+ The role management policy name.
129
+ """
130
+ return pulumi.get(self, "name")
131
+
132
+ @property
133
+ @pulumi.getter(name="policyProperties")
134
+ def policy_properties(self) -> 'outputs.PolicyPropertiesResponse':
135
+ """
136
+ Additional properties of scope
137
+ """
138
+ return pulumi.get(self, "policy_properties")
139
+
140
+ @property
141
+ @pulumi.getter
142
+ def rules(self) -> Optional[Sequence[Any]]:
143
+ """
144
+ The rule applied to the policy.
145
+ """
146
+ return pulumi.get(self, "rules")
147
+
148
+ @property
149
+ @pulumi.getter
150
+ def scope(self) -> Optional[str]:
151
+ """
152
+ The role management policy scope.
153
+ """
154
+ return pulumi.get(self, "scope")
155
+
156
+ @property
157
+ @pulumi.getter
158
+ def type(self) -> str:
159
+ """
160
+ The role management policy type.
161
+ """
162
+ return pulumi.get(self, "type")
163
+
164
+
165
+ class AwaitableGetRoleManagementPolicyResult(GetRoleManagementPolicyResult):
166
+ # pylint: disable=using-constant-test
167
+ def __await__(self):
168
+ if False:
169
+ yield self
170
+ return GetRoleManagementPolicyResult(
171
+ description=self.description,
172
+ display_name=self.display_name,
173
+ effective_rules=self.effective_rules,
174
+ id=self.id,
175
+ is_organization_default=self.is_organization_default,
176
+ last_modified_by=self.last_modified_by,
177
+ last_modified_date_time=self.last_modified_date_time,
178
+ name=self.name,
179
+ policy_properties=self.policy_properties,
180
+ rules=self.rules,
181
+ scope=self.scope,
182
+ type=self.type)
183
+
184
+
185
+ def get_role_management_policy(role_management_policy_name: Optional[str] = None,
186
+ scope: Optional[str] = None,
187
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRoleManagementPolicyResult:
188
+ """
189
+ Get the specified role management policy for a resource scope
190
+ Azure REST API version: 2024-09-01-preview.
191
+
192
+ Other available API versions: 2020-10-01, 2020-10-01-preview, 2024-02-01-preview.
193
+
194
+
195
+ :param str role_management_policy_name: The name (guid) of the role management policy to get.
196
+ :param str scope: The scope of the role management policy.
197
+ """
198
+ __args__ = dict()
199
+ __args__['roleManagementPolicyName'] = role_management_policy_name
200
+ __args__['scope'] = scope
201
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
202
+ __ret__ = pulumi.runtime.invoke('azure-native:authorization:getRoleManagementPolicy', __args__, opts=opts, typ=GetRoleManagementPolicyResult).value
203
+
204
+ return AwaitableGetRoleManagementPolicyResult(
205
+ description=pulumi.get(__ret__, 'description'),
206
+ display_name=pulumi.get(__ret__, 'display_name'),
207
+ effective_rules=pulumi.get(__ret__, 'effective_rules'),
208
+ id=pulumi.get(__ret__, 'id'),
209
+ is_organization_default=pulumi.get(__ret__, 'is_organization_default'),
210
+ last_modified_by=pulumi.get(__ret__, 'last_modified_by'),
211
+ last_modified_date_time=pulumi.get(__ret__, 'last_modified_date_time'),
212
+ name=pulumi.get(__ret__, 'name'),
213
+ policy_properties=pulumi.get(__ret__, 'policy_properties'),
214
+ rules=pulumi.get(__ret__, 'rules'),
215
+ scope=pulumi.get(__ret__, 'scope'),
216
+ type=pulumi.get(__ret__, 'type'))
217
+ def get_role_management_policy_output(role_management_policy_name: Optional[pulumi.Input[str]] = None,
218
+ scope: Optional[pulumi.Input[str]] = None,
219
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRoleManagementPolicyResult]:
220
+ """
221
+ Get the specified role management policy for a resource scope
222
+ Azure REST API version: 2024-09-01-preview.
223
+
224
+ Other available API versions: 2020-10-01, 2020-10-01-preview, 2024-02-01-preview.
225
+
226
+
227
+ :param str role_management_policy_name: The name (guid) of the role management policy to get.
228
+ :param str scope: The scope of the role management policy.
229
+ """
230
+ __args__ = dict()
231
+ __args__['roleManagementPolicyName'] = role_management_policy_name
232
+ __args__['scope'] = scope
233
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
234
+ __ret__ = pulumi.runtime.invoke_output('azure-native:authorization:getRoleManagementPolicy', __args__, opts=opts, typ=GetRoleManagementPolicyResult)
235
+ return __ret__.apply(lambda __response__: GetRoleManagementPolicyResult(
236
+ description=pulumi.get(__response__, 'description'),
237
+ display_name=pulumi.get(__response__, 'display_name'),
238
+ effective_rules=pulumi.get(__response__, 'effective_rules'),
239
+ id=pulumi.get(__response__, 'id'),
240
+ is_organization_default=pulumi.get(__response__, 'is_organization_default'),
241
+ last_modified_by=pulumi.get(__response__, 'last_modified_by'),
242
+ last_modified_date_time=pulumi.get(__response__, 'last_modified_date_time'),
243
+ name=pulumi.get(__response__, 'name'),
244
+ policy_properties=pulumi.get(__response__, 'policy_properties'),
245
+ rules=pulumi.get(__response__, 'rules'),
246
+ scope=pulumi.get(__response__, 'scope'),
247
+ type=pulumi.get(__response__, 'type')))
@@ -28,6 +28,7 @@ __all__ = [
28
28
  'ManagementLockOwnerResponse',
29
29
  'NonComplianceMessageResponse',
30
30
  'OverrideResponse',
31
+ 'PIMOnlyModeSettingsResponse',
31
32
  'ParameterDefinitionsValueResponse',
32
33
  'ParameterDefinitionsValueResponseMetadata',
33
34
  'ParameterValuesValueResponse',
@@ -39,6 +40,8 @@ __all__ = [
39
40
  'PolicyDefinitionGroupResponse',
40
41
  'PolicyDefinitionReferenceResponse',
41
42
  'PolicyDefinitionVersionResponse',
43
+ 'PolicyPropertiesResponse',
44
+ 'PolicyPropertiesResponseScope',
42
45
  'PolicySetDefinitionVersionResponse',
43
46
  'PolicyVariableColumnResponse',
44
47
  'PolicyVariableValueColumnValueResponse',
@@ -51,10 +54,12 @@ __all__ = [
51
54
  'RoleManagementPolicyEnablementRuleResponse',
52
55
  'RoleManagementPolicyExpirationRuleResponse',
53
56
  'RoleManagementPolicyNotificationRuleResponse',
57
+ 'RoleManagementPolicyPimOnlyModeRuleResponse',
54
58
  'RoleManagementPolicyRuleTargetResponse',
55
59
  'SelectorResponse',
56
60
  'SystemDataResponse',
57
61
  'UserSetResponse',
62
+ 'UsersOrServicePrincipalSetResponse',
58
63
  ]
59
64
 
60
65
  @pulumi.output_type
@@ -1044,6 +1049,70 @@ class OverrideResponse(dict):
1044
1049
  return pulumi.get(self, "value")
1045
1050
 
1046
1051
 
1052
+ @pulumi.output_type
1053
+ class PIMOnlyModeSettingsResponse(dict):
1054
+ """
1055
+ The PIM Only Mode settings.
1056
+ """
1057
+ @staticmethod
1058
+ def __key_warning(key: str):
1059
+ suggest = None
1060
+ if key == "excludedAssignmentTypes":
1061
+ suggest = "excluded_assignment_types"
1062
+
1063
+ if suggest:
1064
+ pulumi.log.warn(f"Key '{key}' not found in PIMOnlyModeSettingsResponse. Access the value via the '{suggest}' property getter instead.")
1065
+
1066
+ def __getitem__(self, key: str) -> Any:
1067
+ PIMOnlyModeSettingsResponse.__key_warning(key)
1068
+ return super().__getitem__(key)
1069
+
1070
+ def get(self, key: str, default = None) -> Any:
1071
+ PIMOnlyModeSettingsResponse.__key_warning(key)
1072
+ return super().get(key, default)
1073
+
1074
+ def __init__(__self__, *,
1075
+ excluded_assignment_types: Optional[Sequence[str]] = None,
1076
+ excludes: Optional[Sequence['outputs.UsersOrServicePrincipalSetResponse']] = None,
1077
+ mode: Optional[str] = None):
1078
+ """
1079
+ The PIM Only Mode settings.
1080
+ :param Sequence[str] excluded_assignment_types: The list of excluded assignment types allowed.
1081
+ :param Sequence['UsersOrServicePrincipalSetResponse'] excludes: The list of excluded entities that the rule does not apply to.
1082
+ :param str mode: Determines whether the setting is enabled, disabled or report only.
1083
+ """
1084
+ if excluded_assignment_types is not None:
1085
+ pulumi.set(__self__, "excluded_assignment_types", excluded_assignment_types)
1086
+ if excludes is not None:
1087
+ pulumi.set(__self__, "excludes", excludes)
1088
+ if mode is not None:
1089
+ pulumi.set(__self__, "mode", mode)
1090
+
1091
+ @property
1092
+ @pulumi.getter(name="excludedAssignmentTypes")
1093
+ def excluded_assignment_types(self) -> Optional[Sequence[str]]:
1094
+ """
1095
+ The list of excluded assignment types allowed.
1096
+ """
1097
+ return pulumi.get(self, "excluded_assignment_types")
1098
+
1099
+ @property
1100
+ @pulumi.getter
1101
+ def excludes(self) -> Optional[Sequence['outputs.UsersOrServicePrincipalSetResponse']]:
1102
+ """
1103
+ The list of excluded entities that the rule does not apply to.
1104
+ """
1105
+ return pulumi.get(self, "excludes")
1106
+
1107
+ @property
1108
+ @pulumi.getter
1109
+ def mode(self) -> Optional[str]:
1110
+ """
1111
+ Determines whether the setting is enabled, disabled or report only.
1112
+ """
1113
+ return pulumi.get(self, "mode")
1114
+
1115
+
1047
1116
  @pulumi.output_type
1048
1117
  class ParameterDefinitionsValueResponse(dict):
1049
1118
  """
@@ -1959,6 +2028,92 @@ class PolicyDefinitionVersionResponse(dict):
1959
2028
  return pulumi.get(self, "version")
1960
2029
 
1961
2030
 
2031
+ @pulumi.output_type
2032
+ class PolicyPropertiesResponse(dict):
2033
+ """
2034
+ Expanded info of resource scope
2035
+ """
2036
+ def __init__(__self__, *,
2037
+ scope: 'outputs.PolicyPropertiesResponseScope'):
2038
+ """
2039
+ Expanded info of resource scope
2040
+ :param 'PolicyPropertiesResponseScope' scope: Details of the resource scope
2041
+ """
2042
+ pulumi.set(__self__, "scope", scope)
2043
+
2044
+ @property
2045
+ @pulumi.getter
2046
+ def scope(self) -> 'outputs.PolicyPropertiesResponseScope':
2047
+ """
2048
+ Details of the resource scope
2049
+ """
2050
+ return pulumi.get(self, "scope")
2051
+
2052
+
2053
+ @pulumi.output_type
2054
+ class PolicyPropertiesResponseScope(dict):
2055
+ """
2056
+ Details of the resource scope
2057
+ """
2058
+ @staticmethod
2059
+ def __key_warning(key: str):
2060
+ suggest = None
2061
+ if key == "displayName":
2062
+ suggest = "display_name"
2063
+
2064
+ if suggest:
2065
+ pulumi.log.warn(f"Key '{key}' not found in PolicyPropertiesResponseScope. Access the value via the '{suggest}' property getter instead.")
2066
+
2067
+ def __getitem__(self, key: str) -> Any:
2068
+ PolicyPropertiesResponseScope.__key_warning(key)
2069
+ return super().__getitem__(key)
2070
+
2071
+ def get(self, key: str, default = None) -> Any:
2072
+ PolicyPropertiesResponseScope.__key_warning(key)
2073
+ return super().get(key, default)
2074
+
2075
+ def __init__(__self__, *,
2076
+ display_name: Optional[str] = None,
2077
+ id: Optional[str] = None,
2078
+ type: Optional[str] = None):
2079
+ """
2080
+ Details of the resource scope
2081
+ :param str display_name: Display name of the resource
2082
+ :param str id: Scope id of the resource
2083
+ :param str type: Type of the resource
2084
+ """
2085
+ if display_name is not None:
2086
+ pulumi.set(__self__, "display_name", display_name)
2087
+ if id is not None:
2088
+ pulumi.set(__self__, "id", id)
2089
+ if type is not None:
2090
+ pulumi.set(__self__, "type", type)
2091
+
2092
+ @property
2093
+ @pulumi.getter(name="displayName")
2094
+ def display_name(self) -> Optional[str]:
2095
+ """
2096
+ Display name of the resource
2097
+ """
2098
+ return pulumi.get(self, "display_name")
2099
+
2100
+ @property
2101
+ @pulumi.getter
2102
+ def id(self) -> Optional[str]:
2103
+ """
2104
+ Scope id of the resource
2105
+ """
2106
+ return pulumi.get(self, "id")
2107
+
2108
+ @property
2109
+ @pulumi.getter
2110
+ def type(self) -> Optional[str]:
2111
+ """
2112
+ Type of the resource
2113
+ """
2114
+ return pulumi.get(self, "type")
2115
+
2116
+
1962
2117
  @pulumi.output_type
1963
2118
  class PolicySetDefinitionVersionResponse(dict):
1964
2119
  """
@@ -2682,6 +2837,8 @@ class RoleManagementPolicyExpirationRuleResponse(dict):
2682
2837
  suggest = None
2683
2838
  if key == "ruleType":
2684
2839
  suggest = "rule_type"
2840
+ elif key == "exceptionMembers":
2841
+ suggest = "exception_members"
2685
2842
  elif key == "isExpirationRequired":
2686
2843
  suggest = "is_expiration_required"
2687
2844
  elif key == "maximumDuration":
@@ -2700,6 +2857,7 @@ class RoleManagementPolicyExpirationRuleResponse(dict):
2700
2857
 
2701
2858
  def __init__(__self__, *,
2702
2859
  rule_type: str,
2860
+ exception_members: Optional[Sequence['outputs.UserSetResponse']] = None,
2703
2861
  id: Optional[str] = None,
2704
2862
  is_expiration_required: Optional[bool] = None,
2705
2863
  maximum_duration: Optional[str] = None,
@@ -2708,12 +2866,15 @@ class RoleManagementPolicyExpirationRuleResponse(dict):
2708
2866
  The role management policy expiration rule.
2709
2867
  :param str rule_type: The type of rule
2710
2868
  Expected value is 'RoleManagementPolicyExpirationRule'.
2869
+ :param Sequence['UserSetResponse'] exception_members: The members not restricted by expiration rule.
2711
2870
  :param str id: The id of the rule.
2712
2871
  :param bool is_expiration_required: The value indicating whether expiration is required.
2713
2872
  :param str maximum_duration: The maximum duration of expiration in timespan.
2714
2873
  :param 'RoleManagementPolicyRuleTargetResponse' target: The target of the current rule.
2715
2874
  """
2716
2875
  pulumi.set(__self__, "rule_type", 'RoleManagementPolicyExpirationRule')
2876
+ if exception_members is not None:
2877
+ pulumi.set(__self__, "exception_members", exception_members)
2717
2878
  if id is not None:
2718
2879
  pulumi.set(__self__, "id", id)
2719
2880
  if is_expiration_required is not None:
@@ -2732,6 +2893,14 @@ class RoleManagementPolicyExpirationRuleResponse(dict):
2732
2893
  """
2733
2894
  return pulumi.get(self, "rule_type")
2734
2895
 
2896
+ @property
2897
+ @pulumi.getter(name="exceptionMembers")
2898
+ def exception_members(self) -> Optional[Sequence['outputs.UserSetResponse']]:
2899
+ """
2900
+ The members not restricted by expiration rule.
2901
+ """
2902
+ return pulumi.get(self, "exception_members")
2903
+
2735
2904
  @property
2736
2905
  @pulumi.getter
2737
2906
  def id(self) -> Optional[str]:
@@ -2900,6 +3069,85 @@ class RoleManagementPolicyNotificationRuleResponse(dict):
2900
3069
  return pulumi.get(self, "target")
2901
3070
 
2902
3071
 
3072
+ @pulumi.output_type
3073
+ class RoleManagementPolicyPimOnlyModeRuleResponse(dict):
3074
+ """
3075
+ The role management policy PIM only mode rule.
3076
+ """
3077
+ @staticmethod
3078
+ def __key_warning(key: str):
3079
+ suggest = None
3080
+ if key == "ruleType":
3081
+ suggest = "rule_type"
3082
+ elif key == "pimOnlyModeSettings":
3083
+ suggest = "pim_only_mode_settings"
3084
+
3085
+ if suggest:
3086
+ pulumi.log.warn(f"Key '{key}' not found in RoleManagementPolicyPimOnlyModeRuleResponse. Access the value via the '{suggest}' property getter instead.")
3087
+
3088
+ def __getitem__(self, key: str) -> Any:
3089
+ RoleManagementPolicyPimOnlyModeRuleResponse.__key_warning(key)
3090
+ return super().__getitem__(key)
3091
+
3092
+ def get(self, key: str, default = None) -> Any:
3093
+ RoleManagementPolicyPimOnlyModeRuleResponse.__key_warning(key)
3094
+ return super().get(key, default)
3095
+
3096
+ def __init__(__self__, *,
3097
+ rule_type: str,
3098
+ id: Optional[str] = None,
3099
+ pim_only_mode_settings: Optional['outputs.PIMOnlyModeSettingsResponse'] = None,
3100
+ target: Optional['outputs.RoleManagementPolicyRuleTargetResponse'] = None):
3101
+ """
3102
+ The role management policy PIM only mode rule.
3103
+ :param str rule_type: The type of rule
3104
+ Expected value is 'RoleManagementPolicyPimOnlyModeRule'.
3105
+ :param str id: The id of the rule.
3106
+ :param 'PIMOnlyModeSettingsResponse' pim_only_mode_settings: The PIM Only Mode settings
3107
+ :param 'RoleManagementPolicyRuleTargetResponse' target: The target of the current rule.
3108
+ """
3109
+ pulumi.set(__self__, "rule_type", 'RoleManagementPolicyPimOnlyModeRule')
3110
+ if id is not None:
3111
+ pulumi.set(__self__, "id", id)
3112
+ if pim_only_mode_settings is not None:
3113
+ pulumi.set(__self__, "pim_only_mode_settings", pim_only_mode_settings)
3114
+ if target is not None:
3115
+ pulumi.set(__self__, "target", target)
3116
+
3117
+ @property
3118
+ @pulumi.getter(name="ruleType")
3119
+ def rule_type(self) -> str:
3120
+ """
3121
+ The type of rule
3122
+ Expected value is 'RoleManagementPolicyPimOnlyModeRule'.
3123
+ """
3124
+ return pulumi.get(self, "rule_type")
3125
+
3126
+ @property
3127
+ @pulumi.getter
3128
+ def id(self) -> Optional[str]:
3129
+ """
3130
+ The id of the rule.
3131
+ """
3132
+ return pulumi.get(self, "id")
3133
+
3134
+ @property
3135
+ @pulumi.getter(name="pimOnlyModeSettings")
3136
+ def pim_only_mode_settings(self) -> Optional['outputs.PIMOnlyModeSettingsResponse']:
3137
+ """
3138
+ The PIM Only Mode settings
3139
+ """
3140
+ return pulumi.get(self, "pim_only_mode_settings")
3141
+
3142
+ @property
3143
+ @pulumi.getter
3144
+ def target(self) -> Optional['outputs.RoleManagementPolicyRuleTargetResponse']:
3145
+ """
3146
+ The target of the current rule.
3147
+ """
3148
+ return pulumi.get(self, "target")
3149
+
3150
+
2903
3151
  @pulumi.output_type
2904
3152
  class RoleManagementPolicyRuleTargetResponse(dict):
2905
3153
  """
@@ -3258,3 +3506,67 @@ class UserSetResponse(dict):
3258
3506
  return pulumi.get(self, "user_type")
3259
3507
 
3260
3508
 
3509
+ @pulumi.output_type
3510
+ class UsersOrServicePrincipalSetResponse(dict):
3511
+ """
3512
+ The detail of a subject.
3513
+ """
3514
+ @staticmethod
3515
+ def __key_warning(key: str):
3516
+ suggest = None
3517
+ if key == "displayName":
3518
+ suggest = "display_name"
3519
+
3520
+ if suggest:
3521
+ pulumi.log.warn(f"Key '{key}' not found in UsersOrServicePrincipalSetResponse. Access the value via the '{suggest}' property getter instead.")
3522
+
3523
+ def __getitem__(self, key: str) -> Any:
3524
+ UsersOrServicePrincipalSetResponse.__key_warning(key)
3525
+ return super().__getitem__(key)
3526
+
3527
+ def get(self, key: str, default = None) -> Any:
3528
+ UsersOrServicePrincipalSetResponse.__key_warning(key)
3529
+ return super().get(key, default)
3530
+
3531
+ def __init__(__self__, *,
3532
+ display_name: Optional[str] = None,
3533
+ id: Optional[str] = None,
3534
+ type: Optional[str] = None):
3535
+ """
3536
+ The detail of a subject.
3537
+ :param str display_name: The display Name of the entity.
3538
+ :param str id: The object id of the entity.
3539
+ :param str type: The type of user.
3540
+ """
3541
+ if display_name is not None:
3542
+ pulumi.set(__self__, "display_name", display_name)
3543
+ if id is not None:
3544
+ pulumi.set(__self__, "id", id)
3545
+ if type is not None:
3546
+ pulumi.set(__self__, "type", type)
3547
+
3548
+ @property
3549
+ @pulumi.getter(name="displayName")
3550
+ def display_name(self) -> Optional[str]:
3551
+ """
3552
+ The display Name of the entity.
3553
+ """
3554
+ return pulumi.get(self, "display_name")
3555
+
3556
+ @property
3557
+ @pulumi.getter
3558
+ def id(self) -> Optional[str]:
3559
+ """
3560
+ The object id of the entity.
3561
+ """
3562
+ return pulumi.get(self, "id")
3563
+
3564
+ @property
3565
+ @pulumi.getter
3566
+ def type(self) -> Optional[str]:
3567
+ """
3568
+ The type of user.
3569
+ """
3570
+ return pulumi.get(self, "type")
3571
+
3572
+