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.

Files changed (87) hide show
  1. pulumi_azuread/__init__.py +48 -1
  2. pulumi_azuread/_inputs.py +3803 -919
  3. pulumi_azuread/_utilities.py +52 -12
  4. pulumi_azuread/access_package.py +84 -78
  5. pulumi_azuread/access_package_assignment_policy.py +202 -196
  6. pulumi_azuread/access_package_catalog.py +82 -76
  7. pulumi_azuread/access_package_catalog_role_assignment.py +73 -67
  8. pulumi_azuread/access_package_resource_catalog_association.py +73 -67
  9. pulumi_azuread/access_package_resource_package_association.py +79 -73
  10. pulumi_azuread/administrative_unit.py +120 -100
  11. pulumi_azuread/administrative_unit_member.py +66 -50
  12. pulumi_azuread/administrative_unit_role_member.py +75 -69
  13. pulumi_azuread/app_role_assignment.py +164 -264
  14. pulumi_azuread/application.py +766 -692
  15. pulumi_azuread/application_api_access.py +84 -80
  16. pulumi_azuread/application_app_role.py +120 -116
  17. pulumi_azuread/application_certificate.py +349 -211
  18. pulumi_azuread/application_fallback_public_client.py +50 -44
  19. pulumi_azuread/application_federated_identity_credential.py +142 -197
  20. pulumi_azuread/application_from_template.py +90 -84
  21. pulumi_azuread/application_identifier_uri.py +56 -52
  22. pulumi_azuread/application_known_clients.py +50 -44
  23. pulumi_azuread/application_optional_claims.py +87 -81
  24. pulumi_azuread/application_owner.py +76 -42
  25. pulumi_azuread/application_password.py +159 -205
  26. pulumi_azuread/application_permission_scope.py +160 -156
  27. pulumi_azuread/application_pre_authorized.py +120 -236
  28. pulumi_azuread/application_redirect_uris.py +75 -69
  29. pulumi_azuread/application_registration.py +315 -309
  30. pulumi_azuread/authentication_strength_policy.py +73 -67
  31. pulumi_azuread/claims_mapping_policy.py +48 -42
  32. pulumi_azuread/conditional_access_policy.py +248 -232
  33. pulumi_azuread/config/__init__.py +2 -1
  34. pulumi_azuread/config/__init__.pyi +23 -17
  35. pulumi_azuread/config/vars.py +47 -37
  36. pulumi_azuread/custom_directory_role.py +128 -122
  37. pulumi_azuread/directory_role.py +60 -54
  38. pulumi_azuread/directory_role_assignment.py +194 -181
  39. pulumi_azuread/directory_role_eligibility_schedule_request.py +86 -80
  40. pulumi_azuread/directory_role_member.py +54 -48
  41. pulumi_azuread/get_access_package.py +45 -31
  42. pulumi_azuread/get_access_package_catalog.py +40 -27
  43. pulumi_azuread/get_access_package_catalog_role.py +39 -25
  44. pulumi_azuread/get_administrative_unit.py +42 -27
  45. pulumi_azuread/get_application.py +135 -94
  46. pulumi_azuread/get_application_published_app_ids.py +42 -47
  47. pulumi_azuread/get_application_template.py +49 -33
  48. pulumi_azuread/get_client_config.py +24 -15
  49. pulumi_azuread/get_directory_object.py +32 -21
  50. pulumi_azuread/get_directory_role_templates.py +20 -12
  51. pulumi_azuread/get_directory_roles.py +23 -14
  52. pulumi_azuread/get_domains.py +65 -46
  53. pulumi_azuread/get_group.py +147 -88
  54. pulumi_azuread/get_group_role_management_policy.py +178 -0
  55. pulumi_azuread/get_groups.py +71 -51
  56. pulumi_azuread/get_named_location.py +47 -22
  57. pulumi_azuread/get_service_principal.py +108 -90
  58. pulumi_azuread/get_service_principals.py +60 -64
  59. pulumi_azuread/get_user.py +186 -118
  60. pulumi_azuread/get_users.py +96 -53
  61. pulumi_azuread/group.py +622 -464
  62. pulumi_azuread/group_member.py +56 -50
  63. pulumi_azuread/group_role_management_policy.py +544 -0
  64. pulumi_azuread/group_without_members.py +1610 -0
  65. pulumi_azuread/invitation.py +126 -120
  66. pulumi_azuread/named_location.py +90 -76
  67. pulumi_azuread/outputs.py +2844 -1308
  68. pulumi_azuread/privileged_access_group_assignment_schedule.py +695 -0
  69. pulumi_azuread/privileged_access_group_eligibility_schedule.py +695 -0
  70. pulumi_azuread/provider.py +292 -246
  71. pulumi_azuread/pulumi-plugin.json +2 -1
  72. pulumi_azuread/service_principal.py +400 -461
  73. pulumi_azuread/service_principal_certificate.py +230 -145
  74. pulumi_azuread/service_principal_claims_mapping_policy_assignment.py +53 -47
  75. pulumi_azuread/service_principal_delegated_permission_grant.py +146 -140
  76. pulumi_azuread/service_principal_password.py +156 -141
  77. pulumi_azuread/service_principal_token_signing_certificate.py +119 -124
  78. pulumi_azuread/synchronization_job.py +105 -111
  79. pulumi_azuread/synchronization_job_provision_on_demand.py +396 -0
  80. pulumi_azuread/synchronization_secret.py +64 -70
  81. pulumi_azuread/user.py +776 -730
  82. pulumi_azuread/user_flow_attribute.py +76 -70
  83. {pulumi_azuread-5.48.0a1706744699.dist-info → pulumi_azuread-6.8.0a1766208344.dist-info}/METADATA +21 -20
  84. pulumi_azuread-6.8.0a1766208344.dist-info/RECORD +87 -0
  85. {pulumi_azuread-5.48.0a1706744699.dist-info → pulumi_azuread-6.8.0a1766208344.dist-info}/WHEEL +1 -1
  86. pulumi_azuread-5.48.0a1706744699.dist-info/RECORD +0 -81
  87. {pulumi_azuread-5.48.0a1706744699.dist-info → pulumi_azuread-6.8.0a1766208344.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,17 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['DirectoryRoleAssignmentArgs', 'DirectoryRoleAssignment']
@@ -14,232 +19,155 @@ __all__ = ['DirectoryRoleAssignmentArgs', 'DirectoryRoleAssignment']
14
19
  @pulumi.input_type
15
20
  class DirectoryRoleAssignmentArgs:
16
21
  def __init__(__self__, *,
17
- principal_object_id: pulumi.Input[str],
18
- role_id: pulumi.Input[str],
19
- app_scope_id: Optional[pulumi.Input[str]] = None,
20
- app_scope_object_id: Optional[pulumi.Input[str]] = None,
21
- directory_scope_id: Optional[pulumi.Input[str]] = None,
22
- directory_scope_object_id: Optional[pulumi.Input[str]] = None):
22
+ principal_object_id: pulumi.Input[_builtins.str],
23
+ role_id: pulumi.Input[_builtins.str],
24
+ app_scope_id: Optional[pulumi.Input[_builtins.str]] = None,
25
+ directory_scope_id: Optional[pulumi.Input[_builtins.str]] = None):
23
26
  """
24
27
  The set of arguments for constructing a DirectoryRoleAssignment resource.
25
- :param pulumi.Input[str] principal_object_id: The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
26
- :param pulumi.Input[str] role_id: The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
27
- :param pulumi.Input[str] app_scope_id: Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
28
- :param pulumi.Input[str] app_scope_object_id: Identifier of the app-specific scope when the assignment scope is app-specific
29
- :param pulumi.Input[str] directory_scope_id: Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
30
- :param pulumi.Input[str] directory_scope_object_id: Identifier of the directory object representing the scope of the assignment
28
+ :param pulumi.Input[_builtins.str] principal_object_id: The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
29
+ :param pulumi.Input[_builtins.str] role_id: The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
30
+ :param pulumi.Input[_builtins.str] app_scope_id: Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
31
+ :param pulumi.Input[_builtins.str] directory_scope_id: Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
31
32
  """
32
33
  pulumi.set(__self__, "principal_object_id", principal_object_id)
33
34
  pulumi.set(__self__, "role_id", role_id)
34
35
  if app_scope_id is not None:
35
36
  pulumi.set(__self__, "app_scope_id", app_scope_id)
36
- if app_scope_object_id is not None:
37
- warnings.warn("""`app_scope_object_id` has been renamed to `app_scope_id` and will be removed in version 3.0 or the AzureAD Provider""", DeprecationWarning)
38
- pulumi.log.warn("""app_scope_object_id is deprecated: `app_scope_object_id` has been renamed to `app_scope_id` and will be removed in version 3.0 or the AzureAD Provider""")
39
- if app_scope_object_id is not None:
40
- pulumi.set(__self__, "app_scope_object_id", app_scope_object_id)
41
37
  if directory_scope_id is not None:
42
38
  pulumi.set(__self__, "directory_scope_id", directory_scope_id)
43
- if directory_scope_object_id is not None:
44
- pulumi.set(__self__, "directory_scope_object_id", directory_scope_object_id)
45
39
 
46
- @property
40
+ @_builtins.property
47
41
  @pulumi.getter(name="principalObjectId")
48
- def principal_object_id(self) -> pulumi.Input[str]:
42
+ def principal_object_id(self) -> pulumi.Input[_builtins.str]:
49
43
  """
50
44
  The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
51
45
  """
52
46
  return pulumi.get(self, "principal_object_id")
53
47
 
54
48
  @principal_object_id.setter
55
- def principal_object_id(self, value: pulumi.Input[str]):
49
+ def principal_object_id(self, value: pulumi.Input[_builtins.str]):
56
50
  pulumi.set(self, "principal_object_id", value)
57
51
 
58
- @property
52
+ @_builtins.property
59
53
  @pulumi.getter(name="roleId")
60
- def role_id(self) -> pulumi.Input[str]:
54
+ def role_id(self) -> pulumi.Input[_builtins.str]:
61
55
  """
62
56
  The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
63
57
  """
64
58
  return pulumi.get(self, "role_id")
65
59
 
66
60
  @role_id.setter
67
- def role_id(self, value: pulumi.Input[str]):
61
+ def role_id(self, value: pulumi.Input[_builtins.str]):
68
62
  pulumi.set(self, "role_id", value)
69
63
 
70
- @property
64
+ @_builtins.property
71
65
  @pulumi.getter(name="appScopeId")
72
- def app_scope_id(self) -> Optional[pulumi.Input[str]]:
66
+ def app_scope_id(self) -> Optional[pulumi.Input[_builtins.str]]:
73
67
  """
74
68
  Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
75
69
  """
76
70
  return pulumi.get(self, "app_scope_id")
77
71
 
78
72
  @app_scope_id.setter
79
- def app_scope_id(self, value: Optional[pulumi.Input[str]]):
73
+ def app_scope_id(self, value: Optional[pulumi.Input[_builtins.str]]):
80
74
  pulumi.set(self, "app_scope_id", value)
81
75
 
82
- @property
83
- @pulumi.getter(name="appScopeObjectId")
84
- def app_scope_object_id(self) -> Optional[pulumi.Input[str]]:
85
- """
86
- Identifier of the app-specific scope when the assignment scope is app-specific
87
- """
88
- warnings.warn("""`app_scope_object_id` has been renamed to `app_scope_id` and will be removed in version 3.0 or the AzureAD Provider""", DeprecationWarning)
89
- pulumi.log.warn("""app_scope_object_id is deprecated: `app_scope_object_id` has been renamed to `app_scope_id` and will be removed in version 3.0 or the AzureAD Provider""")
90
-
91
- return pulumi.get(self, "app_scope_object_id")
92
-
93
- @app_scope_object_id.setter
94
- def app_scope_object_id(self, value: Optional[pulumi.Input[str]]):
95
- pulumi.set(self, "app_scope_object_id", value)
96
-
97
- @property
76
+ @_builtins.property
98
77
  @pulumi.getter(name="directoryScopeId")
99
- def directory_scope_id(self) -> Optional[pulumi.Input[str]]:
78
+ def directory_scope_id(self) -> Optional[pulumi.Input[_builtins.str]]:
100
79
  """
101
80
  Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
102
81
  """
103
82
  return pulumi.get(self, "directory_scope_id")
104
83
 
105
84
  @directory_scope_id.setter
106
- def directory_scope_id(self, value: Optional[pulumi.Input[str]]):
85
+ def directory_scope_id(self, value: Optional[pulumi.Input[_builtins.str]]):
107
86
  pulumi.set(self, "directory_scope_id", value)
108
87
 
109
- @property
110
- @pulumi.getter(name="directoryScopeObjectId")
111
- def directory_scope_object_id(self) -> Optional[pulumi.Input[str]]:
112
- """
113
- Identifier of the directory object representing the scope of the assignment
114
- """
115
- return pulumi.get(self, "directory_scope_object_id")
116
-
117
- @directory_scope_object_id.setter
118
- def directory_scope_object_id(self, value: Optional[pulumi.Input[str]]):
119
- pulumi.set(self, "directory_scope_object_id", value)
120
-
121
88
 
122
89
  @pulumi.input_type
123
90
  class _DirectoryRoleAssignmentState:
124
91
  def __init__(__self__, *,
125
- app_scope_id: Optional[pulumi.Input[str]] = None,
126
- app_scope_object_id: Optional[pulumi.Input[str]] = None,
127
- directory_scope_id: Optional[pulumi.Input[str]] = None,
128
- directory_scope_object_id: Optional[pulumi.Input[str]] = None,
129
- principal_object_id: Optional[pulumi.Input[str]] = None,
130
- role_id: Optional[pulumi.Input[str]] = None):
92
+ app_scope_id: Optional[pulumi.Input[_builtins.str]] = None,
93
+ directory_scope_id: Optional[pulumi.Input[_builtins.str]] = None,
94
+ principal_object_id: Optional[pulumi.Input[_builtins.str]] = None,
95
+ role_id: Optional[pulumi.Input[_builtins.str]] = None):
131
96
  """
132
97
  Input properties used for looking up and filtering DirectoryRoleAssignment resources.
133
- :param pulumi.Input[str] app_scope_id: Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
134
- :param pulumi.Input[str] app_scope_object_id: Identifier of the app-specific scope when the assignment scope is app-specific
135
- :param pulumi.Input[str] directory_scope_id: Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
136
- :param pulumi.Input[str] directory_scope_object_id: Identifier of the directory object representing the scope of the assignment
137
- :param pulumi.Input[str] principal_object_id: The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
138
- :param pulumi.Input[str] role_id: The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
98
+ :param pulumi.Input[_builtins.str] app_scope_id: Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
99
+ :param pulumi.Input[_builtins.str] directory_scope_id: Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
100
+ :param pulumi.Input[_builtins.str] principal_object_id: The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
101
+ :param pulumi.Input[_builtins.str] role_id: The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
139
102
  """
140
103
  if app_scope_id is not None:
141
104
  pulumi.set(__self__, "app_scope_id", app_scope_id)
142
- if app_scope_object_id is not None:
143
- warnings.warn("""`app_scope_object_id` has been renamed to `app_scope_id` and will be removed in version 3.0 or the AzureAD Provider""", DeprecationWarning)
144
- pulumi.log.warn("""app_scope_object_id is deprecated: `app_scope_object_id` has been renamed to `app_scope_id` and will be removed in version 3.0 or the AzureAD Provider""")
145
- if app_scope_object_id is not None:
146
- pulumi.set(__self__, "app_scope_object_id", app_scope_object_id)
147
105
  if directory_scope_id is not None:
148
106
  pulumi.set(__self__, "directory_scope_id", directory_scope_id)
149
- if directory_scope_object_id is not None:
150
- pulumi.set(__self__, "directory_scope_object_id", directory_scope_object_id)
151
107
  if principal_object_id is not None:
152
108
  pulumi.set(__self__, "principal_object_id", principal_object_id)
153
109
  if role_id is not None:
154
110
  pulumi.set(__self__, "role_id", role_id)
155
111
 
156
- @property
112
+ @_builtins.property
157
113
  @pulumi.getter(name="appScopeId")
158
- def app_scope_id(self) -> Optional[pulumi.Input[str]]:
114
+ def app_scope_id(self) -> Optional[pulumi.Input[_builtins.str]]:
159
115
  """
160
116
  Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
161
117
  """
162
118
  return pulumi.get(self, "app_scope_id")
163
119
 
164
120
  @app_scope_id.setter
165
- def app_scope_id(self, value: Optional[pulumi.Input[str]]):
121
+ def app_scope_id(self, value: Optional[pulumi.Input[_builtins.str]]):
166
122
  pulumi.set(self, "app_scope_id", value)
167
123
 
168
- @property
169
- @pulumi.getter(name="appScopeObjectId")
170
- def app_scope_object_id(self) -> Optional[pulumi.Input[str]]:
171
- """
172
- Identifier of the app-specific scope when the assignment scope is app-specific
173
- """
174
- warnings.warn("""`app_scope_object_id` has been renamed to `app_scope_id` and will be removed in version 3.0 or the AzureAD Provider""", DeprecationWarning)
175
- pulumi.log.warn("""app_scope_object_id is deprecated: `app_scope_object_id` has been renamed to `app_scope_id` and will be removed in version 3.0 or the AzureAD Provider""")
176
-
177
- return pulumi.get(self, "app_scope_object_id")
178
-
179
- @app_scope_object_id.setter
180
- def app_scope_object_id(self, value: Optional[pulumi.Input[str]]):
181
- pulumi.set(self, "app_scope_object_id", value)
182
-
183
- @property
124
+ @_builtins.property
184
125
  @pulumi.getter(name="directoryScopeId")
185
- def directory_scope_id(self) -> Optional[pulumi.Input[str]]:
126
+ def directory_scope_id(self) -> Optional[pulumi.Input[_builtins.str]]:
186
127
  """
187
128
  Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
188
129
  """
189
130
  return pulumi.get(self, "directory_scope_id")
190
131
 
191
132
  @directory_scope_id.setter
192
- def directory_scope_id(self, value: Optional[pulumi.Input[str]]):
133
+ def directory_scope_id(self, value: Optional[pulumi.Input[_builtins.str]]):
193
134
  pulumi.set(self, "directory_scope_id", value)
194
135
 
195
- @property
196
- @pulumi.getter(name="directoryScopeObjectId")
197
- def directory_scope_object_id(self) -> Optional[pulumi.Input[str]]:
198
- """
199
- Identifier of the directory object representing the scope of the assignment
200
- """
201
- return pulumi.get(self, "directory_scope_object_id")
202
-
203
- @directory_scope_object_id.setter
204
- def directory_scope_object_id(self, value: Optional[pulumi.Input[str]]):
205
- pulumi.set(self, "directory_scope_object_id", value)
206
-
207
- @property
136
+ @_builtins.property
208
137
  @pulumi.getter(name="principalObjectId")
209
- def principal_object_id(self) -> Optional[pulumi.Input[str]]:
138
+ def principal_object_id(self) -> Optional[pulumi.Input[_builtins.str]]:
210
139
  """
211
140
  The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
212
141
  """
213
142
  return pulumi.get(self, "principal_object_id")
214
143
 
215
144
  @principal_object_id.setter
216
- def principal_object_id(self, value: Optional[pulumi.Input[str]]):
145
+ def principal_object_id(self, value: Optional[pulumi.Input[_builtins.str]]):
217
146
  pulumi.set(self, "principal_object_id", value)
218
147
 
219
- @property
148
+ @_builtins.property
220
149
  @pulumi.getter(name="roleId")
221
- def role_id(self) -> Optional[pulumi.Input[str]]:
150
+ def role_id(self) -> Optional[pulumi.Input[_builtins.str]]:
222
151
  """
223
152
  The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
224
153
  """
225
154
  return pulumi.get(self, "role_id")
226
155
 
227
156
  @role_id.setter
228
- def role_id(self, value: Optional[pulumi.Input[str]]):
157
+ def role_id(self, value: Optional[pulumi.Input[_builtins.str]]):
229
158
  pulumi.set(self, "role_id", value)
230
159
 
231
160
 
161
+ @pulumi.type_token("azuread:index/directoryRoleAssignment:DirectoryRoleAssignment")
232
162
  class DirectoryRoleAssignment(pulumi.CustomResource):
233
163
  @overload
234
164
  def __init__(__self__,
235
165
  resource_name: str,
236
166
  opts: Optional[pulumi.ResourceOptions] = None,
237
- app_scope_id: Optional[pulumi.Input[str]] = None,
238
- app_scope_object_id: Optional[pulumi.Input[str]] = None,
239
- directory_scope_id: Optional[pulumi.Input[str]] = None,
240
- directory_scope_object_id: Optional[pulumi.Input[str]] = None,
241
- principal_object_id: Optional[pulumi.Input[str]] = None,
242
- role_id: Optional[pulumi.Input[str]] = None,
167
+ app_scope_id: Optional[pulumi.Input[_builtins.str]] = None,
168
+ directory_scope_id: Optional[pulumi.Input[_builtins.str]] = None,
169
+ principal_object_id: Optional[pulumi.Input[_builtins.str]] = None,
170
+ role_id: Optional[pulumi.Input[_builtins.str]] = None,
243
171
  __props__=None):
244
172
  """
245
173
  Manages a single directory role assignment within Azure Active Directory.
@@ -252,22 +180,78 @@ class DirectoryRoleAssignment(pulumi.CustomResource):
252
180
 
253
181
  When authenticated with a user principal, this resource requires one of the following directory roles: `Privileged Role Administrator` or `Global Administrator`
254
182
 
183
+ ## Example Usage
184
+
185
+ *Assignment for a built-in role*
186
+
187
+ ```python
188
+ import pulumi
189
+ import pulumi_azuread as azuread
190
+
191
+ example = azuread.get_user(user_principal_name="jdoe@example.com")
192
+ example_directory_role = azuread.DirectoryRole("example", display_name="Security administrator")
193
+ example_directory_role_assignment = azuread.DirectoryRoleAssignment("example",
194
+ role_id=example_directory_role.template_id,
195
+ principal_object_id=example.object_id)
196
+ ```
197
+
198
+ > Note the use of the `template_id` attribute when referencing built-in roles.
199
+
200
+ *Assignment for a custom role*
201
+
202
+ ```python
203
+ import pulumi
204
+ import pulumi_azuread as azuread
205
+
206
+ example = azuread.get_user(user_principal_name="jdoe@example.com")
207
+ example_custom_directory_role = azuread.CustomDirectoryRole("example",
208
+ display_name="My Custom Role",
209
+ enabled=True,
210
+ version="1.0",
211
+ permissions=[{
212
+ "allowed_resource_actions": [
213
+ "microsoft.directory/applications/basic/update",
214
+ "microsoft.directory/applications/standard/read",
215
+ ],
216
+ }])
217
+ example_directory_role_assignment = azuread.DirectoryRoleAssignment("example",
218
+ role_id=example_custom_directory_role.object_id,
219
+ principal_object_id=example.object_id)
220
+ ```
221
+
222
+ *Scoped assignment for an application*
223
+
224
+ ```python
225
+ import pulumi
226
+ import pulumi_azuread as azuread
227
+ import pulumi_std as std
228
+
229
+ example_directory_role = azuread.DirectoryRole("example", display_name="Cloud application administrator")
230
+ example_application = azuread.Application("example", display_name="My Application")
231
+ example = azuread.get_user(user_principal_name="jdoe@example.com")
232
+ example_directory_role_assignment = azuread.DirectoryRoleAssignment("example",
233
+ role_id=example_directory_role.template_id,
234
+ principal_object_id=example.object_id,
235
+ directory_scope_id=std.format(input="/%s",
236
+ args=[example_application.object_id]).result)
237
+ ```
238
+
239
+ > Note the use of the `template_id` attribute when referencing built-in roles.
240
+
255
241
  ## Import
256
242
 
257
243
  Directory role assignments can be imported using the ID of the assignment, e.g.
258
244
 
259
245
  ```sh
260
- $ pulumi import azuread:index/directoryRoleAssignment:DirectoryRoleAssignment example ePROZI_iKE653D_d6aoLHyr-lKgHI8ZGiIdz8CLVcng-1
246
+ $ pulumi import azuread:index/directoryRoleAssignment:DirectoryRoleAssignment example ePROZI_iKE653D_d6aoLHyr-lKgHI8ZGiIdz8CLVcng-1
261
247
  ```
262
248
 
263
249
  :param str resource_name: The name of the resource.
264
250
  :param pulumi.ResourceOptions opts: Options for the resource.
265
- :param pulumi.Input[str] app_scope_id: Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
266
- :param pulumi.Input[str] app_scope_object_id: Identifier of the app-specific scope when the assignment scope is app-specific
267
- :param pulumi.Input[str] directory_scope_id: Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
268
- :param pulumi.Input[str] directory_scope_object_id: Identifier of the directory object representing the scope of the assignment
269
- :param pulumi.Input[str] principal_object_id: The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
270
- :param pulumi.Input[str] role_id: The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
251
+ :param pulumi.Input[_builtins.str] app_scope_id: Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
252
+ :param pulumi.Input[_builtins.str] directory_scope_id: Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
253
+ :param pulumi.Input[_builtins.str] principal_object_id: The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
254
+ :param pulumi.Input[_builtins.str] role_id: The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
271
255
  """
272
256
  ...
273
257
  @overload
@@ -286,12 +270,70 @@ class DirectoryRoleAssignment(pulumi.CustomResource):
286
270
 
287
271
  When authenticated with a user principal, this resource requires one of the following directory roles: `Privileged Role Administrator` or `Global Administrator`
288
272
 
273
+ ## Example Usage
274
+
275
+ *Assignment for a built-in role*
276
+
277
+ ```python
278
+ import pulumi
279
+ import pulumi_azuread as azuread
280
+
281
+ example = azuread.get_user(user_principal_name="jdoe@example.com")
282
+ example_directory_role = azuread.DirectoryRole("example", display_name="Security administrator")
283
+ example_directory_role_assignment = azuread.DirectoryRoleAssignment("example",
284
+ role_id=example_directory_role.template_id,
285
+ principal_object_id=example.object_id)
286
+ ```
287
+
288
+ > Note the use of the `template_id` attribute when referencing built-in roles.
289
+
290
+ *Assignment for a custom role*
291
+
292
+ ```python
293
+ import pulumi
294
+ import pulumi_azuread as azuread
295
+
296
+ example = azuread.get_user(user_principal_name="jdoe@example.com")
297
+ example_custom_directory_role = azuread.CustomDirectoryRole("example",
298
+ display_name="My Custom Role",
299
+ enabled=True,
300
+ version="1.0",
301
+ permissions=[{
302
+ "allowed_resource_actions": [
303
+ "microsoft.directory/applications/basic/update",
304
+ "microsoft.directory/applications/standard/read",
305
+ ],
306
+ }])
307
+ example_directory_role_assignment = azuread.DirectoryRoleAssignment("example",
308
+ role_id=example_custom_directory_role.object_id,
309
+ principal_object_id=example.object_id)
310
+ ```
311
+
312
+ *Scoped assignment for an application*
313
+
314
+ ```python
315
+ import pulumi
316
+ import pulumi_azuread as azuread
317
+ import pulumi_std as std
318
+
319
+ example_directory_role = azuread.DirectoryRole("example", display_name="Cloud application administrator")
320
+ example_application = azuread.Application("example", display_name="My Application")
321
+ example = azuread.get_user(user_principal_name="jdoe@example.com")
322
+ example_directory_role_assignment = azuread.DirectoryRoleAssignment("example",
323
+ role_id=example_directory_role.template_id,
324
+ principal_object_id=example.object_id,
325
+ directory_scope_id=std.format(input="/%s",
326
+ args=[example_application.object_id]).result)
327
+ ```
328
+
329
+ > Note the use of the `template_id` attribute when referencing built-in roles.
330
+
289
331
  ## Import
290
332
 
291
333
  Directory role assignments can be imported using the ID of the assignment, e.g.
292
334
 
293
335
  ```sh
294
- $ pulumi import azuread:index/directoryRoleAssignment:DirectoryRoleAssignment example ePROZI_iKE653D_d6aoLHyr-lKgHI8ZGiIdz8CLVcng-1
336
+ $ pulumi import azuread:index/directoryRoleAssignment:DirectoryRoleAssignment example ePROZI_iKE653D_d6aoLHyr-lKgHI8ZGiIdz8CLVcng-1
295
337
  ```
296
338
 
297
339
  :param str resource_name: The name of the resource.
@@ -309,12 +351,10 @@ class DirectoryRoleAssignment(pulumi.CustomResource):
309
351
  def _internal_init(__self__,
310
352
  resource_name: str,
311
353
  opts: Optional[pulumi.ResourceOptions] = None,
312
- app_scope_id: Optional[pulumi.Input[str]] = None,
313
- app_scope_object_id: Optional[pulumi.Input[str]] = None,
314
- directory_scope_id: Optional[pulumi.Input[str]] = None,
315
- directory_scope_object_id: Optional[pulumi.Input[str]] = None,
316
- principal_object_id: Optional[pulumi.Input[str]] = None,
317
- role_id: Optional[pulumi.Input[str]] = None,
354
+ app_scope_id: Optional[pulumi.Input[_builtins.str]] = None,
355
+ directory_scope_id: Optional[pulumi.Input[_builtins.str]] = None,
356
+ principal_object_id: Optional[pulumi.Input[_builtins.str]] = None,
357
+ role_id: Optional[pulumi.Input[_builtins.str]] = None,
318
358
  __props__=None):
319
359
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
320
360
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -325,9 +365,7 @@ class DirectoryRoleAssignment(pulumi.CustomResource):
325
365
  __props__ = DirectoryRoleAssignmentArgs.__new__(DirectoryRoleAssignmentArgs)
326
366
 
327
367
  __props__.__dict__["app_scope_id"] = app_scope_id
328
- __props__.__dict__["app_scope_object_id"] = app_scope_object_id
329
368
  __props__.__dict__["directory_scope_id"] = directory_scope_id
330
- __props__.__dict__["directory_scope_object_id"] = directory_scope_object_id
331
369
  if principal_object_id is None and not opts.urn:
332
370
  raise TypeError("Missing required property 'principal_object_id'")
333
371
  __props__.__dict__["principal_object_id"] = principal_object_id
@@ -344,12 +382,10 @@ class DirectoryRoleAssignment(pulumi.CustomResource):
344
382
  def get(resource_name: str,
345
383
  id: pulumi.Input[str],
346
384
  opts: Optional[pulumi.ResourceOptions] = None,
347
- app_scope_id: Optional[pulumi.Input[str]] = None,
348
- app_scope_object_id: Optional[pulumi.Input[str]] = None,
349
- directory_scope_id: Optional[pulumi.Input[str]] = None,
350
- directory_scope_object_id: Optional[pulumi.Input[str]] = None,
351
- principal_object_id: Optional[pulumi.Input[str]] = None,
352
- role_id: Optional[pulumi.Input[str]] = None) -> 'DirectoryRoleAssignment':
385
+ app_scope_id: Optional[pulumi.Input[_builtins.str]] = None,
386
+ directory_scope_id: Optional[pulumi.Input[_builtins.str]] = None,
387
+ principal_object_id: Optional[pulumi.Input[_builtins.str]] = None,
388
+ role_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'DirectoryRoleAssignment':
353
389
  """
354
390
  Get an existing DirectoryRoleAssignment resource's state with the given name, id, and optional extra
355
391
  properties used to qualify the lookup.
@@ -357,71 +393,48 @@ class DirectoryRoleAssignment(pulumi.CustomResource):
357
393
  :param str resource_name: The unique name of the resulting resource.
358
394
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
359
395
  :param pulumi.ResourceOptions opts: Options for the resource.
360
- :param pulumi.Input[str] app_scope_id: Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
361
- :param pulumi.Input[str] app_scope_object_id: Identifier of the app-specific scope when the assignment scope is app-specific
362
- :param pulumi.Input[str] directory_scope_id: Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
363
- :param pulumi.Input[str] directory_scope_object_id: Identifier of the directory object representing the scope of the assignment
364
- :param pulumi.Input[str] principal_object_id: The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
365
- :param pulumi.Input[str] role_id: The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
396
+ :param pulumi.Input[_builtins.str] app_scope_id: Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
397
+ :param pulumi.Input[_builtins.str] directory_scope_id: Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
398
+ :param pulumi.Input[_builtins.str] principal_object_id: The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
399
+ :param pulumi.Input[_builtins.str] role_id: The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
366
400
  """
367
401
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
368
402
 
369
403
  __props__ = _DirectoryRoleAssignmentState.__new__(_DirectoryRoleAssignmentState)
370
404
 
371
405
  __props__.__dict__["app_scope_id"] = app_scope_id
372
- __props__.__dict__["app_scope_object_id"] = app_scope_object_id
373
406
  __props__.__dict__["directory_scope_id"] = directory_scope_id
374
- __props__.__dict__["directory_scope_object_id"] = directory_scope_object_id
375
407
  __props__.__dict__["principal_object_id"] = principal_object_id
376
408
  __props__.__dict__["role_id"] = role_id
377
409
  return DirectoryRoleAssignment(resource_name, opts=opts, __props__=__props__)
378
410
 
379
- @property
411
+ @_builtins.property
380
412
  @pulumi.getter(name="appScopeId")
381
- def app_scope_id(self) -> pulumi.Output[str]:
413
+ def app_scope_id(self) -> pulumi.Output[_builtins.str]:
382
414
  """
383
415
  Identifier of the app-specific scope when the assignment scope is app-specific. Cannot be used with `directory_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
384
416
  """
385
417
  return pulumi.get(self, "app_scope_id")
386
418
 
387
- @property
388
- @pulumi.getter(name="appScopeObjectId")
389
- def app_scope_object_id(self) -> pulumi.Output[str]:
390
- """
391
- Identifier of the app-specific scope when the assignment scope is app-specific
392
- """
393
- warnings.warn("""`app_scope_object_id` has been renamed to `app_scope_id` and will be removed in version 3.0 or the AzureAD Provider""", DeprecationWarning)
394
- pulumi.log.warn("""app_scope_object_id is deprecated: `app_scope_object_id` has been renamed to `app_scope_id` and will be removed in version 3.0 or the AzureAD Provider""")
395
-
396
- return pulumi.get(self, "app_scope_object_id")
397
-
398
- @property
419
+ @_builtins.property
399
420
  @pulumi.getter(name="directoryScopeId")
400
- def directory_scope_id(self) -> pulumi.Output[str]:
421
+ def directory_scope_id(self) -> pulumi.Output[_builtins.str]:
401
422
  """
402
423
  Identifier of the directory object representing the scope of the assignment. Cannot be used with `app_scope_id`. See [official documentation](https://docs.microsoft.com/en-us/graph/api/rbacapplication-post-roleassignments?view=graph-rest-1.0&tabs=http) for example usage. Changing this forces a new resource to be created.
403
424
  """
404
425
  return pulumi.get(self, "directory_scope_id")
405
426
 
406
- @property
407
- @pulumi.getter(name="directoryScopeObjectId")
408
- def directory_scope_object_id(self) -> pulumi.Output[str]:
409
- """
410
- Identifier of the directory object representing the scope of the assignment
411
- """
412
- return pulumi.get(self, "directory_scope_object_id")
413
-
414
- @property
427
+ @_builtins.property
415
428
  @pulumi.getter(name="principalObjectId")
416
- def principal_object_id(self) -> pulumi.Output[str]:
429
+ def principal_object_id(self) -> pulumi.Output[_builtins.str]:
417
430
  """
418
431
  The object ID of the principal for you want to create a role assignment. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created.
419
432
  """
420
433
  return pulumi.get(self, "principal_object_id")
421
434
 
422
- @property
435
+ @_builtins.property
423
436
  @pulumi.getter(name="roleId")
424
- def role_id(self) -> pulumi.Output[str]:
437
+ def role_id(self) -> pulumi.Output[_builtins.str]:
425
438
  """
426
439
  The template ID (in the case of built-in roles) or object ID (in the case of custom roles) of the directory role you want to assign. Changing this forces a new resource to be created.
427
440
  """