pulumi-azuread 5.48.0a1706744699__py3-none-any.whl → 6.8.0a1766208344__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-azuread might be problematic. Click here for more details.
- pulumi_azuread/__init__.py +48 -1
- pulumi_azuread/_inputs.py +3803 -919
- pulumi_azuread/_utilities.py +52 -12
- pulumi_azuread/access_package.py +84 -78
- pulumi_azuread/access_package_assignment_policy.py +202 -196
- pulumi_azuread/access_package_catalog.py +82 -76
- pulumi_azuread/access_package_catalog_role_assignment.py +73 -67
- pulumi_azuread/access_package_resource_catalog_association.py +73 -67
- pulumi_azuread/access_package_resource_package_association.py +79 -73
- pulumi_azuread/administrative_unit.py +120 -100
- pulumi_azuread/administrative_unit_member.py +66 -50
- pulumi_azuread/administrative_unit_role_member.py +75 -69
- pulumi_azuread/app_role_assignment.py +164 -264
- pulumi_azuread/application.py +766 -692
- pulumi_azuread/application_api_access.py +84 -80
- pulumi_azuread/application_app_role.py +120 -116
- pulumi_azuread/application_certificate.py +349 -211
- pulumi_azuread/application_fallback_public_client.py +50 -44
- pulumi_azuread/application_federated_identity_credential.py +142 -197
- pulumi_azuread/application_from_template.py +90 -84
- pulumi_azuread/application_identifier_uri.py +56 -52
- pulumi_azuread/application_known_clients.py +50 -44
- pulumi_azuread/application_optional_claims.py +87 -81
- pulumi_azuread/application_owner.py +76 -42
- pulumi_azuread/application_password.py +159 -205
- pulumi_azuread/application_permission_scope.py +160 -156
- pulumi_azuread/application_pre_authorized.py +120 -236
- pulumi_azuread/application_redirect_uris.py +75 -69
- pulumi_azuread/application_registration.py +315 -309
- pulumi_azuread/authentication_strength_policy.py +73 -67
- pulumi_azuread/claims_mapping_policy.py +48 -42
- pulumi_azuread/conditional_access_policy.py +248 -232
- pulumi_azuread/config/__init__.py +2 -1
- pulumi_azuread/config/__init__.pyi +23 -17
- pulumi_azuread/config/vars.py +47 -37
- pulumi_azuread/custom_directory_role.py +128 -122
- pulumi_azuread/directory_role.py +60 -54
- pulumi_azuread/directory_role_assignment.py +194 -181
- pulumi_azuread/directory_role_eligibility_schedule_request.py +86 -80
- pulumi_azuread/directory_role_member.py +54 -48
- pulumi_azuread/get_access_package.py +45 -31
- pulumi_azuread/get_access_package_catalog.py +40 -27
- pulumi_azuread/get_access_package_catalog_role.py +39 -25
- pulumi_azuread/get_administrative_unit.py +42 -27
- pulumi_azuread/get_application.py +135 -94
- pulumi_azuread/get_application_published_app_ids.py +42 -47
- pulumi_azuread/get_application_template.py +49 -33
- pulumi_azuread/get_client_config.py +24 -15
- pulumi_azuread/get_directory_object.py +32 -21
- pulumi_azuread/get_directory_role_templates.py +20 -12
- pulumi_azuread/get_directory_roles.py +23 -14
- pulumi_azuread/get_domains.py +65 -46
- pulumi_azuread/get_group.py +147 -88
- pulumi_azuread/get_group_role_management_policy.py +178 -0
- pulumi_azuread/get_groups.py +71 -51
- pulumi_azuread/get_named_location.py +47 -22
- pulumi_azuread/get_service_principal.py +108 -90
- pulumi_azuread/get_service_principals.py +60 -64
- pulumi_azuread/get_user.py +186 -118
- pulumi_azuread/get_users.py +96 -53
- pulumi_azuread/group.py +622 -464
- pulumi_azuread/group_member.py +56 -50
- pulumi_azuread/group_role_management_policy.py +544 -0
- pulumi_azuread/group_without_members.py +1610 -0
- pulumi_azuread/invitation.py +126 -120
- pulumi_azuread/named_location.py +90 -76
- pulumi_azuread/outputs.py +2844 -1308
- pulumi_azuread/privileged_access_group_assignment_schedule.py +695 -0
- pulumi_azuread/privileged_access_group_eligibility_schedule.py +695 -0
- pulumi_azuread/provider.py +292 -246
- pulumi_azuread/pulumi-plugin.json +2 -1
- pulumi_azuread/service_principal.py +400 -461
- pulumi_azuread/service_principal_certificate.py +230 -145
- pulumi_azuread/service_principal_claims_mapping_policy_assignment.py +53 -47
- pulumi_azuread/service_principal_delegated_permission_grant.py +146 -140
- pulumi_azuread/service_principal_password.py +156 -141
- pulumi_azuread/service_principal_token_signing_certificate.py +119 -124
- pulumi_azuread/synchronization_job.py +105 -111
- pulumi_azuread/synchronization_job_provision_on_demand.py +396 -0
- pulumi_azuread/synchronization_secret.py +64 -70
- pulumi_azuread/user.py +776 -730
- pulumi_azuread/user_flow_attribute.py +76 -70
- {pulumi_azuread-5.48.0a1706744699.dist-info → pulumi_azuread-6.8.0a1766208344.dist-info}/METADATA +21 -20
- pulumi_azuread-6.8.0a1766208344.dist-info/RECORD +87 -0
- {pulumi_azuread-5.48.0a1706744699.dist-info → pulumi_azuread-6.8.0a1766208344.dist-info}/WHEEL +1 -1
- pulumi_azuread-5.48.0a1706744699.dist-info/RECORD +0 -81
- {pulumi_azuread-5.48.0a1706744699.dist-info → pulumi_azuread-6.8.0a1766208344.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,544 @@
|
|
|
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 builtins as _builtins
|
|
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
|
+
from ._inputs import *
|
|
18
|
+
|
|
19
|
+
__all__ = ['GroupRoleManagementPolicyArgs', 'GroupRoleManagementPolicy']
|
|
20
|
+
|
|
21
|
+
@pulumi.input_type
|
|
22
|
+
class GroupRoleManagementPolicyArgs:
|
|
23
|
+
def __init__(__self__, *,
|
|
24
|
+
group_id: pulumi.Input[_builtins.str],
|
|
25
|
+
role_id: pulumi.Input[_builtins.str],
|
|
26
|
+
activation_rules: Optional[pulumi.Input['GroupRoleManagementPolicyActivationRulesArgs']] = None,
|
|
27
|
+
active_assignment_rules: Optional[pulumi.Input['GroupRoleManagementPolicyActiveAssignmentRulesArgs']] = None,
|
|
28
|
+
eligible_assignment_rules: Optional[pulumi.Input['GroupRoleManagementPolicyEligibleAssignmentRulesArgs']] = None,
|
|
29
|
+
notification_rules: Optional[pulumi.Input['GroupRoleManagementPolicyNotificationRulesArgs']] = None):
|
|
30
|
+
"""
|
|
31
|
+
The set of arguments for constructing a GroupRoleManagementPolicy resource.
|
|
32
|
+
:param pulumi.Input[_builtins.str] group_id: The ID of the Azure AD group for which the policy applies.
|
|
33
|
+
:param pulumi.Input[_builtins.str] role_id: The type of assignment this policy coveres. Can be either `member` or `owner`.
|
|
34
|
+
:param pulumi.Input['GroupRoleManagementPolicyActivationRulesArgs'] activation_rules: An `activation_rules` block as defined below.
|
|
35
|
+
:param pulumi.Input['GroupRoleManagementPolicyActiveAssignmentRulesArgs'] active_assignment_rules: An `active_assignment_rules` block as defined below.
|
|
36
|
+
:param pulumi.Input['GroupRoleManagementPolicyEligibleAssignmentRulesArgs'] eligible_assignment_rules: An `eligible_assignment_rules` block as defined below.
|
|
37
|
+
:param pulumi.Input['GroupRoleManagementPolicyNotificationRulesArgs'] notification_rules: A `notification_rules` block as defined below.
|
|
38
|
+
"""
|
|
39
|
+
pulumi.set(__self__, "group_id", group_id)
|
|
40
|
+
pulumi.set(__self__, "role_id", role_id)
|
|
41
|
+
if activation_rules is not None:
|
|
42
|
+
pulumi.set(__self__, "activation_rules", activation_rules)
|
|
43
|
+
if active_assignment_rules is not None:
|
|
44
|
+
pulumi.set(__self__, "active_assignment_rules", active_assignment_rules)
|
|
45
|
+
if eligible_assignment_rules is not None:
|
|
46
|
+
pulumi.set(__self__, "eligible_assignment_rules", eligible_assignment_rules)
|
|
47
|
+
if notification_rules is not None:
|
|
48
|
+
pulumi.set(__self__, "notification_rules", notification_rules)
|
|
49
|
+
|
|
50
|
+
@_builtins.property
|
|
51
|
+
@pulumi.getter(name="groupId")
|
|
52
|
+
def group_id(self) -> pulumi.Input[_builtins.str]:
|
|
53
|
+
"""
|
|
54
|
+
The ID of the Azure AD group for which the policy applies.
|
|
55
|
+
"""
|
|
56
|
+
return pulumi.get(self, "group_id")
|
|
57
|
+
|
|
58
|
+
@group_id.setter
|
|
59
|
+
def group_id(self, value: pulumi.Input[_builtins.str]):
|
|
60
|
+
pulumi.set(self, "group_id", value)
|
|
61
|
+
|
|
62
|
+
@_builtins.property
|
|
63
|
+
@pulumi.getter(name="roleId")
|
|
64
|
+
def role_id(self) -> pulumi.Input[_builtins.str]:
|
|
65
|
+
"""
|
|
66
|
+
The type of assignment this policy coveres. Can be either `member` or `owner`.
|
|
67
|
+
"""
|
|
68
|
+
return pulumi.get(self, "role_id")
|
|
69
|
+
|
|
70
|
+
@role_id.setter
|
|
71
|
+
def role_id(self, value: pulumi.Input[_builtins.str]):
|
|
72
|
+
pulumi.set(self, "role_id", value)
|
|
73
|
+
|
|
74
|
+
@_builtins.property
|
|
75
|
+
@pulumi.getter(name="activationRules")
|
|
76
|
+
def activation_rules(self) -> Optional[pulumi.Input['GroupRoleManagementPolicyActivationRulesArgs']]:
|
|
77
|
+
"""
|
|
78
|
+
An `activation_rules` block as defined below.
|
|
79
|
+
"""
|
|
80
|
+
return pulumi.get(self, "activation_rules")
|
|
81
|
+
|
|
82
|
+
@activation_rules.setter
|
|
83
|
+
def activation_rules(self, value: Optional[pulumi.Input['GroupRoleManagementPolicyActivationRulesArgs']]):
|
|
84
|
+
pulumi.set(self, "activation_rules", value)
|
|
85
|
+
|
|
86
|
+
@_builtins.property
|
|
87
|
+
@pulumi.getter(name="activeAssignmentRules")
|
|
88
|
+
def active_assignment_rules(self) -> Optional[pulumi.Input['GroupRoleManagementPolicyActiveAssignmentRulesArgs']]:
|
|
89
|
+
"""
|
|
90
|
+
An `active_assignment_rules` block as defined below.
|
|
91
|
+
"""
|
|
92
|
+
return pulumi.get(self, "active_assignment_rules")
|
|
93
|
+
|
|
94
|
+
@active_assignment_rules.setter
|
|
95
|
+
def active_assignment_rules(self, value: Optional[pulumi.Input['GroupRoleManagementPolicyActiveAssignmentRulesArgs']]):
|
|
96
|
+
pulumi.set(self, "active_assignment_rules", value)
|
|
97
|
+
|
|
98
|
+
@_builtins.property
|
|
99
|
+
@pulumi.getter(name="eligibleAssignmentRules")
|
|
100
|
+
def eligible_assignment_rules(self) -> Optional[pulumi.Input['GroupRoleManagementPolicyEligibleAssignmentRulesArgs']]:
|
|
101
|
+
"""
|
|
102
|
+
An `eligible_assignment_rules` block as defined below.
|
|
103
|
+
"""
|
|
104
|
+
return pulumi.get(self, "eligible_assignment_rules")
|
|
105
|
+
|
|
106
|
+
@eligible_assignment_rules.setter
|
|
107
|
+
def eligible_assignment_rules(self, value: Optional[pulumi.Input['GroupRoleManagementPolicyEligibleAssignmentRulesArgs']]):
|
|
108
|
+
pulumi.set(self, "eligible_assignment_rules", value)
|
|
109
|
+
|
|
110
|
+
@_builtins.property
|
|
111
|
+
@pulumi.getter(name="notificationRules")
|
|
112
|
+
def notification_rules(self) -> Optional[pulumi.Input['GroupRoleManagementPolicyNotificationRulesArgs']]:
|
|
113
|
+
"""
|
|
114
|
+
A `notification_rules` block as defined below.
|
|
115
|
+
"""
|
|
116
|
+
return pulumi.get(self, "notification_rules")
|
|
117
|
+
|
|
118
|
+
@notification_rules.setter
|
|
119
|
+
def notification_rules(self, value: Optional[pulumi.Input['GroupRoleManagementPolicyNotificationRulesArgs']]):
|
|
120
|
+
pulumi.set(self, "notification_rules", value)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
@pulumi.input_type
|
|
124
|
+
class _GroupRoleManagementPolicyState:
|
|
125
|
+
def __init__(__self__, *,
|
|
126
|
+
activation_rules: Optional[pulumi.Input['GroupRoleManagementPolicyActivationRulesArgs']] = None,
|
|
127
|
+
active_assignment_rules: Optional[pulumi.Input['GroupRoleManagementPolicyActiveAssignmentRulesArgs']] = None,
|
|
128
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
129
|
+
display_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
130
|
+
eligible_assignment_rules: Optional[pulumi.Input['GroupRoleManagementPolicyEligibleAssignmentRulesArgs']] = None,
|
|
131
|
+
group_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
132
|
+
notification_rules: Optional[pulumi.Input['GroupRoleManagementPolicyNotificationRulesArgs']] = None,
|
|
133
|
+
role_id: Optional[pulumi.Input[_builtins.str]] = None):
|
|
134
|
+
"""
|
|
135
|
+
Input properties used for looking up and filtering GroupRoleManagementPolicy resources.
|
|
136
|
+
:param pulumi.Input['GroupRoleManagementPolicyActivationRulesArgs'] activation_rules: An `activation_rules` block as defined below.
|
|
137
|
+
:param pulumi.Input['GroupRoleManagementPolicyActiveAssignmentRulesArgs'] active_assignment_rules: An `active_assignment_rules` block as defined below.
|
|
138
|
+
:param pulumi.Input[_builtins.str] description: (String) The description of this policy.
|
|
139
|
+
:param pulumi.Input[_builtins.str] display_name: (String) The display name of this policy.
|
|
140
|
+
:param pulumi.Input['GroupRoleManagementPolicyEligibleAssignmentRulesArgs'] eligible_assignment_rules: An `eligible_assignment_rules` block as defined below.
|
|
141
|
+
:param pulumi.Input[_builtins.str] group_id: The ID of the Azure AD group for which the policy applies.
|
|
142
|
+
:param pulumi.Input['GroupRoleManagementPolicyNotificationRulesArgs'] notification_rules: A `notification_rules` block as defined below.
|
|
143
|
+
:param pulumi.Input[_builtins.str] role_id: The type of assignment this policy coveres. Can be either `member` or `owner`.
|
|
144
|
+
"""
|
|
145
|
+
if activation_rules is not None:
|
|
146
|
+
pulumi.set(__self__, "activation_rules", activation_rules)
|
|
147
|
+
if active_assignment_rules is not None:
|
|
148
|
+
pulumi.set(__self__, "active_assignment_rules", active_assignment_rules)
|
|
149
|
+
if description is not None:
|
|
150
|
+
pulumi.set(__self__, "description", description)
|
|
151
|
+
if display_name is not None:
|
|
152
|
+
pulumi.set(__self__, "display_name", display_name)
|
|
153
|
+
if eligible_assignment_rules is not None:
|
|
154
|
+
pulumi.set(__self__, "eligible_assignment_rules", eligible_assignment_rules)
|
|
155
|
+
if group_id is not None:
|
|
156
|
+
pulumi.set(__self__, "group_id", group_id)
|
|
157
|
+
if notification_rules is not None:
|
|
158
|
+
pulumi.set(__self__, "notification_rules", notification_rules)
|
|
159
|
+
if role_id is not None:
|
|
160
|
+
pulumi.set(__self__, "role_id", role_id)
|
|
161
|
+
|
|
162
|
+
@_builtins.property
|
|
163
|
+
@pulumi.getter(name="activationRules")
|
|
164
|
+
def activation_rules(self) -> Optional[pulumi.Input['GroupRoleManagementPolicyActivationRulesArgs']]:
|
|
165
|
+
"""
|
|
166
|
+
An `activation_rules` block as defined below.
|
|
167
|
+
"""
|
|
168
|
+
return pulumi.get(self, "activation_rules")
|
|
169
|
+
|
|
170
|
+
@activation_rules.setter
|
|
171
|
+
def activation_rules(self, value: Optional[pulumi.Input['GroupRoleManagementPolicyActivationRulesArgs']]):
|
|
172
|
+
pulumi.set(self, "activation_rules", value)
|
|
173
|
+
|
|
174
|
+
@_builtins.property
|
|
175
|
+
@pulumi.getter(name="activeAssignmentRules")
|
|
176
|
+
def active_assignment_rules(self) -> Optional[pulumi.Input['GroupRoleManagementPolicyActiveAssignmentRulesArgs']]:
|
|
177
|
+
"""
|
|
178
|
+
An `active_assignment_rules` block as defined below.
|
|
179
|
+
"""
|
|
180
|
+
return pulumi.get(self, "active_assignment_rules")
|
|
181
|
+
|
|
182
|
+
@active_assignment_rules.setter
|
|
183
|
+
def active_assignment_rules(self, value: Optional[pulumi.Input['GroupRoleManagementPolicyActiveAssignmentRulesArgs']]):
|
|
184
|
+
pulumi.set(self, "active_assignment_rules", value)
|
|
185
|
+
|
|
186
|
+
@_builtins.property
|
|
187
|
+
@pulumi.getter
|
|
188
|
+
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
189
|
+
"""
|
|
190
|
+
(String) The description of this policy.
|
|
191
|
+
"""
|
|
192
|
+
return pulumi.get(self, "description")
|
|
193
|
+
|
|
194
|
+
@description.setter
|
|
195
|
+
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
196
|
+
pulumi.set(self, "description", value)
|
|
197
|
+
|
|
198
|
+
@_builtins.property
|
|
199
|
+
@pulumi.getter(name="displayName")
|
|
200
|
+
def display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
201
|
+
"""
|
|
202
|
+
(String) The display name of this policy.
|
|
203
|
+
"""
|
|
204
|
+
return pulumi.get(self, "display_name")
|
|
205
|
+
|
|
206
|
+
@display_name.setter
|
|
207
|
+
def display_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
208
|
+
pulumi.set(self, "display_name", value)
|
|
209
|
+
|
|
210
|
+
@_builtins.property
|
|
211
|
+
@pulumi.getter(name="eligibleAssignmentRules")
|
|
212
|
+
def eligible_assignment_rules(self) -> Optional[pulumi.Input['GroupRoleManagementPolicyEligibleAssignmentRulesArgs']]:
|
|
213
|
+
"""
|
|
214
|
+
An `eligible_assignment_rules` block as defined below.
|
|
215
|
+
"""
|
|
216
|
+
return pulumi.get(self, "eligible_assignment_rules")
|
|
217
|
+
|
|
218
|
+
@eligible_assignment_rules.setter
|
|
219
|
+
def eligible_assignment_rules(self, value: Optional[pulumi.Input['GroupRoleManagementPolicyEligibleAssignmentRulesArgs']]):
|
|
220
|
+
pulumi.set(self, "eligible_assignment_rules", value)
|
|
221
|
+
|
|
222
|
+
@_builtins.property
|
|
223
|
+
@pulumi.getter(name="groupId")
|
|
224
|
+
def group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
225
|
+
"""
|
|
226
|
+
The ID of the Azure AD group for which the policy applies.
|
|
227
|
+
"""
|
|
228
|
+
return pulumi.get(self, "group_id")
|
|
229
|
+
|
|
230
|
+
@group_id.setter
|
|
231
|
+
def group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
232
|
+
pulumi.set(self, "group_id", value)
|
|
233
|
+
|
|
234
|
+
@_builtins.property
|
|
235
|
+
@pulumi.getter(name="notificationRules")
|
|
236
|
+
def notification_rules(self) -> Optional[pulumi.Input['GroupRoleManagementPolicyNotificationRulesArgs']]:
|
|
237
|
+
"""
|
|
238
|
+
A `notification_rules` block as defined below.
|
|
239
|
+
"""
|
|
240
|
+
return pulumi.get(self, "notification_rules")
|
|
241
|
+
|
|
242
|
+
@notification_rules.setter
|
|
243
|
+
def notification_rules(self, value: Optional[pulumi.Input['GroupRoleManagementPolicyNotificationRulesArgs']]):
|
|
244
|
+
pulumi.set(self, "notification_rules", value)
|
|
245
|
+
|
|
246
|
+
@_builtins.property
|
|
247
|
+
@pulumi.getter(name="roleId")
|
|
248
|
+
def role_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
249
|
+
"""
|
|
250
|
+
The type of assignment this policy coveres. Can be either `member` or `owner`.
|
|
251
|
+
"""
|
|
252
|
+
return pulumi.get(self, "role_id")
|
|
253
|
+
|
|
254
|
+
@role_id.setter
|
|
255
|
+
def role_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
256
|
+
pulumi.set(self, "role_id", value)
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
@pulumi.type_token("azuread:index/groupRoleManagementPolicy:GroupRoleManagementPolicy")
|
|
260
|
+
class GroupRoleManagementPolicy(pulumi.CustomResource):
|
|
261
|
+
@overload
|
|
262
|
+
def __init__(__self__,
|
|
263
|
+
resource_name: str,
|
|
264
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
265
|
+
activation_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyActivationRulesArgs', 'GroupRoleManagementPolicyActivationRulesArgsDict']]] = None,
|
|
266
|
+
active_assignment_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyActiveAssignmentRulesArgs', 'GroupRoleManagementPolicyActiveAssignmentRulesArgsDict']]] = None,
|
|
267
|
+
eligible_assignment_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyEligibleAssignmentRulesArgs', 'GroupRoleManagementPolicyEligibleAssignmentRulesArgsDict']]] = None,
|
|
268
|
+
group_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
269
|
+
notification_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyNotificationRulesArgs', 'GroupRoleManagementPolicyNotificationRulesArgsDict']]] = None,
|
|
270
|
+
role_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
271
|
+
__props__=None):
|
|
272
|
+
"""
|
|
273
|
+
Manage a role policy for an Azure AD group.
|
|
274
|
+
|
|
275
|
+
## API Permissions
|
|
276
|
+
|
|
277
|
+
The following API permissions are required in order to use this resource.
|
|
278
|
+
|
|
279
|
+
When authenticated with a service principal, this resource requires the `RoleManagementPolicy.ReadWrite.AzureADGroup` Microsoft Graph API permissions.
|
|
280
|
+
|
|
281
|
+
When authenticated with a user principal, this resource requires `Global Administrator` directory role, or the `Privileged Role Administrator` role in Identity Governance.
|
|
282
|
+
|
|
283
|
+
## Example Usage
|
|
284
|
+
|
|
285
|
+
```python
|
|
286
|
+
import pulumi
|
|
287
|
+
import pulumi_azuread as azuread
|
|
288
|
+
|
|
289
|
+
example = azuread.Group("example",
|
|
290
|
+
display_name="group-name",
|
|
291
|
+
security_enabled=True)
|
|
292
|
+
member = azuread.User("member",
|
|
293
|
+
user_principal_name="jdoe@example.com",
|
|
294
|
+
display_name="J. Doe",
|
|
295
|
+
mail_nickname="jdoe",
|
|
296
|
+
password="SecretP@sswd99!")
|
|
297
|
+
example_group_role_management_policy = azuread.GroupRoleManagementPolicy("example",
|
|
298
|
+
group_id=example.id,
|
|
299
|
+
role_id="member",
|
|
300
|
+
active_assignment_rules={
|
|
301
|
+
"expire_after": "P365D",
|
|
302
|
+
},
|
|
303
|
+
eligible_assignment_rules={
|
|
304
|
+
"expiration_required": False,
|
|
305
|
+
},
|
|
306
|
+
notification_rules={
|
|
307
|
+
"eligible_assignments": {
|
|
308
|
+
"approver_notifications": {
|
|
309
|
+
"notification_level": "Critical",
|
|
310
|
+
"default_recipients": False,
|
|
311
|
+
"additional_recipients": [
|
|
312
|
+
"someone@example.com",
|
|
313
|
+
"someone.else@example.com",
|
|
314
|
+
],
|
|
315
|
+
},
|
|
316
|
+
},
|
|
317
|
+
})
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## Import
|
|
321
|
+
|
|
322
|
+
Because these policies are created automatically by Entra ID, they will auto-import on first use.
|
|
323
|
+
|
|
324
|
+
:param str resource_name: The name of the resource.
|
|
325
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
326
|
+
:param pulumi.Input[Union['GroupRoleManagementPolicyActivationRulesArgs', 'GroupRoleManagementPolicyActivationRulesArgsDict']] activation_rules: An `activation_rules` block as defined below.
|
|
327
|
+
:param pulumi.Input[Union['GroupRoleManagementPolicyActiveAssignmentRulesArgs', 'GroupRoleManagementPolicyActiveAssignmentRulesArgsDict']] active_assignment_rules: An `active_assignment_rules` block as defined below.
|
|
328
|
+
:param pulumi.Input[Union['GroupRoleManagementPolicyEligibleAssignmentRulesArgs', 'GroupRoleManagementPolicyEligibleAssignmentRulesArgsDict']] eligible_assignment_rules: An `eligible_assignment_rules` block as defined below.
|
|
329
|
+
:param pulumi.Input[_builtins.str] group_id: The ID of the Azure AD group for which the policy applies.
|
|
330
|
+
:param pulumi.Input[Union['GroupRoleManagementPolicyNotificationRulesArgs', 'GroupRoleManagementPolicyNotificationRulesArgsDict']] notification_rules: A `notification_rules` block as defined below.
|
|
331
|
+
:param pulumi.Input[_builtins.str] role_id: The type of assignment this policy coveres. Can be either `member` or `owner`.
|
|
332
|
+
"""
|
|
333
|
+
...
|
|
334
|
+
@overload
|
|
335
|
+
def __init__(__self__,
|
|
336
|
+
resource_name: str,
|
|
337
|
+
args: GroupRoleManagementPolicyArgs,
|
|
338
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
339
|
+
"""
|
|
340
|
+
Manage a role policy for an Azure AD group.
|
|
341
|
+
|
|
342
|
+
## API Permissions
|
|
343
|
+
|
|
344
|
+
The following API permissions are required in order to use this resource.
|
|
345
|
+
|
|
346
|
+
When authenticated with a service principal, this resource requires the `RoleManagementPolicy.ReadWrite.AzureADGroup` Microsoft Graph API permissions.
|
|
347
|
+
|
|
348
|
+
When authenticated with a user principal, this resource requires `Global Administrator` directory role, or the `Privileged Role Administrator` role in Identity Governance.
|
|
349
|
+
|
|
350
|
+
## Example Usage
|
|
351
|
+
|
|
352
|
+
```python
|
|
353
|
+
import pulumi
|
|
354
|
+
import pulumi_azuread as azuread
|
|
355
|
+
|
|
356
|
+
example = azuread.Group("example",
|
|
357
|
+
display_name="group-name",
|
|
358
|
+
security_enabled=True)
|
|
359
|
+
member = azuread.User("member",
|
|
360
|
+
user_principal_name="jdoe@example.com",
|
|
361
|
+
display_name="J. Doe",
|
|
362
|
+
mail_nickname="jdoe",
|
|
363
|
+
password="SecretP@sswd99!")
|
|
364
|
+
example_group_role_management_policy = azuread.GroupRoleManagementPolicy("example",
|
|
365
|
+
group_id=example.id,
|
|
366
|
+
role_id="member",
|
|
367
|
+
active_assignment_rules={
|
|
368
|
+
"expire_after": "P365D",
|
|
369
|
+
},
|
|
370
|
+
eligible_assignment_rules={
|
|
371
|
+
"expiration_required": False,
|
|
372
|
+
},
|
|
373
|
+
notification_rules={
|
|
374
|
+
"eligible_assignments": {
|
|
375
|
+
"approver_notifications": {
|
|
376
|
+
"notification_level": "Critical",
|
|
377
|
+
"default_recipients": False,
|
|
378
|
+
"additional_recipients": [
|
|
379
|
+
"someone@example.com",
|
|
380
|
+
"someone.else@example.com",
|
|
381
|
+
],
|
|
382
|
+
},
|
|
383
|
+
},
|
|
384
|
+
})
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
## Import
|
|
388
|
+
|
|
389
|
+
Because these policies are created automatically by Entra ID, they will auto-import on first use.
|
|
390
|
+
|
|
391
|
+
:param str resource_name: The name of the resource.
|
|
392
|
+
:param GroupRoleManagementPolicyArgs args: The arguments to use to populate this resource's properties.
|
|
393
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
394
|
+
"""
|
|
395
|
+
...
|
|
396
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
397
|
+
resource_args, opts = _utilities.get_resource_args_opts(GroupRoleManagementPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
398
|
+
if resource_args is not None:
|
|
399
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
400
|
+
else:
|
|
401
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
402
|
+
|
|
403
|
+
def _internal_init(__self__,
|
|
404
|
+
resource_name: str,
|
|
405
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
406
|
+
activation_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyActivationRulesArgs', 'GroupRoleManagementPolicyActivationRulesArgsDict']]] = None,
|
|
407
|
+
active_assignment_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyActiveAssignmentRulesArgs', 'GroupRoleManagementPolicyActiveAssignmentRulesArgsDict']]] = None,
|
|
408
|
+
eligible_assignment_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyEligibleAssignmentRulesArgs', 'GroupRoleManagementPolicyEligibleAssignmentRulesArgsDict']]] = None,
|
|
409
|
+
group_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
410
|
+
notification_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyNotificationRulesArgs', 'GroupRoleManagementPolicyNotificationRulesArgsDict']]] = None,
|
|
411
|
+
role_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
412
|
+
__props__=None):
|
|
413
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
414
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
415
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
416
|
+
if opts.id is None:
|
|
417
|
+
if __props__ is not None:
|
|
418
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
419
|
+
__props__ = GroupRoleManagementPolicyArgs.__new__(GroupRoleManagementPolicyArgs)
|
|
420
|
+
|
|
421
|
+
__props__.__dict__["activation_rules"] = activation_rules
|
|
422
|
+
__props__.__dict__["active_assignment_rules"] = active_assignment_rules
|
|
423
|
+
__props__.__dict__["eligible_assignment_rules"] = eligible_assignment_rules
|
|
424
|
+
if group_id is None and not opts.urn:
|
|
425
|
+
raise TypeError("Missing required property 'group_id'")
|
|
426
|
+
__props__.__dict__["group_id"] = group_id
|
|
427
|
+
__props__.__dict__["notification_rules"] = notification_rules
|
|
428
|
+
if role_id is None and not opts.urn:
|
|
429
|
+
raise TypeError("Missing required property 'role_id'")
|
|
430
|
+
__props__.__dict__["role_id"] = role_id
|
|
431
|
+
__props__.__dict__["description"] = None
|
|
432
|
+
__props__.__dict__["display_name"] = None
|
|
433
|
+
super(GroupRoleManagementPolicy, __self__).__init__(
|
|
434
|
+
'azuread:index/groupRoleManagementPolicy:GroupRoleManagementPolicy',
|
|
435
|
+
resource_name,
|
|
436
|
+
__props__,
|
|
437
|
+
opts)
|
|
438
|
+
|
|
439
|
+
@staticmethod
|
|
440
|
+
def get(resource_name: str,
|
|
441
|
+
id: pulumi.Input[str],
|
|
442
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
443
|
+
activation_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyActivationRulesArgs', 'GroupRoleManagementPolicyActivationRulesArgsDict']]] = None,
|
|
444
|
+
active_assignment_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyActiveAssignmentRulesArgs', 'GroupRoleManagementPolicyActiveAssignmentRulesArgsDict']]] = None,
|
|
445
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
446
|
+
display_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
447
|
+
eligible_assignment_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyEligibleAssignmentRulesArgs', 'GroupRoleManagementPolicyEligibleAssignmentRulesArgsDict']]] = None,
|
|
448
|
+
group_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
449
|
+
notification_rules: Optional[pulumi.Input[Union['GroupRoleManagementPolicyNotificationRulesArgs', 'GroupRoleManagementPolicyNotificationRulesArgsDict']]] = None,
|
|
450
|
+
role_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'GroupRoleManagementPolicy':
|
|
451
|
+
"""
|
|
452
|
+
Get an existing GroupRoleManagementPolicy resource's state with the given name, id, and optional extra
|
|
453
|
+
properties used to qualify the lookup.
|
|
454
|
+
|
|
455
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
456
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
457
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
458
|
+
:param pulumi.Input[Union['GroupRoleManagementPolicyActivationRulesArgs', 'GroupRoleManagementPolicyActivationRulesArgsDict']] activation_rules: An `activation_rules` block as defined below.
|
|
459
|
+
:param pulumi.Input[Union['GroupRoleManagementPolicyActiveAssignmentRulesArgs', 'GroupRoleManagementPolicyActiveAssignmentRulesArgsDict']] active_assignment_rules: An `active_assignment_rules` block as defined below.
|
|
460
|
+
:param pulumi.Input[_builtins.str] description: (String) The description of this policy.
|
|
461
|
+
:param pulumi.Input[_builtins.str] display_name: (String) The display name of this policy.
|
|
462
|
+
:param pulumi.Input[Union['GroupRoleManagementPolicyEligibleAssignmentRulesArgs', 'GroupRoleManagementPolicyEligibleAssignmentRulesArgsDict']] eligible_assignment_rules: An `eligible_assignment_rules` block as defined below.
|
|
463
|
+
:param pulumi.Input[_builtins.str] group_id: The ID of the Azure AD group for which the policy applies.
|
|
464
|
+
:param pulumi.Input[Union['GroupRoleManagementPolicyNotificationRulesArgs', 'GroupRoleManagementPolicyNotificationRulesArgsDict']] notification_rules: A `notification_rules` block as defined below.
|
|
465
|
+
:param pulumi.Input[_builtins.str] role_id: The type of assignment this policy coveres. Can be either `member` or `owner`.
|
|
466
|
+
"""
|
|
467
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
468
|
+
|
|
469
|
+
__props__ = _GroupRoleManagementPolicyState.__new__(_GroupRoleManagementPolicyState)
|
|
470
|
+
|
|
471
|
+
__props__.__dict__["activation_rules"] = activation_rules
|
|
472
|
+
__props__.__dict__["active_assignment_rules"] = active_assignment_rules
|
|
473
|
+
__props__.__dict__["description"] = description
|
|
474
|
+
__props__.__dict__["display_name"] = display_name
|
|
475
|
+
__props__.__dict__["eligible_assignment_rules"] = eligible_assignment_rules
|
|
476
|
+
__props__.__dict__["group_id"] = group_id
|
|
477
|
+
__props__.__dict__["notification_rules"] = notification_rules
|
|
478
|
+
__props__.__dict__["role_id"] = role_id
|
|
479
|
+
return GroupRoleManagementPolicy(resource_name, opts=opts, __props__=__props__)
|
|
480
|
+
|
|
481
|
+
@_builtins.property
|
|
482
|
+
@pulumi.getter(name="activationRules")
|
|
483
|
+
def activation_rules(self) -> pulumi.Output['outputs.GroupRoleManagementPolicyActivationRules']:
|
|
484
|
+
"""
|
|
485
|
+
An `activation_rules` block as defined below.
|
|
486
|
+
"""
|
|
487
|
+
return pulumi.get(self, "activation_rules")
|
|
488
|
+
|
|
489
|
+
@_builtins.property
|
|
490
|
+
@pulumi.getter(name="activeAssignmentRules")
|
|
491
|
+
def active_assignment_rules(self) -> pulumi.Output['outputs.GroupRoleManagementPolicyActiveAssignmentRules']:
|
|
492
|
+
"""
|
|
493
|
+
An `active_assignment_rules` block as defined below.
|
|
494
|
+
"""
|
|
495
|
+
return pulumi.get(self, "active_assignment_rules")
|
|
496
|
+
|
|
497
|
+
@_builtins.property
|
|
498
|
+
@pulumi.getter
|
|
499
|
+
def description(self) -> pulumi.Output[_builtins.str]:
|
|
500
|
+
"""
|
|
501
|
+
(String) The description of this policy.
|
|
502
|
+
"""
|
|
503
|
+
return pulumi.get(self, "description")
|
|
504
|
+
|
|
505
|
+
@_builtins.property
|
|
506
|
+
@pulumi.getter(name="displayName")
|
|
507
|
+
def display_name(self) -> pulumi.Output[_builtins.str]:
|
|
508
|
+
"""
|
|
509
|
+
(String) The display name of this policy.
|
|
510
|
+
"""
|
|
511
|
+
return pulumi.get(self, "display_name")
|
|
512
|
+
|
|
513
|
+
@_builtins.property
|
|
514
|
+
@pulumi.getter(name="eligibleAssignmentRules")
|
|
515
|
+
def eligible_assignment_rules(self) -> pulumi.Output['outputs.GroupRoleManagementPolicyEligibleAssignmentRules']:
|
|
516
|
+
"""
|
|
517
|
+
An `eligible_assignment_rules` block as defined below.
|
|
518
|
+
"""
|
|
519
|
+
return pulumi.get(self, "eligible_assignment_rules")
|
|
520
|
+
|
|
521
|
+
@_builtins.property
|
|
522
|
+
@pulumi.getter(name="groupId")
|
|
523
|
+
def group_id(self) -> pulumi.Output[_builtins.str]:
|
|
524
|
+
"""
|
|
525
|
+
The ID of the Azure AD group for which the policy applies.
|
|
526
|
+
"""
|
|
527
|
+
return pulumi.get(self, "group_id")
|
|
528
|
+
|
|
529
|
+
@_builtins.property
|
|
530
|
+
@pulumi.getter(name="notificationRules")
|
|
531
|
+
def notification_rules(self) -> pulumi.Output['outputs.GroupRoleManagementPolicyNotificationRules']:
|
|
532
|
+
"""
|
|
533
|
+
A `notification_rules` block as defined below.
|
|
534
|
+
"""
|
|
535
|
+
return pulumi.get(self, "notification_rules")
|
|
536
|
+
|
|
537
|
+
@_builtins.property
|
|
538
|
+
@pulumi.getter(name="roleId")
|
|
539
|
+
def role_id(self) -> pulumi.Output[_builtins.str]:
|
|
540
|
+
"""
|
|
541
|
+
The type of assignment this policy coveres. Can be either `member` or `owner`.
|
|
542
|
+
"""
|
|
543
|
+
return pulumi.get(self, "role_id")
|
|
544
|
+
|