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,1610 @@
|
|
|
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__ = ['GroupWithoutMembersArgs', 'GroupWithoutMembers']
|
|
20
|
+
|
|
21
|
+
@pulumi.input_type
|
|
22
|
+
class GroupWithoutMembersArgs:
|
|
23
|
+
def __init__(__self__, *,
|
|
24
|
+
display_name: pulumi.Input[_builtins.str],
|
|
25
|
+
administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
26
|
+
assignable_to_role: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
27
|
+
auto_subscribe_new_members: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
28
|
+
behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
29
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
+
dynamic_membership: Optional[pulumi.Input['GroupWithoutMembersDynamicMembershipArgs']] = None,
|
|
31
|
+
external_senders_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
32
|
+
hide_from_address_lists: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
33
|
+
hide_from_outlook_clients: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
34
|
+
mail_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
35
|
+
mail_nickname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
36
|
+
onpremises_group_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
37
|
+
owners: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
38
|
+
prevent_duplicate_names: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
39
|
+
provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
40
|
+
security_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
41
|
+
theme: Optional[pulumi.Input[_builtins.str]] = None,
|
|
42
|
+
types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
43
|
+
visibility: Optional[pulumi.Input[_builtins.str]] = None,
|
|
44
|
+
writeback_enabled: Optional[pulumi.Input[_builtins.bool]] = None):
|
|
45
|
+
"""
|
|
46
|
+
The set of arguments for constructing a GroupWithoutMembers resource.
|
|
47
|
+
:param pulumi.Input[_builtins.str] display_name: The display name for the group.
|
|
48
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] administrative_unit_ids: The object IDs of administrative units in which the group is a member. If specified, new groups will be created in the scope of the first administrative unit and added to the others. If empty, new groups will be created at the tenant level.
|
|
49
|
+
|
|
50
|
+
> **Caution** When using the AdministrativeUnitMember resource, or the `members` property of the AdministrativeUnit resource, to manage Administrative Unit membership for a group, you will need to use an `ignore_changes = [administrative_unit_ids]` lifecycle meta argument for the `Group` resource, in order to avoid a persistent diff.
|
|
51
|
+
:param pulumi.Input[_builtins.bool] assignable_to_role: Indicates whether this group can be assigned to an Azure Active Directory role. Defaults to `false`. Can only be set to `true` for security-enabled groups. Changing this forces a new resource to be created.
|
|
52
|
+
:param pulumi.Input[_builtins.bool] auto_subscribe_new_members: Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups.
|
|
53
|
+
|
|
54
|
+
> **Known Permissions Issue** The `auto_subscribe_new_members` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
55
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] behaviors: A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `SkipExchangeInstantOn`, `SubscribeMembersToCalendarEventsDisabled`, `SubscribeNewGroupMembers` and `WelcomeEmailDisabled`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for more details. Changing this forces a new resource to be created.
|
|
56
|
+
:param pulumi.Input[_builtins.str] description: The description for the group.
|
|
57
|
+
:param pulumi.Input['GroupWithoutMembersDynamicMembershipArgs'] dynamic_membership: A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
|
|
58
|
+
:param pulumi.Input[_builtins.bool] external_senders_allowed: Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
|
|
59
|
+
|
|
60
|
+
> **Known Permissions Issue** The `external_senders_allowed` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
61
|
+
:param pulumi.Input[_builtins.bool] hide_from_address_lists: Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups. Can only be set for Unified groups.
|
|
62
|
+
|
|
63
|
+
> **Known Permissions Issue** The `hide_from_address_lists` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
64
|
+
:param pulumi.Input[_builtins.bool] hide_from_outlook_clients: Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web. Can only be set for Unified groups.
|
|
65
|
+
|
|
66
|
+
> **Known Permissions Issue** The `hide_from_outlook_clients` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
67
|
+
:param pulumi.Input[_builtins.bool] mail_enabled: Whether the group is a mail enabled, with a shared group mailbox. At least one of `mail_enabled` or `security_enabled` must be specified. Only Microsoft 365 groups can be mail enabled (see the `types` property).
|
|
68
|
+
:param pulumi.Input[_builtins.str] mail_nickname: The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created.
|
|
69
|
+
:param pulumi.Input[_builtins.str] onpremises_group_type: The on-premises group type that the AAD group will be written as, when writeback is enabled. Possible values are `UniversalDistributionGroup`, `UniversalMailEnabledSecurityGroup`, or `UniversalSecurityGroup`.
|
|
70
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] owners: A set of owners who own this group. Supported object types are Users or Service Principals
|
|
71
|
+
:param pulumi.Input[_builtins.bool] prevent_duplicate_names: If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
|
|
72
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] provisioning_options: A set of provisioning options for a Microsoft 365 group. The only supported value is `Team`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for details. Changing this forces a new resource to be created.
|
|
73
|
+
:param pulumi.Input[_builtins.bool] security_enabled: Whether the group is a security group for controlling access to in-app resources. At least one of `security_enabled` or `mail_enabled` must be specified. A Microsoft 365 group can be security enabled _and_ mail enabled (see the `types` property).
|
|
74
|
+
:param pulumi.Input[_builtins.str] theme: The colour theme for a Microsoft 365 group. Possible values are `Blue`, `Green`, `Orange`, `Pink`, `Purple`, `Red` or `Teal`. By default, no theme is set.
|
|
75
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] types: A set of group types to configure for the group. Supported values are `DynamicMembership`, which denotes a group with dynamic membership, and `Unified`, which specifies a Microsoft 365 group. Required when `mail_enabled` is true. Changing this forces a new resource to be created.
|
|
76
|
+
|
|
77
|
+
> **Supported Group Types** At present, only security groups and Microsoft 365 groups can be created or managed with this resource. Distribution groups and mail-enabled security groups are not supported. Microsoft 365 groups can be security-enabled.
|
|
78
|
+
:param pulumi.Input[_builtins.str] visibility: The group join policy and group content visibility. Possible values are `Private`, `Public`, or `Hiddenmembership`. Only Microsoft 365 groups can have `Hiddenmembership` visibility and this value must be set when the group is created. By default, security groups will receive `Private` visibility and Microsoft 365 groups will receive `Public` visibility.
|
|
79
|
+
|
|
80
|
+
> **Group Name Uniqueness** Group names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing groups if you want to avoid name collisions.
|
|
81
|
+
:param pulumi.Input[_builtins.bool] writeback_enabled: Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
|
|
82
|
+
"""
|
|
83
|
+
pulumi.set(__self__, "display_name", display_name)
|
|
84
|
+
if administrative_unit_ids is not None:
|
|
85
|
+
pulumi.set(__self__, "administrative_unit_ids", administrative_unit_ids)
|
|
86
|
+
if assignable_to_role is not None:
|
|
87
|
+
pulumi.set(__self__, "assignable_to_role", assignable_to_role)
|
|
88
|
+
if auto_subscribe_new_members is not None:
|
|
89
|
+
pulumi.set(__self__, "auto_subscribe_new_members", auto_subscribe_new_members)
|
|
90
|
+
if behaviors is not None:
|
|
91
|
+
pulumi.set(__self__, "behaviors", behaviors)
|
|
92
|
+
if description is not None:
|
|
93
|
+
pulumi.set(__self__, "description", description)
|
|
94
|
+
if dynamic_membership is not None:
|
|
95
|
+
pulumi.set(__self__, "dynamic_membership", dynamic_membership)
|
|
96
|
+
if external_senders_allowed is not None:
|
|
97
|
+
pulumi.set(__self__, "external_senders_allowed", external_senders_allowed)
|
|
98
|
+
if hide_from_address_lists is not None:
|
|
99
|
+
pulumi.set(__self__, "hide_from_address_lists", hide_from_address_lists)
|
|
100
|
+
if hide_from_outlook_clients is not None:
|
|
101
|
+
pulumi.set(__self__, "hide_from_outlook_clients", hide_from_outlook_clients)
|
|
102
|
+
if mail_enabled is not None:
|
|
103
|
+
pulumi.set(__self__, "mail_enabled", mail_enabled)
|
|
104
|
+
if mail_nickname is not None:
|
|
105
|
+
pulumi.set(__self__, "mail_nickname", mail_nickname)
|
|
106
|
+
if onpremises_group_type is not None:
|
|
107
|
+
pulumi.set(__self__, "onpremises_group_type", onpremises_group_type)
|
|
108
|
+
if owners is not None:
|
|
109
|
+
pulumi.set(__self__, "owners", owners)
|
|
110
|
+
if prevent_duplicate_names is not None:
|
|
111
|
+
pulumi.set(__self__, "prevent_duplicate_names", prevent_duplicate_names)
|
|
112
|
+
if provisioning_options is not None:
|
|
113
|
+
pulumi.set(__self__, "provisioning_options", provisioning_options)
|
|
114
|
+
if security_enabled is not None:
|
|
115
|
+
pulumi.set(__self__, "security_enabled", security_enabled)
|
|
116
|
+
if theme is not None:
|
|
117
|
+
pulumi.set(__self__, "theme", theme)
|
|
118
|
+
if types is not None:
|
|
119
|
+
pulumi.set(__self__, "types", types)
|
|
120
|
+
if visibility is not None:
|
|
121
|
+
pulumi.set(__self__, "visibility", visibility)
|
|
122
|
+
if writeback_enabled is not None:
|
|
123
|
+
pulumi.set(__self__, "writeback_enabled", writeback_enabled)
|
|
124
|
+
|
|
125
|
+
@_builtins.property
|
|
126
|
+
@pulumi.getter(name="displayName")
|
|
127
|
+
def display_name(self) -> pulumi.Input[_builtins.str]:
|
|
128
|
+
"""
|
|
129
|
+
The display name for the group.
|
|
130
|
+
"""
|
|
131
|
+
return pulumi.get(self, "display_name")
|
|
132
|
+
|
|
133
|
+
@display_name.setter
|
|
134
|
+
def display_name(self, value: pulumi.Input[_builtins.str]):
|
|
135
|
+
pulumi.set(self, "display_name", value)
|
|
136
|
+
|
|
137
|
+
@_builtins.property
|
|
138
|
+
@pulumi.getter(name="administrativeUnitIds")
|
|
139
|
+
def administrative_unit_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
140
|
+
"""
|
|
141
|
+
The object IDs of administrative units in which the group is a member. If specified, new groups will be created in the scope of the first administrative unit and added to the others. If empty, new groups will be created at the tenant level.
|
|
142
|
+
|
|
143
|
+
> **Caution** When using the AdministrativeUnitMember resource, or the `members` property of the AdministrativeUnit resource, to manage Administrative Unit membership for a group, you will need to use an `ignore_changes = [administrative_unit_ids]` lifecycle meta argument for the `Group` resource, in order to avoid a persistent diff.
|
|
144
|
+
"""
|
|
145
|
+
return pulumi.get(self, "administrative_unit_ids")
|
|
146
|
+
|
|
147
|
+
@administrative_unit_ids.setter
|
|
148
|
+
def administrative_unit_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
149
|
+
pulumi.set(self, "administrative_unit_ids", value)
|
|
150
|
+
|
|
151
|
+
@_builtins.property
|
|
152
|
+
@pulumi.getter(name="assignableToRole")
|
|
153
|
+
def assignable_to_role(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
154
|
+
"""
|
|
155
|
+
Indicates whether this group can be assigned to an Azure Active Directory role. Defaults to `false`. Can only be set to `true` for security-enabled groups. Changing this forces a new resource to be created.
|
|
156
|
+
"""
|
|
157
|
+
return pulumi.get(self, "assignable_to_role")
|
|
158
|
+
|
|
159
|
+
@assignable_to_role.setter
|
|
160
|
+
def assignable_to_role(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
161
|
+
pulumi.set(self, "assignable_to_role", value)
|
|
162
|
+
|
|
163
|
+
@_builtins.property
|
|
164
|
+
@pulumi.getter(name="autoSubscribeNewMembers")
|
|
165
|
+
def auto_subscribe_new_members(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
166
|
+
"""
|
|
167
|
+
Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups.
|
|
168
|
+
|
|
169
|
+
> **Known Permissions Issue** The `auto_subscribe_new_members` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
170
|
+
"""
|
|
171
|
+
return pulumi.get(self, "auto_subscribe_new_members")
|
|
172
|
+
|
|
173
|
+
@auto_subscribe_new_members.setter
|
|
174
|
+
def auto_subscribe_new_members(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
175
|
+
pulumi.set(self, "auto_subscribe_new_members", value)
|
|
176
|
+
|
|
177
|
+
@_builtins.property
|
|
178
|
+
@pulumi.getter
|
|
179
|
+
def behaviors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
180
|
+
"""
|
|
181
|
+
A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `SkipExchangeInstantOn`, `SubscribeMembersToCalendarEventsDisabled`, `SubscribeNewGroupMembers` and `WelcomeEmailDisabled`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for more details. Changing this forces a new resource to be created.
|
|
182
|
+
"""
|
|
183
|
+
return pulumi.get(self, "behaviors")
|
|
184
|
+
|
|
185
|
+
@behaviors.setter
|
|
186
|
+
def behaviors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
187
|
+
pulumi.set(self, "behaviors", value)
|
|
188
|
+
|
|
189
|
+
@_builtins.property
|
|
190
|
+
@pulumi.getter
|
|
191
|
+
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
192
|
+
"""
|
|
193
|
+
The description for the group.
|
|
194
|
+
"""
|
|
195
|
+
return pulumi.get(self, "description")
|
|
196
|
+
|
|
197
|
+
@description.setter
|
|
198
|
+
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
199
|
+
pulumi.set(self, "description", value)
|
|
200
|
+
|
|
201
|
+
@_builtins.property
|
|
202
|
+
@pulumi.getter(name="dynamicMembership")
|
|
203
|
+
def dynamic_membership(self) -> Optional[pulumi.Input['GroupWithoutMembersDynamicMembershipArgs']]:
|
|
204
|
+
"""
|
|
205
|
+
A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
|
|
206
|
+
"""
|
|
207
|
+
return pulumi.get(self, "dynamic_membership")
|
|
208
|
+
|
|
209
|
+
@dynamic_membership.setter
|
|
210
|
+
def dynamic_membership(self, value: Optional[pulumi.Input['GroupWithoutMembersDynamicMembershipArgs']]):
|
|
211
|
+
pulumi.set(self, "dynamic_membership", value)
|
|
212
|
+
|
|
213
|
+
@_builtins.property
|
|
214
|
+
@pulumi.getter(name="externalSendersAllowed")
|
|
215
|
+
def external_senders_allowed(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
216
|
+
"""
|
|
217
|
+
Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
|
|
218
|
+
|
|
219
|
+
> **Known Permissions Issue** The `external_senders_allowed` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
220
|
+
"""
|
|
221
|
+
return pulumi.get(self, "external_senders_allowed")
|
|
222
|
+
|
|
223
|
+
@external_senders_allowed.setter
|
|
224
|
+
def external_senders_allowed(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
225
|
+
pulumi.set(self, "external_senders_allowed", value)
|
|
226
|
+
|
|
227
|
+
@_builtins.property
|
|
228
|
+
@pulumi.getter(name="hideFromAddressLists")
|
|
229
|
+
def hide_from_address_lists(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
230
|
+
"""
|
|
231
|
+
Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups. Can only be set for Unified groups.
|
|
232
|
+
|
|
233
|
+
> **Known Permissions Issue** The `hide_from_address_lists` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
234
|
+
"""
|
|
235
|
+
return pulumi.get(self, "hide_from_address_lists")
|
|
236
|
+
|
|
237
|
+
@hide_from_address_lists.setter
|
|
238
|
+
def hide_from_address_lists(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
239
|
+
pulumi.set(self, "hide_from_address_lists", value)
|
|
240
|
+
|
|
241
|
+
@_builtins.property
|
|
242
|
+
@pulumi.getter(name="hideFromOutlookClients")
|
|
243
|
+
def hide_from_outlook_clients(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
244
|
+
"""
|
|
245
|
+
Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web. Can only be set for Unified groups.
|
|
246
|
+
|
|
247
|
+
> **Known Permissions Issue** The `hide_from_outlook_clients` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
248
|
+
"""
|
|
249
|
+
return pulumi.get(self, "hide_from_outlook_clients")
|
|
250
|
+
|
|
251
|
+
@hide_from_outlook_clients.setter
|
|
252
|
+
def hide_from_outlook_clients(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
253
|
+
pulumi.set(self, "hide_from_outlook_clients", value)
|
|
254
|
+
|
|
255
|
+
@_builtins.property
|
|
256
|
+
@pulumi.getter(name="mailEnabled")
|
|
257
|
+
def mail_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
258
|
+
"""
|
|
259
|
+
Whether the group is a mail enabled, with a shared group mailbox. At least one of `mail_enabled` or `security_enabled` must be specified. Only Microsoft 365 groups can be mail enabled (see the `types` property).
|
|
260
|
+
"""
|
|
261
|
+
return pulumi.get(self, "mail_enabled")
|
|
262
|
+
|
|
263
|
+
@mail_enabled.setter
|
|
264
|
+
def mail_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
265
|
+
pulumi.set(self, "mail_enabled", value)
|
|
266
|
+
|
|
267
|
+
@_builtins.property
|
|
268
|
+
@pulumi.getter(name="mailNickname")
|
|
269
|
+
def mail_nickname(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
270
|
+
"""
|
|
271
|
+
The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created.
|
|
272
|
+
"""
|
|
273
|
+
return pulumi.get(self, "mail_nickname")
|
|
274
|
+
|
|
275
|
+
@mail_nickname.setter
|
|
276
|
+
def mail_nickname(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
277
|
+
pulumi.set(self, "mail_nickname", value)
|
|
278
|
+
|
|
279
|
+
@_builtins.property
|
|
280
|
+
@pulumi.getter(name="onpremisesGroupType")
|
|
281
|
+
def onpremises_group_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
282
|
+
"""
|
|
283
|
+
The on-premises group type that the AAD group will be written as, when writeback is enabled. Possible values are `UniversalDistributionGroup`, `UniversalMailEnabledSecurityGroup`, or `UniversalSecurityGroup`.
|
|
284
|
+
"""
|
|
285
|
+
return pulumi.get(self, "onpremises_group_type")
|
|
286
|
+
|
|
287
|
+
@onpremises_group_type.setter
|
|
288
|
+
def onpremises_group_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
289
|
+
pulumi.set(self, "onpremises_group_type", value)
|
|
290
|
+
|
|
291
|
+
@_builtins.property
|
|
292
|
+
@pulumi.getter
|
|
293
|
+
def owners(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
294
|
+
"""
|
|
295
|
+
A set of owners who own this group. Supported object types are Users or Service Principals
|
|
296
|
+
"""
|
|
297
|
+
return pulumi.get(self, "owners")
|
|
298
|
+
|
|
299
|
+
@owners.setter
|
|
300
|
+
def owners(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
301
|
+
pulumi.set(self, "owners", value)
|
|
302
|
+
|
|
303
|
+
@_builtins.property
|
|
304
|
+
@pulumi.getter(name="preventDuplicateNames")
|
|
305
|
+
def prevent_duplicate_names(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
306
|
+
"""
|
|
307
|
+
If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
|
|
308
|
+
"""
|
|
309
|
+
return pulumi.get(self, "prevent_duplicate_names")
|
|
310
|
+
|
|
311
|
+
@prevent_duplicate_names.setter
|
|
312
|
+
def prevent_duplicate_names(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
313
|
+
pulumi.set(self, "prevent_duplicate_names", value)
|
|
314
|
+
|
|
315
|
+
@_builtins.property
|
|
316
|
+
@pulumi.getter(name="provisioningOptions")
|
|
317
|
+
def provisioning_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
318
|
+
"""
|
|
319
|
+
A set of provisioning options for a Microsoft 365 group. The only supported value is `Team`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for details. Changing this forces a new resource to be created.
|
|
320
|
+
"""
|
|
321
|
+
return pulumi.get(self, "provisioning_options")
|
|
322
|
+
|
|
323
|
+
@provisioning_options.setter
|
|
324
|
+
def provisioning_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
325
|
+
pulumi.set(self, "provisioning_options", value)
|
|
326
|
+
|
|
327
|
+
@_builtins.property
|
|
328
|
+
@pulumi.getter(name="securityEnabled")
|
|
329
|
+
def security_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
330
|
+
"""
|
|
331
|
+
Whether the group is a security group for controlling access to in-app resources. At least one of `security_enabled` or `mail_enabled` must be specified. A Microsoft 365 group can be security enabled _and_ mail enabled (see the `types` property).
|
|
332
|
+
"""
|
|
333
|
+
return pulumi.get(self, "security_enabled")
|
|
334
|
+
|
|
335
|
+
@security_enabled.setter
|
|
336
|
+
def security_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
337
|
+
pulumi.set(self, "security_enabled", value)
|
|
338
|
+
|
|
339
|
+
@_builtins.property
|
|
340
|
+
@pulumi.getter
|
|
341
|
+
def theme(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
342
|
+
"""
|
|
343
|
+
The colour theme for a Microsoft 365 group. Possible values are `Blue`, `Green`, `Orange`, `Pink`, `Purple`, `Red` or `Teal`. By default, no theme is set.
|
|
344
|
+
"""
|
|
345
|
+
return pulumi.get(self, "theme")
|
|
346
|
+
|
|
347
|
+
@theme.setter
|
|
348
|
+
def theme(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
349
|
+
pulumi.set(self, "theme", value)
|
|
350
|
+
|
|
351
|
+
@_builtins.property
|
|
352
|
+
@pulumi.getter
|
|
353
|
+
def types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
354
|
+
"""
|
|
355
|
+
A set of group types to configure for the group. Supported values are `DynamicMembership`, which denotes a group with dynamic membership, and `Unified`, which specifies a Microsoft 365 group. Required when `mail_enabled` is true. Changing this forces a new resource to be created.
|
|
356
|
+
|
|
357
|
+
> **Supported Group Types** At present, only security groups and Microsoft 365 groups can be created or managed with this resource. Distribution groups and mail-enabled security groups are not supported. Microsoft 365 groups can be security-enabled.
|
|
358
|
+
"""
|
|
359
|
+
return pulumi.get(self, "types")
|
|
360
|
+
|
|
361
|
+
@types.setter
|
|
362
|
+
def types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
363
|
+
pulumi.set(self, "types", value)
|
|
364
|
+
|
|
365
|
+
@_builtins.property
|
|
366
|
+
@pulumi.getter
|
|
367
|
+
def visibility(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
368
|
+
"""
|
|
369
|
+
The group join policy and group content visibility. Possible values are `Private`, `Public`, or `Hiddenmembership`. Only Microsoft 365 groups can have `Hiddenmembership` visibility and this value must be set when the group is created. By default, security groups will receive `Private` visibility and Microsoft 365 groups will receive `Public` visibility.
|
|
370
|
+
|
|
371
|
+
> **Group Name Uniqueness** Group names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing groups if you want to avoid name collisions.
|
|
372
|
+
"""
|
|
373
|
+
return pulumi.get(self, "visibility")
|
|
374
|
+
|
|
375
|
+
@visibility.setter
|
|
376
|
+
def visibility(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
377
|
+
pulumi.set(self, "visibility", value)
|
|
378
|
+
|
|
379
|
+
@_builtins.property
|
|
380
|
+
@pulumi.getter(name="writebackEnabled")
|
|
381
|
+
def writeback_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
382
|
+
"""
|
|
383
|
+
Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
|
|
384
|
+
"""
|
|
385
|
+
return pulumi.get(self, "writeback_enabled")
|
|
386
|
+
|
|
387
|
+
@writeback_enabled.setter
|
|
388
|
+
def writeback_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
389
|
+
pulumi.set(self, "writeback_enabled", value)
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
@pulumi.input_type
|
|
393
|
+
class _GroupWithoutMembersState:
|
|
394
|
+
def __init__(__self__, *,
|
|
395
|
+
administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
396
|
+
assignable_to_role: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
397
|
+
auto_subscribe_new_members: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
398
|
+
behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
399
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
400
|
+
display_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
401
|
+
dynamic_membership: Optional[pulumi.Input['GroupWithoutMembersDynamicMembershipArgs']] = None,
|
|
402
|
+
external_senders_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
403
|
+
hide_from_address_lists: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
404
|
+
hide_from_outlook_clients: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
405
|
+
mail: Optional[pulumi.Input[_builtins.str]] = None,
|
|
406
|
+
mail_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
407
|
+
mail_nickname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
408
|
+
object_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
409
|
+
onpremises_domain_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
410
|
+
onpremises_group_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
411
|
+
onpremises_netbios_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
412
|
+
onpremises_sam_account_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
413
|
+
onpremises_security_identifier: Optional[pulumi.Input[_builtins.str]] = None,
|
|
414
|
+
onpremises_sync_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
415
|
+
owners: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
416
|
+
preferred_language: Optional[pulumi.Input[_builtins.str]] = None,
|
|
417
|
+
prevent_duplicate_names: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
418
|
+
provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
419
|
+
proxy_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
420
|
+
security_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
421
|
+
theme: Optional[pulumi.Input[_builtins.str]] = None,
|
|
422
|
+
types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
423
|
+
visibility: Optional[pulumi.Input[_builtins.str]] = None,
|
|
424
|
+
writeback_enabled: Optional[pulumi.Input[_builtins.bool]] = None):
|
|
425
|
+
"""
|
|
426
|
+
Input properties used for looking up and filtering GroupWithoutMembers resources.
|
|
427
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] administrative_unit_ids: The object IDs of administrative units in which the group is a member. If specified, new groups will be created in the scope of the first administrative unit and added to the others. If empty, new groups will be created at the tenant level.
|
|
428
|
+
|
|
429
|
+
> **Caution** When using the AdministrativeUnitMember resource, or the `members` property of the AdministrativeUnit resource, to manage Administrative Unit membership for a group, you will need to use an `ignore_changes = [administrative_unit_ids]` lifecycle meta argument for the `Group` resource, in order to avoid a persistent diff.
|
|
430
|
+
:param pulumi.Input[_builtins.bool] assignable_to_role: Indicates whether this group can be assigned to an Azure Active Directory role. Defaults to `false`. Can only be set to `true` for security-enabled groups. Changing this forces a new resource to be created.
|
|
431
|
+
:param pulumi.Input[_builtins.bool] auto_subscribe_new_members: Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups.
|
|
432
|
+
|
|
433
|
+
> **Known Permissions Issue** The `auto_subscribe_new_members` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
434
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] behaviors: A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `SkipExchangeInstantOn`, `SubscribeMembersToCalendarEventsDisabled`, `SubscribeNewGroupMembers` and `WelcomeEmailDisabled`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for more details. Changing this forces a new resource to be created.
|
|
435
|
+
:param pulumi.Input[_builtins.str] description: The description for the group.
|
|
436
|
+
:param pulumi.Input[_builtins.str] display_name: The display name for the group.
|
|
437
|
+
:param pulumi.Input['GroupWithoutMembersDynamicMembershipArgs'] dynamic_membership: A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
|
|
438
|
+
:param pulumi.Input[_builtins.bool] external_senders_allowed: Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
|
|
439
|
+
|
|
440
|
+
> **Known Permissions Issue** The `external_senders_allowed` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
441
|
+
:param pulumi.Input[_builtins.bool] hide_from_address_lists: Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups. Can only be set for Unified groups.
|
|
442
|
+
|
|
443
|
+
> **Known Permissions Issue** The `hide_from_address_lists` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
444
|
+
:param pulumi.Input[_builtins.bool] hide_from_outlook_clients: Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web. Can only be set for Unified groups.
|
|
445
|
+
|
|
446
|
+
> **Known Permissions Issue** The `hide_from_outlook_clients` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
447
|
+
:param pulumi.Input[_builtins.str] mail: The SMTP address for the group.
|
|
448
|
+
:param pulumi.Input[_builtins.bool] mail_enabled: Whether the group is a mail enabled, with a shared group mailbox. At least one of `mail_enabled` or `security_enabled` must be specified. Only Microsoft 365 groups can be mail enabled (see the `types` property).
|
|
449
|
+
:param pulumi.Input[_builtins.str] mail_nickname: The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created.
|
|
450
|
+
:param pulumi.Input[_builtins.str] object_id: The object ID of the group.
|
|
451
|
+
:param pulumi.Input[_builtins.str] onpremises_domain_name: The on-premises FQDN, also called dnsDomainName, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
452
|
+
:param pulumi.Input[_builtins.str] onpremises_group_type: The on-premises group type that the AAD group will be written as, when writeback is enabled. Possible values are `UniversalDistributionGroup`, `UniversalMailEnabledSecurityGroup`, or `UniversalSecurityGroup`.
|
|
453
|
+
:param pulumi.Input[_builtins.str] onpremises_netbios_name: The on-premises NetBIOS name, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
454
|
+
:param pulumi.Input[_builtins.str] onpremises_sam_account_name: The on-premises SAM account name, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
455
|
+
:param pulumi.Input[_builtins.str] onpremises_security_identifier: The on-premises security identifier (SID), synchronised from the on-premises directory when Azure AD Connect is used.
|
|
456
|
+
:param pulumi.Input[_builtins.bool] onpremises_sync_enabled: Whether this group is synchronised from an on-premises directory (`true`), no longer synchronised (`false`), or has never been synchronised (`null`).
|
|
457
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] owners: A set of owners who own this group. Supported object types are Users or Service Principals
|
|
458
|
+
:param pulumi.Input[_builtins.str] preferred_language: The preferred language for a Microsoft 365 group, in ISO 639-1 notation.
|
|
459
|
+
:param pulumi.Input[_builtins.bool] prevent_duplicate_names: If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
|
|
460
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] provisioning_options: A set of provisioning options for a Microsoft 365 group. The only supported value is `Team`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for details. Changing this forces a new resource to be created.
|
|
461
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] proxy_addresses: List of email addresses for the group that direct to the same group mailbox.
|
|
462
|
+
:param pulumi.Input[_builtins.bool] security_enabled: Whether the group is a security group for controlling access to in-app resources. At least one of `security_enabled` or `mail_enabled` must be specified. A Microsoft 365 group can be security enabled _and_ mail enabled (see the `types` property).
|
|
463
|
+
:param pulumi.Input[_builtins.str] theme: The colour theme for a Microsoft 365 group. Possible values are `Blue`, `Green`, `Orange`, `Pink`, `Purple`, `Red` or `Teal`. By default, no theme is set.
|
|
464
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] types: A set of group types to configure for the group. Supported values are `DynamicMembership`, which denotes a group with dynamic membership, and `Unified`, which specifies a Microsoft 365 group. Required when `mail_enabled` is true. Changing this forces a new resource to be created.
|
|
465
|
+
|
|
466
|
+
> **Supported Group Types** At present, only security groups and Microsoft 365 groups can be created or managed with this resource. Distribution groups and mail-enabled security groups are not supported. Microsoft 365 groups can be security-enabled.
|
|
467
|
+
:param pulumi.Input[_builtins.str] visibility: The group join policy and group content visibility. Possible values are `Private`, `Public`, or `Hiddenmembership`. Only Microsoft 365 groups can have `Hiddenmembership` visibility and this value must be set when the group is created. By default, security groups will receive `Private` visibility and Microsoft 365 groups will receive `Public` visibility.
|
|
468
|
+
|
|
469
|
+
> **Group Name Uniqueness** Group names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing groups if you want to avoid name collisions.
|
|
470
|
+
:param pulumi.Input[_builtins.bool] writeback_enabled: Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
|
|
471
|
+
"""
|
|
472
|
+
if administrative_unit_ids is not None:
|
|
473
|
+
pulumi.set(__self__, "administrative_unit_ids", administrative_unit_ids)
|
|
474
|
+
if assignable_to_role is not None:
|
|
475
|
+
pulumi.set(__self__, "assignable_to_role", assignable_to_role)
|
|
476
|
+
if auto_subscribe_new_members is not None:
|
|
477
|
+
pulumi.set(__self__, "auto_subscribe_new_members", auto_subscribe_new_members)
|
|
478
|
+
if behaviors is not None:
|
|
479
|
+
pulumi.set(__self__, "behaviors", behaviors)
|
|
480
|
+
if description is not None:
|
|
481
|
+
pulumi.set(__self__, "description", description)
|
|
482
|
+
if display_name is not None:
|
|
483
|
+
pulumi.set(__self__, "display_name", display_name)
|
|
484
|
+
if dynamic_membership is not None:
|
|
485
|
+
pulumi.set(__self__, "dynamic_membership", dynamic_membership)
|
|
486
|
+
if external_senders_allowed is not None:
|
|
487
|
+
pulumi.set(__self__, "external_senders_allowed", external_senders_allowed)
|
|
488
|
+
if hide_from_address_lists is not None:
|
|
489
|
+
pulumi.set(__self__, "hide_from_address_lists", hide_from_address_lists)
|
|
490
|
+
if hide_from_outlook_clients is not None:
|
|
491
|
+
pulumi.set(__self__, "hide_from_outlook_clients", hide_from_outlook_clients)
|
|
492
|
+
if mail is not None:
|
|
493
|
+
pulumi.set(__self__, "mail", mail)
|
|
494
|
+
if mail_enabled is not None:
|
|
495
|
+
pulumi.set(__self__, "mail_enabled", mail_enabled)
|
|
496
|
+
if mail_nickname is not None:
|
|
497
|
+
pulumi.set(__self__, "mail_nickname", mail_nickname)
|
|
498
|
+
if object_id is not None:
|
|
499
|
+
pulumi.set(__self__, "object_id", object_id)
|
|
500
|
+
if onpremises_domain_name is not None:
|
|
501
|
+
pulumi.set(__self__, "onpremises_domain_name", onpremises_domain_name)
|
|
502
|
+
if onpremises_group_type is not None:
|
|
503
|
+
pulumi.set(__self__, "onpremises_group_type", onpremises_group_type)
|
|
504
|
+
if onpremises_netbios_name is not None:
|
|
505
|
+
pulumi.set(__self__, "onpremises_netbios_name", onpremises_netbios_name)
|
|
506
|
+
if onpremises_sam_account_name is not None:
|
|
507
|
+
pulumi.set(__self__, "onpremises_sam_account_name", onpremises_sam_account_name)
|
|
508
|
+
if onpremises_security_identifier is not None:
|
|
509
|
+
pulumi.set(__self__, "onpremises_security_identifier", onpremises_security_identifier)
|
|
510
|
+
if onpremises_sync_enabled is not None:
|
|
511
|
+
pulumi.set(__self__, "onpremises_sync_enabled", onpremises_sync_enabled)
|
|
512
|
+
if owners is not None:
|
|
513
|
+
pulumi.set(__self__, "owners", owners)
|
|
514
|
+
if preferred_language is not None:
|
|
515
|
+
pulumi.set(__self__, "preferred_language", preferred_language)
|
|
516
|
+
if prevent_duplicate_names is not None:
|
|
517
|
+
pulumi.set(__self__, "prevent_duplicate_names", prevent_duplicate_names)
|
|
518
|
+
if provisioning_options is not None:
|
|
519
|
+
pulumi.set(__self__, "provisioning_options", provisioning_options)
|
|
520
|
+
if proxy_addresses is not None:
|
|
521
|
+
pulumi.set(__self__, "proxy_addresses", proxy_addresses)
|
|
522
|
+
if security_enabled is not None:
|
|
523
|
+
pulumi.set(__self__, "security_enabled", security_enabled)
|
|
524
|
+
if theme is not None:
|
|
525
|
+
pulumi.set(__self__, "theme", theme)
|
|
526
|
+
if types is not None:
|
|
527
|
+
pulumi.set(__self__, "types", types)
|
|
528
|
+
if visibility is not None:
|
|
529
|
+
pulumi.set(__self__, "visibility", visibility)
|
|
530
|
+
if writeback_enabled is not None:
|
|
531
|
+
pulumi.set(__self__, "writeback_enabled", writeback_enabled)
|
|
532
|
+
|
|
533
|
+
@_builtins.property
|
|
534
|
+
@pulumi.getter(name="administrativeUnitIds")
|
|
535
|
+
def administrative_unit_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
536
|
+
"""
|
|
537
|
+
The object IDs of administrative units in which the group is a member. If specified, new groups will be created in the scope of the first administrative unit and added to the others. If empty, new groups will be created at the tenant level.
|
|
538
|
+
|
|
539
|
+
> **Caution** When using the AdministrativeUnitMember resource, or the `members` property of the AdministrativeUnit resource, to manage Administrative Unit membership for a group, you will need to use an `ignore_changes = [administrative_unit_ids]` lifecycle meta argument for the `Group` resource, in order to avoid a persistent diff.
|
|
540
|
+
"""
|
|
541
|
+
return pulumi.get(self, "administrative_unit_ids")
|
|
542
|
+
|
|
543
|
+
@administrative_unit_ids.setter
|
|
544
|
+
def administrative_unit_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
545
|
+
pulumi.set(self, "administrative_unit_ids", value)
|
|
546
|
+
|
|
547
|
+
@_builtins.property
|
|
548
|
+
@pulumi.getter(name="assignableToRole")
|
|
549
|
+
def assignable_to_role(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
550
|
+
"""
|
|
551
|
+
Indicates whether this group can be assigned to an Azure Active Directory role. Defaults to `false`. Can only be set to `true` for security-enabled groups. Changing this forces a new resource to be created.
|
|
552
|
+
"""
|
|
553
|
+
return pulumi.get(self, "assignable_to_role")
|
|
554
|
+
|
|
555
|
+
@assignable_to_role.setter
|
|
556
|
+
def assignable_to_role(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
557
|
+
pulumi.set(self, "assignable_to_role", value)
|
|
558
|
+
|
|
559
|
+
@_builtins.property
|
|
560
|
+
@pulumi.getter(name="autoSubscribeNewMembers")
|
|
561
|
+
def auto_subscribe_new_members(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
562
|
+
"""
|
|
563
|
+
Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups.
|
|
564
|
+
|
|
565
|
+
> **Known Permissions Issue** The `auto_subscribe_new_members` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
566
|
+
"""
|
|
567
|
+
return pulumi.get(self, "auto_subscribe_new_members")
|
|
568
|
+
|
|
569
|
+
@auto_subscribe_new_members.setter
|
|
570
|
+
def auto_subscribe_new_members(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
571
|
+
pulumi.set(self, "auto_subscribe_new_members", value)
|
|
572
|
+
|
|
573
|
+
@_builtins.property
|
|
574
|
+
@pulumi.getter
|
|
575
|
+
def behaviors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
576
|
+
"""
|
|
577
|
+
A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `SkipExchangeInstantOn`, `SubscribeMembersToCalendarEventsDisabled`, `SubscribeNewGroupMembers` and `WelcomeEmailDisabled`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for more details. Changing this forces a new resource to be created.
|
|
578
|
+
"""
|
|
579
|
+
return pulumi.get(self, "behaviors")
|
|
580
|
+
|
|
581
|
+
@behaviors.setter
|
|
582
|
+
def behaviors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
583
|
+
pulumi.set(self, "behaviors", value)
|
|
584
|
+
|
|
585
|
+
@_builtins.property
|
|
586
|
+
@pulumi.getter
|
|
587
|
+
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
588
|
+
"""
|
|
589
|
+
The description for the group.
|
|
590
|
+
"""
|
|
591
|
+
return pulumi.get(self, "description")
|
|
592
|
+
|
|
593
|
+
@description.setter
|
|
594
|
+
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
595
|
+
pulumi.set(self, "description", value)
|
|
596
|
+
|
|
597
|
+
@_builtins.property
|
|
598
|
+
@pulumi.getter(name="displayName")
|
|
599
|
+
def display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
600
|
+
"""
|
|
601
|
+
The display name for the group.
|
|
602
|
+
"""
|
|
603
|
+
return pulumi.get(self, "display_name")
|
|
604
|
+
|
|
605
|
+
@display_name.setter
|
|
606
|
+
def display_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
607
|
+
pulumi.set(self, "display_name", value)
|
|
608
|
+
|
|
609
|
+
@_builtins.property
|
|
610
|
+
@pulumi.getter(name="dynamicMembership")
|
|
611
|
+
def dynamic_membership(self) -> Optional[pulumi.Input['GroupWithoutMembersDynamicMembershipArgs']]:
|
|
612
|
+
"""
|
|
613
|
+
A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
|
|
614
|
+
"""
|
|
615
|
+
return pulumi.get(self, "dynamic_membership")
|
|
616
|
+
|
|
617
|
+
@dynamic_membership.setter
|
|
618
|
+
def dynamic_membership(self, value: Optional[pulumi.Input['GroupWithoutMembersDynamicMembershipArgs']]):
|
|
619
|
+
pulumi.set(self, "dynamic_membership", value)
|
|
620
|
+
|
|
621
|
+
@_builtins.property
|
|
622
|
+
@pulumi.getter(name="externalSendersAllowed")
|
|
623
|
+
def external_senders_allowed(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
624
|
+
"""
|
|
625
|
+
Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
|
|
626
|
+
|
|
627
|
+
> **Known Permissions Issue** The `external_senders_allowed` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
628
|
+
"""
|
|
629
|
+
return pulumi.get(self, "external_senders_allowed")
|
|
630
|
+
|
|
631
|
+
@external_senders_allowed.setter
|
|
632
|
+
def external_senders_allowed(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
633
|
+
pulumi.set(self, "external_senders_allowed", value)
|
|
634
|
+
|
|
635
|
+
@_builtins.property
|
|
636
|
+
@pulumi.getter(name="hideFromAddressLists")
|
|
637
|
+
def hide_from_address_lists(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
638
|
+
"""
|
|
639
|
+
Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups. Can only be set for Unified groups.
|
|
640
|
+
|
|
641
|
+
> **Known Permissions Issue** The `hide_from_address_lists` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
642
|
+
"""
|
|
643
|
+
return pulumi.get(self, "hide_from_address_lists")
|
|
644
|
+
|
|
645
|
+
@hide_from_address_lists.setter
|
|
646
|
+
def hide_from_address_lists(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
647
|
+
pulumi.set(self, "hide_from_address_lists", value)
|
|
648
|
+
|
|
649
|
+
@_builtins.property
|
|
650
|
+
@pulumi.getter(name="hideFromOutlookClients")
|
|
651
|
+
def hide_from_outlook_clients(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
652
|
+
"""
|
|
653
|
+
Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web. Can only be set for Unified groups.
|
|
654
|
+
|
|
655
|
+
> **Known Permissions Issue** The `hide_from_outlook_clients` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
656
|
+
"""
|
|
657
|
+
return pulumi.get(self, "hide_from_outlook_clients")
|
|
658
|
+
|
|
659
|
+
@hide_from_outlook_clients.setter
|
|
660
|
+
def hide_from_outlook_clients(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
661
|
+
pulumi.set(self, "hide_from_outlook_clients", value)
|
|
662
|
+
|
|
663
|
+
@_builtins.property
|
|
664
|
+
@pulumi.getter
|
|
665
|
+
def mail(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
666
|
+
"""
|
|
667
|
+
The SMTP address for the group.
|
|
668
|
+
"""
|
|
669
|
+
return pulumi.get(self, "mail")
|
|
670
|
+
|
|
671
|
+
@mail.setter
|
|
672
|
+
def mail(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
673
|
+
pulumi.set(self, "mail", value)
|
|
674
|
+
|
|
675
|
+
@_builtins.property
|
|
676
|
+
@pulumi.getter(name="mailEnabled")
|
|
677
|
+
def mail_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
678
|
+
"""
|
|
679
|
+
Whether the group is a mail enabled, with a shared group mailbox. At least one of `mail_enabled` or `security_enabled` must be specified. Only Microsoft 365 groups can be mail enabled (see the `types` property).
|
|
680
|
+
"""
|
|
681
|
+
return pulumi.get(self, "mail_enabled")
|
|
682
|
+
|
|
683
|
+
@mail_enabled.setter
|
|
684
|
+
def mail_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
685
|
+
pulumi.set(self, "mail_enabled", value)
|
|
686
|
+
|
|
687
|
+
@_builtins.property
|
|
688
|
+
@pulumi.getter(name="mailNickname")
|
|
689
|
+
def mail_nickname(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
690
|
+
"""
|
|
691
|
+
The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created.
|
|
692
|
+
"""
|
|
693
|
+
return pulumi.get(self, "mail_nickname")
|
|
694
|
+
|
|
695
|
+
@mail_nickname.setter
|
|
696
|
+
def mail_nickname(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
697
|
+
pulumi.set(self, "mail_nickname", value)
|
|
698
|
+
|
|
699
|
+
@_builtins.property
|
|
700
|
+
@pulumi.getter(name="objectId")
|
|
701
|
+
def object_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
702
|
+
"""
|
|
703
|
+
The object ID of the group.
|
|
704
|
+
"""
|
|
705
|
+
return pulumi.get(self, "object_id")
|
|
706
|
+
|
|
707
|
+
@object_id.setter
|
|
708
|
+
def object_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
709
|
+
pulumi.set(self, "object_id", value)
|
|
710
|
+
|
|
711
|
+
@_builtins.property
|
|
712
|
+
@pulumi.getter(name="onpremisesDomainName")
|
|
713
|
+
def onpremises_domain_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
714
|
+
"""
|
|
715
|
+
The on-premises FQDN, also called dnsDomainName, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
716
|
+
"""
|
|
717
|
+
return pulumi.get(self, "onpremises_domain_name")
|
|
718
|
+
|
|
719
|
+
@onpremises_domain_name.setter
|
|
720
|
+
def onpremises_domain_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
721
|
+
pulumi.set(self, "onpremises_domain_name", value)
|
|
722
|
+
|
|
723
|
+
@_builtins.property
|
|
724
|
+
@pulumi.getter(name="onpremisesGroupType")
|
|
725
|
+
def onpremises_group_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
726
|
+
"""
|
|
727
|
+
The on-premises group type that the AAD group will be written as, when writeback is enabled. Possible values are `UniversalDistributionGroup`, `UniversalMailEnabledSecurityGroup`, or `UniversalSecurityGroup`.
|
|
728
|
+
"""
|
|
729
|
+
return pulumi.get(self, "onpremises_group_type")
|
|
730
|
+
|
|
731
|
+
@onpremises_group_type.setter
|
|
732
|
+
def onpremises_group_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
733
|
+
pulumi.set(self, "onpremises_group_type", value)
|
|
734
|
+
|
|
735
|
+
@_builtins.property
|
|
736
|
+
@pulumi.getter(name="onpremisesNetbiosName")
|
|
737
|
+
def onpremises_netbios_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
738
|
+
"""
|
|
739
|
+
The on-premises NetBIOS name, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
740
|
+
"""
|
|
741
|
+
return pulumi.get(self, "onpremises_netbios_name")
|
|
742
|
+
|
|
743
|
+
@onpremises_netbios_name.setter
|
|
744
|
+
def onpremises_netbios_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
745
|
+
pulumi.set(self, "onpremises_netbios_name", value)
|
|
746
|
+
|
|
747
|
+
@_builtins.property
|
|
748
|
+
@pulumi.getter(name="onpremisesSamAccountName")
|
|
749
|
+
def onpremises_sam_account_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
750
|
+
"""
|
|
751
|
+
The on-premises SAM account name, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
752
|
+
"""
|
|
753
|
+
return pulumi.get(self, "onpremises_sam_account_name")
|
|
754
|
+
|
|
755
|
+
@onpremises_sam_account_name.setter
|
|
756
|
+
def onpremises_sam_account_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
757
|
+
pulumi.set(self, "onpremises_sam_account_name", value)
|
|
758
|
+
|
|
759
|
+
@_builtins.property
|
|
760
|
+
@pulumi.getter(name="onpremisesSecurityIdentifier")
|
|
761
|
+
def onpremises_security_identifier(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
762
|
+
"""
|
|
763
|
+
The on-premises security identifier (SID), synchronised from the on-premises directory when Azure AD Connect is used.
|
|
764
|
+
"""
|
|
765
|
+
return pulumi.get(self, "onpremises_security_identifier")
|
|
766
|
+
|
|
767
|
+
@onpremises_security_identifier.setter
|
|
768
|
+
def onpremises_security_identifier(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
769
|
+
pulumi.set(self, "onpremises_security_identifier", value)
|
|
770
|
+
|
|
771
|
+
@_builtins.property
|
|
772
|
+
@pulumi.getter(name="onpremisesSyncEnabled")
|
|
773
|
+
def onpremises_sync_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
774
|
+
"""
|
|
775
|
+
Whether this group is synchronised from an on-premises directory (`true`), no longer synchronised (`false`), or has never been synchronised (`null`).
|
|
776
|
+
"""
|
|
777
|
+
return pulumi.get(self, "onpremises_sync_enabled")
|
|
778
|
+
|
|
779
|
+
@onpremises_sync_enabled.setter
|
|
780
|
+
def onpremises_sync_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
781
|
+
pulumi.set(self, "onpremises_sync_enabled", value)
|
|
782
|
+
|
|
783
|
+
@_builtins.property
|
|
784
|
+
@pulumi.getter
|
|
785
|
+
def owners(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
786
|
+
"""
|
|
787
|
+
A set of owners who own this group. Supported object types are Users or Service Principals
|
|
788
|
+
"""
|
|
789
|
+
return pulumi.get(self, "owners")
|
|
790
|
+
|
|
791
|
+
@owners.setter
|
|
792
|
+
def owners(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
793
|
+
pulumi.set(self, "owners", value)
|
|
794
|
+
|
|
795
|
+
@_builtins.property
|
|
796
|
+
@pulumi.getter(name="preferredLanguage")
|
|
797
|
+
def preferred_language(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
798
|
+
"""
|
|
799
|
+
The preferred language for a Microsoft 365 group, in ISO 639-1 notation.
|
|
800
|
+
"""
|
|
801
|
+
return pulumi.get(self, "preferred_language")
|
|
802
|
+
|
|
803
|
+
@preferred_language.setter
|
|
804
|
+
def preferred_language(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
805
|
+
pulumi.set(self, "preferred_language", value)
|
|
806
|
+
|
|
807
|
+
@_builtins.property
|
|
808
|
+
@pulumi.getter(name="preventDuplicateNames")
|
|
809
|
+
def prevent_duplicate_names(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
810
|
+
"""
|
|
811
|
+
If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
|
|
812
|
+
"""
|
|
813
|
+
return pulumi.get(self, "prevent_duplicate_names")
|
|
814
|
+
|
|
815
|
+
@prevent_duplicate_names.setter
|
|
816
|
+
def prevent_duplicate_names(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
817
|
+
pulumi.set(self, "prevent_duplicate_names", value)
|
|
818
|
+
|
|
819
|
+
@_builtins.property
|
|
820
|
+
@pulumi.getter(name="provisioningOptions")
|
|
821
|
+
def provisioning_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
822
|
+
"""
|
|
823
|
+
A set of provisioning options for a Microsoft 365 group. The only supported value is `Team`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for details. Changing this forces a new resource to be created.
|
|
824
|
+
"""
|
|
825
|
+
return pulumi.get(self, "provisioning_options")
|
|
826
|
+
|
|
827
|
+
@provisioning_options.setter
|
|
828
|
+
def provisioning_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
829
|
+
pulumi.set(self, "provisioning_options", value)
|
|
830
|
+
|
|
831
|
+
@_builtins.property
|
|
832
|
+
@pulumi.getter(name="proxyAddresses")
|
|
833
|
+
def proxy_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
834
|
+
"""
|
|
835
|
+
List of email addresses for the group that direct to the same group mailbox.
|
|
836
|
+
"""
|
|
837
|
+
return pulumi.get(self, "proxy_addresses")
|
|
838
|
+
|
|
839
|
+
@proxy_addresses.setter
|
|
840
|
+
def proxy_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
841
|
+
pulumi.set(self, "proxy_addresses", value)
|
|
842
|
+
|
|
843
|
+
@_builtins.property
|
|
844
|
+
@pulumi.getter(name="securityEnabled")
|
|
845
|
+
def security_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
846
|
+
"""
|
|
847
|
+
Whether the group is a security group for controlling access to in-app resources. At least one of `security_enabled` or `mail_enabled` must be specified. A Microsoft 365 group can be security enabled _and_ mail enabled (see the `types` property).
|
|
848
|
+
"""
|
|
849
|
+
return pulumi.get(self, "security_enabled")
|
|
850
|
+
|
|
851
|
+
@security_enabled.setter
|
|
852
|
+
def security_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
853
|
+
pulumi.set(self, "security_enabled", value)
|
|
854
|
+
|
|
855
|
+
@_builtins.property
|
|
856
|
+
@pulumi.getter
|
|
857
|
+
def theme(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
858
|
+
"""
|
|
859
|
+
The colour theme for a Microsoft 365 group. Possible values are `Blue`, `Green`, `Orange`, `Pink`, `Purple`, `Red` or `Teal`. By default, no theme is set.
|
|
860
|
+
"""
|
|
861
|
+
return pulumi.get(self, "theme")
|
|
862
|
+
|
|
863
|
+
@theme.setter
|
|
864
|
+
def theme(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
865
|
+
pulumi.set(self, "theme", value)
|
|
866
|
+
|
|
867
|
+
@_builtins.property
|
|
868
|
+
@pulumi.getter
|
|
869
|
+
def types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
870
|
+
"""
|
|
871
|
+
A set of group types to configure for the group. Supported values are `DynamicMembership`, which denotes a group with dynamic membership, and `Unified`, which specifies a Microsoft 365 group. Required when `mail_enabled` is true. Changing this forces a new resource to be created.
|
|
872
|
+
|
|
873
|
+
> **Supported Group Types** At present, only security groups and Microsoft 365 groups can be created or managed with this resource. Distribution groups and mail-enabled security groups are not supported. Microsoft 365 groups can be security-enabled.
|
|
874
|
+
"""
|
|
875
|
+
return pulumi.get(self, "types")
|
|
876
|
+
|
|
877
|
+
@types.setter
|
|
878
|
+
def types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
879
|
+
pulumi.set(self, "types", value)
|
|
880
|
+
|
|
881
|
+
@_builtins.property
|
|
882
|
+
@pulumi.getter
|
|
883
|
+
def visibility(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
884
|
+
"""
|
|
885
|
+
The group join policy and group content visibility. Possible values are `Private`, `Public`, or `Hiddenmembership`. Only Microsoft 365 groups can have `Hiddenmembership` visibility and this value must be set when the group is created. By default, security groups will receive `Private` visibility and Microsoft 365 groups will receive `Public` visibility.
|
|
886
|
+
|
|
887
|
+
> **Group Name Uniqueness** Group names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing groups if you want to avoid name collisions.
|
|
888
|
+
"""
|
|
889
|
+
return pulumi.get(self, "visibility")
|
|
890
|
+
|
|
891
|
+
@visibility.setter
|
|
892
|
+
def visibility(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
893
|
+
pulumi.set(self, "visibility", value)
|
|
894
|
+
|
|
895
|
+
@_builtins.property
|
|
896
|
+
@pulumi.getter(name="writebackEnabled")
|
|
897
|
+
def writeback_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
898
|
+
"""
|
|
899
|
+
Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
|
|
900
|
+
"""
|
|
901
|
+
return pulumi.get(self, "writeback_enabled")
|
|
902
|
+
|
|
903
|
+
@writeback_enabled.setter
|
|
904
|
+
def writeback_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
905
|
+
pulumi.set(self, "writeback_enabled", value)
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
@pulumi.type_token("azuread:index/groupWithoutMembers:GroupWithoutMembers")
|
|
909
|
+
class GroupWithoutMembers(pulumi.CustomResource):
|
|
910
|
+
@overload
|
|
911
|
+
def __init__(__self__,
|
|
912
|
+
resource_name: str,
|
|
913
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
914
|
+
administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
915
|
+
assignable_to_role: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
916
|
+
auto_subscribe_new_members: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
917
|
+
behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
918
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
919
|
+
display_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
920
|
+
dynamic_membership: Optional[pulumi.Input[Union['GroupWithoutMembersDynamicMembershipArgs', 'GroupWithoutMembersDynamicMembershipArgsDict']]] = None,
|
|
921
|
+
external_senders_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
922
|
+
hide_from_address_lists: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
923
|
+
hide_from_outlook_clients: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
924
|
+
mail_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
925
|
+
mail_nickname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
926
|
+
onpremises_group_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
927
|
+
owners: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
928
|
+
prevent_duplicate_names: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
929
|
+
provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
930
|
+
security_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
931
|
+
theme: Optional[pulumi.Input[_builtins.str]] = None,
|
|
932
|
+
types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
933
|
+
visibility: Optional[pulumi.Input[_builtins.str]] = None,
|
|
934
|
+
writeback_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
935
|
+
__props__=None):
|
|
936
|
+
"""
|
|
937
|
+
Manages a group within Azure Active Directory. Does not directly manage or expose members of the group.
|
|
938
|
+
|
|
939
|
+
## API Permissions
|
|
940
|
+
|
|
941
|
+
The following API permissions are required in order to use this resource.
|
|
942
|
+
|
|
943
|
+
When authenticated with a service principal, this resource requires one of the following application roles: `Group.ReadWrite.All` or `Directory.ReadWrite.All`.
|
|
944
|
+
|
|
945
|
+
Alternatively, if the authenticated service principal is also an owner of the group being managed, this resource can use the application role: `Group.Create`.
|
|
946
|
+
|
|
947
|
+
If using the `assignable_to_role` property, this resource additionally requires the `RoleManagement.ReadWrite.Directory` application role.
|
|
948
|
+
|
|
949
|
+
If specifying owners for a group, which are user principals, this resource additionally requires one of the following application roles: `User.Read.All`, `User.ReadWrite.All`, `Directory.Read.All` or `Directory.ReadWrite.All`
|
|
950
|
+
|
|
951
|
+
When authenticated with a user principal, this resource requires one of the following directory roles: `Groups Administrator`, `User Administrator` or `Global Administrator`
|
|
952
|
+
|
|
953
|
+
When creating this resource in administrative units exclusively, the directory role `Groups Administrator` is required to be scoped on any administrative unit used. Additionally, it must be possible to read the administrative units being used, which can be granted through the `AdministrativeUnit.Read.All` or `Directory.Read.All` application roles.
|
|
954
|
+
|
|
955
|
+
The `external_senders_allowed`, `auto_subscribe_new_members`, `hide_from_address_lists` and `hide_from_outlook_clients` properties can only be configured when authenticating as a user and cannot be configured when authenticating as a service principal. Additionally, the user being used for authentication must be a Member of the tenant where the group is being managed and _not_ a Guest. This is a known API issue; please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) official documentation.
|
|
956
|
+
|
|
957
|
+
## Example Usage
|
|
958
|
+
|
|
959
|
+
*Basic example*
|
|
960
|
+
|
|
961
|
+
```python
|
|
962
|
+
import pulumi
|
|
963
|
+
import pulumi_azuread as azuread
|
|
964
|
+
|
|
965
|
+
current = azuread.get_client_config()
|
|
966
|
+
example = azuread.GroupWithoutMembers("example",
|
|
967
|
+
display_name="example",
|
|
968
|
+
owners=[current.object_id],
|
|
969
|
+
security_enabled=True)
|
|
970
|
+
```
|
|
971
|
+
|
|
972
|
+
*Microsoft 365 group*
|
|
973
|
+
|
|
974
|
+
```python
|
|
975
|
+
import pulumi
|
|
976
|
+
import pulumi_azuread as azuread
|
|
977
|
+
|
|
978
|
+
current = azuread.get_client_config()
|
|
979
|
+
group_owner = azuread.User("group_owner",
|
|
980
|
+
user_principal_name="example-group-owner@example.com",
|
|
981
|
+
display_name="Group Owner",
|
|
982
|
+
mail_nickname="example-group-owner",
|
|
983
|
+
password="SecretP@sswd99!")
|
|
984
|
+
example = azuread.GroupWithoutMembers("example",
|
|
985
|
+
display_name="example",
|
|
986
|
+
mail_enabled=True,
|
|
987
|
+
mail_nickname="ExampleGroup",
|
|
988
|
+
security_enabled=True,
|
|
989
|
+
types=["Unified"],
|
|
990
|
+
owners=[
|
|
991
|
+
current.object_id,
|
|
992
|
+
group_owner.object_id,
|
|
993
|
+
])
|
|
994
|
+
```
|
|
995
|
+
|
|
996
|
+
*Group with dynamic membership*
|
|
997
|
+
|
|
998
|
+
```python
|
|
999
|
+
import pulumi
|
|
1000
|
+
import pulumi_azuread as azuread
|
|
1001
|
+
|
|
1002
|
+
current = azuread.get_client_config()
|
|
1003
|
+
example = azuread.GroupWithoutMembers("example",
|
|
1004
|
+
display_name="MyGroup",
|
|
1005
|
+
owners=[current.object_id],
|
|
1006
|
+
security_enabled=True,
|
|
1007
|
+
types=["DynamicMembership"],
|
|
1008
|
+
dynamic_membership={
|
|
1009
|
+
"enabled": True,
|
|
1010
|
+
"rule": "user.department -eq \\"Sales\\"",
|
|
1011
|
+
})
|
|
1012
|
+
```
|
|
1013
|
+
|
|
1014
|
+
## Import
|
|
1015
|
+
|
|
1016
|
+
Groups can be imported using their object ID, e.g.
|
|
1017
|
+
|
|
1018
|
+
```sh
|
|
1019
|
+
$ pulumi import azuread:index/groupWithoutMembers:GroupWithoutMembers my_group /groups/00000000-0000-0000-0000-000000000000
|
|
1020
|
+
```
|
|
1021
|
+
|
|
1022
|
+
:param str resource_name: The name of the resource.
|
|
1023
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
1024
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] administrative_unit_ids: The object IDs of administrative units in which the group is a member. If specified, new groups will be created in the scope of the first administrative unit and added to the others. If empty, new groups will be created at the tenant level.
|
|
1025
|
+
|
|
1026
|
+
> **Caution** When using the AdministrativeUnitMember resource, or the `members` property of the AdministrativeUnit resource, to manage Administrative Unit membership for a group, you will need to use an `ignore_changes = [administrative_unit_ids]` lifecycle meta argument for the `Group` resource, in order to avoid a persistent diff.
|
|
1027
|
+
:param pulumi.Input[_builtins.bool] assignable_to_role: Indicates whether this group can be assigned to an Azure Active Directory role. Defaults to `false`. Can only be set to `true` for security-enabled groups. Changing this forces a new resource to be created.
|
|
1028
|
+
:param pulumi.Input[_builtins.bool] auto_subscribe_new_members: Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups.
|
|
1029
|
+
|
|
1030
|
+
> **Known Permissions Issue** The `auto_subscribe_new_members` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1031
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] behaviors: A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `SkipExchangeInstantOn`, `SubscribeMembersToCalendarEventsDisabled`, `SubscribeNewGroupMembers` and `WelcomeEmailDisabled`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for more details. Changing this forces a new resource to be created.
|
|
1032
|
+
:param pulumi.Input[_builtins.str] description: The description for the group.
|
|
1033
|
+
:param pulumi.Input[_builtins.str] display_name: The display name for the group.
|
|
1034
|
+
:param pulumi.Input[Union['GroupWithoutMembersDynamicMembershipArgs', 'GroupWithoutMembersDynamicMembershipArgsDict']] dynamic_membership: A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
|
|
1035
|
+
:param pulumi.Input[_builtins.bool] external_senders_allowed: Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
|
|
1036
|
+
|
|
1037
|
+
> **Known Permissions Issue** The `external_senders_allowed` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1038
|
+
:param pulumi.Input[_builtins.bool] hide_from_address_lists: Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups. Can only be set for Unified groups.
|
|
1039
|
+
|
|
1040
|
+
> **Known Permissions Issue** The `hide_from_address_lists` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1041
|
+
:param pulumi.Input[_builtins.bool] hide_from_outlook_clients: Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web. Can only be set for Unified groups.
|
|
1042
|
+
|
|
1043
|
+
> **Known Permissions Issue** The `hide_from_outlook_clients` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1044
|
+
:param pulumi.Input[_builtins.bool] mail_enabled: Whether the group is a mail enabled, with a shared group mailbox. At least one of `mail_enabled` or `security_enabled` must be specified. Only Microsoft 365 groups can be mail enabled (see the `types` property).
|
|
1045
|
+
:param pulumi.Input[_builtins.str] mail_nickname: The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created.
|
|
1046
|
+
:param pulumi.Input[_builtins.str] onpremises_group_type: The on-premises group type that the AAD group will be written as, when writeback is enabled. Possible values are `UniversalDistributionGroup`, `UniversalMailEnabledSecurityGroup`, or `UniversalSecurityGroup`.
|
|
1047
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] owners: A set of owners who own this group. Supported object types are Users or Service Principals
|
|
1048
|
+
:param pulumi.Input[_builtins.bool] prevent_duplicate_names: If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
|
|
1049
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] provisioning_options: A set of provisioning options for a Microsoft 365 group. The only supported value is `Team`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for details. Changing this forces a new resource to be created.
|
|
1050
|
+
:param pulumi.Input[_builtins.bool] security_enabled: Whether the group is a security group for controlling access to in-app resources. At least one of `security_enabled` or `mail_enabled` must be specified. A Microsoft 365 group can be security enabled _and_ mail enabled (see the `types` property).
|
|
1051
|
+
:param pulumi.Input[_builtins.str] theme: The colour theme for a Microsoft 365 group. Possible values are `Blue`, `Green`, `Orange`, `Pink`, `Purple`, `Red` or `Teal`. By default, no theme is set.
|
|
1052
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] types: A set of group types to configure for the group. Supported values are `DynamicMembership`, which denotes a group with dynamic membership, and `Unified`, which specifies a Microsoft 365 group. Required when `mail_enabled` is true. Changing this forces a new resource to be created.
|
|
1053
|
+
|
|
1054
|
+
> **Supported Group Types** At present, only security groups and Microsoft 365 groups can be created or managed with this resource. Distribution groups and mail-enabled security groups are not supported. Microsoft 365 groups can be security-enabled.
|
|
1055
|
+
:param pulumi.Input[_builtins.str] visibility: The group join policy and group content visibility. Possible values are `Private`, `Public`, or `Hiddenmembership`. Only Microsoft 365 groups can have `Hiddenmembership` visibility and this value must be set when the group is created. By default, security groups will receive `Private` visibility and Microsoft 365 groups will receive `Public` visibility.
|
|
1056
|
+
|
|
1057
|
+
> **Group Name Uniqueness** Group names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing groups if you want to avoid name collisions.
|
|
1058
|
+
:param pulumi.Input[_builtins.bool] writeback_enabled: Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
|
|
1059
|
+
"""
|
|
1060
|
+
...
|
|
1061
|
+
@overload
|
|
1062
|
+
def __init__(__self__,
|
|
1063
|
+
resource_name: str,
|
|
1064
|
+
args: GroupWithoutMembersArgs,
|
|
1065
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
1066
|
+
"""
|
|
1067
|
+
Manages a group within Azure Active Directory. Does not directly manage or expose members of the group.
|
|
1068
|
+
|
|
1069
|
+
## API Permissions
|
|
1070
|
+
|
|
1071
|
+
The following API permissions are required in order to use this resource.
|
|
1072
|
+
|
|
1073
|
+
When authenticated with a service principal, this resource requires one of the following application roles: `Group.ReadWrite.All` or `Directory.ReadWrite.All`.
|
|
1074
|
+
|
|
1075
|
+
Alternatively, if the authenticated service principal is also an owner of the group being managed, this resource can use the application role: `Group.Create`.
|
|
1076
|
+
|
|
1077
|
+
If using the `assignable_to_role` property, this resource additionally requires the `RoleManagement.ReadWrite.Directory` application role.
|
|
1078
|
+
|
|
1079
|
+
If specifying owners for a group, which are user principals, this resource additionally requires one of the following application roles: `User.Read.All`, `User.ReadWrite.All`, `Directory.Read.All` or `Directory.ReadWrite.All`
|
|
1080
|
+
|
|
1081
|
+
When authenticated with a user principal, this resource requires one of the following directory roles: `Groups Administrator`, `User Administrator` or `Global Administrator`
|
|
1082
|
+
|
|
1083
|
+
When creating this resource in administrative units exclusively, the directory role `Groups Administrator` is required to be scoped on any administrative unit used. Additionally, it must be possible to read the administrative units being used, which can be granted through the `AdministrativeUnit.Read.All` or `Directory.Read.All` application roles.
|
|
1084
|
+
|
|
1085
|
+
The `external_senders_allowed`, `auto_subscribe_new_members`, `hide_from_address_lists` and `hide_from_outlook_clients` properties can only be configured when authenticating as a user and cannot be configured when authenticating as a service principal. Additionally, the user being used for authentication must be a Member of the tenant where the group is being managed and _not_ a Guest. This is a known API issue; please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) official documentation.
|
|
1086
|
+
|
|
1087
|
+
## Example Usage
|
|
1088
|
+
|
|
1089
|
+
*Basic example*
|
|
1090
|
+
|
|
1091
|
+
```python
|
|
1092
|
+
import pulumi
|
|
1093
|
+
import pulumi_azuread as azuread
|
|
1094
|
+
|
|
1095
|
+
current = azuread.get_client_config()
|
|
1096
|
+
example = azuread.GroupWithoutMembers("example",
|
|
1097
|
+
display_name="example",
|
|
1098
|
+
owners=[current.object_id],
|
|
1099
|
+
security_enabled=True)
|
|
1100
|
+
```
|
|
1101
|
+
|
|
1102
|
+
*Microsoft 365 group*
|
|
1103
|
+
|
|
1104
|
+
```python
|
|
1105
|
+
import pulumi
|
|
1106
|
+
import pulumi_azuread as azuread
|
|
1107
|
+
|
|
1108
|
+
current = azuread.get_client_config()
|
|
1109
|
+
group_owner = azuread.User("group_owner",
|
|
1110
|
+
user_principal_name="example-group-owner@example.com",
|
|
1111
|
+
display_name="Group Owner",
|
|
1112
|
+
mail_nickname="example-group-owner",
|
|
1113
|
+
password="SecretP@sswd99!")
|
|
1114
|
+
example = azuread.GroupWithoutMembers("example",
|
|
1115
|
+
display_name="example",
|
|
1116
|
+
mail_enabled=True,
|
|
1117
|
+
mail_nickname="ExampleGroup",
|
|
1118
|
+
security_enabled=True,
|
|
1119
|
+
types=["Unified"],
|
|
1120
|
+
owners=[
|
|
1121
|
+
current.object_id,
|
|
1122
|
+
group_owner.object_id,
|
|
1123
|
+
])
|
|
1124
|
+
```
|
|
1125
|
+
|
|
1126
|
+
*Group with dynamic membership*
|
|
1127
|
+
|
|
1128
|
+
```python
|
|
1129
|
+
import pulumi
|
|
1130
|
+
import pulumi_azuread as azuread
|
|
1131
|
+
|
|
1132
|
+
current = azuread.get_client_config()
|
|
1133
|
+
example = azuread.GroupWithoutMembers("example",
|
|
1134
|
+
display_name="MyGroup",
|
|
1135
|
+
owners=[current.object_id],
|
|
1136
|
+
security_enabled=True,
|
|
1137
|
+
types=["DynamicMembership"],
|
|
1138
|
+
dynamic_membership={
|
|
1139
|
+
"enabled": True,
|
|
1140
|
+
"rule": "user.department -eq \\"Sales\\"",
|
|
1141
|
+
})
|
|
1142
|
+
```
|
|
1143
|
+
|
|
1144
|
+
## Import
|
|
1145
|
+
|
|
1146
|
+
Groups can be imported using their object ID, e.g.
|
|
1147
|
+
|
|
1148
|
+
```sh
|
|
1149
|
+
$ pulumi import azuread:index/groupWithoutMembers:GroupWithoutMembers my_group /groups/00000000-0000-0000-0000-000000000000
|
|
1150
|
+
```
|
|
1151
|
+
|
|
1152
|
+
:param str resource_name: The name of the resource.
|
|
1153
|
+
:param GroupWithoutMembersArgs args: The arguments to use to populate this resource's properties.
|
|
1154
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
1155
|
+
"""
|
|
1156
|
+
...
|
|
1157
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
1158
|
+
resource_args, opts = _utilities.get_resource_args_opts(GroupWithoutMembersArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
1159
|
+
if resource_args is not None:
|
|
1160
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
1161
|
+
else:
|
|
1162
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
1163
|
+
|
|
1164
|
+
def _internal_init(__self__,
|
|
1165
|
+
resource_name: str,
|
|
1166
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1167
|
+
administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1168
|
+
assignable_to_role: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1169
|
+
auto_subscribe_new_members: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1170
|
+
behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1171
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1172
|
+
display_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1173
|
+
dynamic_membership: Optional[pulumi.Input[Union['GroupWithoutMembersDynamicMembershipArgs', 'GroupWithoutMembersDynamicMembershipArgsDict']]] = None,
|
|
1174
|
+
external_senders_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1175
|
+
hide_from_address_lists: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1176
|
+
hide_from_outlook_clients: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1177
|
+
mail_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1178
|
+
mail_nickname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1179
|
+
onpremises_group_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1180
|
+
owners: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1181
|
+
prevent_duplicate_names: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1182
|
+
provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1183
|
+
security_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1184
|
+
theme: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1185
|
+
types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1186
|
+
visibility: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1187
|
+
writeback_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1188
|
+
__props__=None):
|
|
1189
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
1190
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
1191
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
1192
|
+
if opts.id is None:
|
|
1193
|
+
if __props__ is not None:
|
|
1194
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
1195
|
+
__props__ = GroupWithoutMembersArgs.__new__(GroupWithoutMembersArgs)
|
|
1196
|
+
|
|
1197
|
+
__props__.__dict__["administrative_unit_ids"] = administrative_unit_ids
|
|
1198
|
+
__props__.__dict__["assignable_to_role"] = assignable_to_role
|
|
1199
|
+
__props__.__dict__["auto_subscribe_new_members"] = auto_subscribe_new_members
|
|
1200
|
+
__props__.__dict__["behaviors"] = behaviors
|
|
1201
|
+
__props__.__dict__["description"] = description
|
|
1202
|
+
if display_name is None and not opts.urn:
|
|
1203
|
+
raise TypeError("Missing required property 'display_name'")
|
|
1204
|
+
__props__.__dict__["display_name"] = display_name
|
|
1205
|
+
__props__.__dict__["dynamic_membership"] = dynamic_membership
|
|
1206
|
+
__props__.__dict__["external_senders_allowed"] = external_senders_allowed
|
|
1207
|
+
__props__.__dict__["hide_from_address_lists"] = hide_from_address_lists
|
|
1208
|
+
__props__.__dict__["hide_from_outlook_clients"] = hide_from_outlook_clients
|
|
1209
|
+
__props__.__dict__["mail_enabled"] = mail_enabled
|
|
1210
|
+
__props__.__dict__["mail_nickname"] = mail_nickname
|
|
1211
|
+
__props__.__dict__["onpremises_group_type"] = onpremises_group_type
|
|
1212
|
+
__props__.__dict__["owners"] = owners
|
|
1213
|
+
__props__.__dict__["prevent_duplicate_names"] = prevent_duplicate_names
|
|
1214
|
+
__props__.__dict__["provisioning_options"] = provisioning_options
|
|
1215
|
+
__props__.__dict__["security_enabled"] = security_enabled
|
|
1216
|
+
__props__.__dict__["theme"] = theme
|
|
1217
|
+
__props__.__dict__["types"] = types
|
|
1218
|
+
__props__.__dict__["visibility"] = visibility
|
|
1219
|
+
__props__.__dict__["writeback_enabled"] = writeback_enabled
|
|
1220
|
+
__props__.__dict__["mail"] = None
|
|
1221
|
+
__props__.__dict__["object_id"] = None
|
|
1222
|
+
__props__.__dict__["onpremises_domain_name"] = None
|
|
1223
|
+
__props__.__dict__["onpremises_netbios_name"] = None
|
|
1224
|
+
__props__.__dict__["onpremises_sam_account_name"] = None
|
|
1225
|
+
__props__.__dict__["onpremises_security_identifier"] = None
|
|
1226
|
+
__props__.__dict__["onpremises_sync_enabled"] = None
|
|
1227
|
+
__props__.__dict__["preferred_language"] = None
|
|
1228
|
+
__props__.__dict__["proxy_addresses"] = None
|
|
1229
|
+
super(GroupWithoutMembers, __self__).__init__(
|
|
1230
|
+
'azuread:index/groupWithoutMembers:GroupWithoutMembers',
|
|
1231
|
+
resource_name,
|
|
1232
|
+
__props__,
|
|
1233
|
+
opts)
|
|
1234
|
+
|
|
1235
|
+
@staticmethod
|
|
1236
|
+
def get(resource_name: str,
|
|
1237
|
+
id: pulumi.Input[str],
|
|
1238
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1239
|
+
administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1240
|
+
assignable_to_role: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1241
|
+
auto_subscribe_new_members: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1242
|
+
behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1243
|
+
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1244
|
+
display_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1245
|
+
dynamic_membership: Optional[pulumi.Input[Union['GroupWithoutMembersDynamicMembershipArgs', 'GroupWithoutMembersDynamicMembershipArgsDict']]] = None,
|
|
1246
|
+
external_senders_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1247
|
+
hide_from_address_lists: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1248
|
+
hide_from_outlook_clients: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1249
|
+
mail: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1250
|
+
mail_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1251
|
+
mail_nickname: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1252
|
+
object_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1253
|
+
onpremises_domain_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1254
|
+
onpremises_group_type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1255
|
+
onpremises_netbios_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1256
|
+
onpremises_sam_account_name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1257
|
+
onpremises_security_identifier: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1258
|
+
onpremises_sync_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1259
|
+
owners: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1260
|
+
preferred_language: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1261
|
+
prevent_duplicate_names: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1262
|
+
provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1263
|
+
proxy_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1264
|
+
security_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1265
|
+
theme: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1266
|
+
types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1267
|
+
visibility: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1268
|
+
writeback_enabled: Optional[pulumi.Input[_builtins.bool]] = None) -> 'GroupWithoutMembers':
|
|
1269
|
+
"""
|
|
1270
|
+
Get an existing GroupWithoutMembers resource's state with the given name, id, and optional extra
|
|
1271
|
+
properties used to qualify the lookup.
|
|
1272
|
+
|
|
1273
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
1274
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
1275
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
1276
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] administrative_unit_ids: The object IDs of administrative units in which the group is a member. If specified, new groups will be created in the scope of the first administrative unit and added to the others. If empty, new groups will be created at the tenant level.
|
|
1277
|
+
|
|
1278
|
+
> **Caution** When using the AdministrativeUnitMember resource, or the `members` property of the AdministrativeUnit resource, to manage Administrative Unit membership for a group, you will need to use an `ignore_changes = [administrative_unit_ids]` lifecycle meta argument for the `Group` resource, in order to avoid a persistent diff.
|
|
1279
|
+
:param pulumi.Input[_builtins.bool] assignable_to_role: Indicates whether this group can be assigned to an Azure Active Directory role. Defaults to `false`. Can only be set to `true` for security-enabled groups. Changing this forces a new resource to be created.
|
|
1280
|
+
:param pulumi.Input[_builtins.bool] auto_subscribe_new_members: Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups.
|
|
1281
|
+
|
|
1282
|
+
> **Known Permissions Issue** The `auto_subscribe_new_members` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1283
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] behaviors: A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `SkipExchangeInstantOn`, `SubscribeMembersToCalendarEventsDisabled`, `SubscribeNewGroupMembers` and `WelcomeEmailDisabled`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for more details. Changing this forces a new resource to be created.
|
|
1284
|
+
:param pulumi.Input[_builtins.str] description: The description for the group.
|
|
1285
|
+
:param pulumi.Input[_builtins.str] display_name: The display name for the group.
|
|
1286
|
+
:param pulumi.Input[Union['GroupWithoutMembersDynamicMembershipArgs', 'GroupWithoutMembersDynamicMembershipArgsDict']] dynamic_membership: A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
|
|
1287
|
+
:param pulumi.Input[_builtins.bool] external_senders_allowed: Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
|
|
1288
|
+
|
|
1289
|
+
> **Known Permissions Issue** The `external_senders_allowed` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1290
|
+
:param pulumi.Input[_builtins.bool] hide_from_address_lists: Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups. Can only be set for Unified groups.
|
|
1291
|
+
|
|
1292
|
+
> **Known Permissions Issue** The `hide_from_address_lists` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1293
|
+
:param pulumi.Input[_builtins.bool] hide_from_outlook_clients: Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web. Can only be set for Unified groups.
|
|
1294
|
+
|
|
1295
|
+
> **Known Permissions Issue** The `hide_from_outlook_clients` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1296
|
+
:param pulumi.Input[_builtins.str] mail: The SMTP address for the group.
|
|
1297
|
+
:param pulumi.Input[_builtins.bool] mail_enabled: Whether the group is a mail enabled, with a shared group mailbox. At least one of `mail_enabled` or `security_enabled` must be specified. Only Microsoft 365 groups can be mail enabled (see the `types` property).
|
|
1298
|
+
:param pulumi.Input[_builtins.str] mail_nickname: The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created.
|
|
1299
|
+
:param pulumi.Input[_builtins.str] object_id: The object ID of the group.
|
|
1300
|
+
:param pulumi.Input[_builtins.str] onpremises_domain_name: The on-premises FQDN, also called dnsDomainName, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
1301
|
+
:param pulumi.Input[_builtins.str] onpremises_group_type: The on-premises group type that the AAD group will be written as, when writeback is enabled. Possible values are `UniversalDistributionGroup`, `UniversalMailEnabledSecurityGroup`, or `UniversalSecurityGroup`.
|
|
1302
|
+
:param pulumi.Input[_builtins.str] onpremises_netbios_name: The on-premises NetBIOS name, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
1303
|
+
:param pulumi.Input[_builtins.str] onpremises_sam_account_name: The on-premises SAM account name, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
1304
|
+
:param pulumi.Input[_builtins.str] onpremises_security_identifier: The on-premises security identifier (SID), synchronised from the on-premises directory when Azure AD Connect is used.
|
|
1305
|
+
:param pulumi.Input[_builtins.bool] onpremises_sync_enabled: Whether this group is synchronised from an on-premises directory (`true`), no longer synchronised (`false`), or has never been synchronised (`null`).
|
|
1306
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] owners: A set of owners who own this group. Supported object types are Users or Service Principals
|
|
1307
|
+
:param pulumi.Input[_builtins.str] preferred_language: The preferred language for a Microsoft 365 group, in ISO 639-1 notation.
|
|
1308
|
+
:param pulumi.Input[_builtins.bool] prevent_duplicate_names: If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
|
|
1309
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] provisioning_options: A set of provisioning options for a Microsoft 365 group. The only supported value is `Team`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for details. Changing this forces a new resource to be created.
|
|
1310
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] proxy_addresses: List of email addresses for the group that direct to the same group mailbox.
|
|
1311
|
+
:param pulumi.Input[_builtins.bool] security_enabled: Whether the group is a security group for controlling access to in-app resources. At least one of `security_enabled` or `mail_enabled` must be specified. A Microsoft 365 group can be security enabled _and_ mail enabled (see the `types` property).
|
|
1312
|
+
:param pulumi.Input[_builtins.str] theme: The colour theme for a Microsoft 365 group. Possible values are `Blue`, `Green`, `Orange`, `Pink`, `Purple`, `Red` or `Teal`. By default, no theme is set.
|
|
1313
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] types: A set of group types to configure for the group. Supported values are `DynamicMembership`, which denotes a group with dynamic membership, and `Unified`, which specifies a Microsoft 365 group. Required when `mail_enabled` is true. Changing this forces a new resource to be created.
|
|
1314
|
+
|
|
1315
|
+
> **Supported Group Types** At present, only security groups and Microsoft 365 groups can be created or managed with this resource. Distribution groups and mail-enabled security groups are not supported. Microsoft 365 groups can be security-enabled.
|
|
1316
|
+
:param pulumi.Input[_builtins.str] visibility: The group join policy and group content visibility. Possible values are `Private`, `Public`, or `Hiddenmembership`. Only Microsoft 365 groups can have `Hiddenmembership` visibility and this value must be set when the group is created. By default, security groups will receive `Private` visibility and Microsoft 365 groups will receive `Public` visibility.
|
|
1317
|
+
|
|
1318
|
+
> **Group Name Uniqueness** Group names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing groups if you want to avoid name collisions.
|
|
1319
|
+
:param pulumi.Input[_builtins.bool] writeback_enabled: Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
|
|
1320
|
+
"""
|
|
1321
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
1322
|
+
|
|
1323
|
+
__props__ = _GroupWithoutMembersState.__new__(_GroupWithoutMembersState)
|
|
1324
|
+
|
|
1325
|
+
__props__.__dict__["administrative_unit_ids"] = administrative_unit_ids
|
|
1326
|
+
__props__.__dict__["assignable_to_role"] = assignable_to_role
|
|
1327
|
+
__props__.__dict__["auto_subscribe_new_members"] = auto_subscribe_new_members
|
|
1328
|
+
__props__.__dict__["behaviors"] = behaviors
|
|
1329
|
+
__props__.__dict__["description"] = description
|
|
1330
|
+
__props__.__dict__["display_name"] = display_name
|
|
1331
|
+
__props__.__dict__["dynamic_membership"] = dynamic_membership
|
|
1332
|
+
__props__.__dict__["external_senders_allowed"] = external_senders_allowed
|
|
1333
|
+
__props__.__dict__["hide_from_address_lists"] = hide_from_address_lists
|
|
1334
|
+
__props__.__dict__["hide_from_outlook_clients"] = hide_from_outlook_clients
|
|
1335
|
+
__props__.__dict__["mail"] = mail
|
|
1336
|
+
__props__.__dict__["mail_enabled"] = mail_enabled
|
|
1337
|
+
__props__.__dict__["mail_nickname"] = mail_nickname
|
|
1338
|
+
__props__.__dict__["object_id"] = object_id
|
|
1339
|
+
__props__.__dict__["onpremises_domain_name"] = onpremises_domain_name
|
|
1340
|
+
__props__.__dict__["onpremises_group_type"] = onpremises_group_type
|
|
1341
|
+
__props__.__dict__["onpremises_netbios_name"] = onpremises_netbios_name
|
|
1342
|
+
__props__.__dict__["onpremises_sam_account_name"] = onpremises_sam_account_name
|
|
1343
|
+
__props__.__dict__["onpremises_security_identifier"] = onpremises_security_identifier
|
|
1344
|
+
__props__.__dict__["onpremises_sync_enabled"] = onpremises_sync_enabled
|
|
1345
|
+
__props__.__dict__["owners"] = owners
|
|
1346
|
+
__props__.__dict__["preferred_language"] = preferred_language
|
|
1347
|
+
__props__.__dict__["prevent_duplicate_names"] = prevent_duplicate_names
|
|
1348
|
+
__props__.__dict__["provisioning_options"] = provisioning_options
|
|
1349
|
+
__props__.__dict__["proxy_addresses"] = proxy_addresses
|
|
1350
|
+
__props__.__dict__["security_enabled"] = security_enabled
|
|
1351
|
+
__props__.__dict__["theme"] = theme
|
|
1352
|
+
__props__.__dict__["types"] = types
|
|
1353
|
+
__props__.__dict__["visibility"] = visibility
|
|
1354
|
+
__props__.__dict__["writeback_enabled"] = writeback_enabled
|
|
1355
|
+
return GroupWithoutMembers(resource_name, opts=opts, __props__=__props__)
|
|
1356
|
+
|
|
1357
|
+
@_builtins.property
|
|
1358
|
+
@pulumi.getter(name="administrativeUnitIds")
|
|
1359
|
+
def administrative_unit_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1360
|
+
"""
|
|
1361
|
+
The object IDs of administrative units in which the group is a member. If specified, new groups will be created in the scope of the first administrative unit and added to the others. If empty, new groups will be created at the tenant level.
|
|
1362
|
+
|
|
1363
|
+
> **Caution** When using the AdministrativeUnitMember resource, or the `members` property of the AdministrativeUnit resource, to manage Administrative Unit membership for a group, you will need to use an `ignore_changes = [administrative_unit_ids]` lifecycle meta argument for the `Group` resource, in order to avoid a persistent diff.
|
|
1364
|
+
"""
|
|
1365
|
+
return pulumi.get(self, "administrative_unit_ids")
|
|
1366
|
+
|
|
1367
|
+
@_builtins.property
|
|
1368
|
+
@pulumi.getter(name="assignableToRole")
|
|
1369
|
+
def assignable_to_role(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1370
|
+
"""
|
|
1371
|
+
Indicates whether this group can be assigned to an Azure Active Directory role. Defaults to `false`. Can only be set to `true` for security-enabled groups. Changing this forces a new resource to be created.
|
|
1372
|
+
"""
|
|
1373
|
+
return pulumi.get(self, "assignable_to_role")
|
|
1374
|
+
|
|
1375
|
+
@_builtins.property
|
|
1376
|
+
@pulumi.getter(name="autoSubscribeNewMembers")
|
|
1377
|
+
def auto_subscribe_new_members(self) -> pulumi.Output[_builtins.bool]:
|
|
1378
|
+
"""
|
|
1379
|
+
Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups.
|
|
1380
|
+
|
|
1381
|
+
> **Known Permissions Issue** The `auto_subscribe_new_members` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1382
|
+
"""
|
|
1383
|
+
return pulumi.get(self, "auto_subscribe_new_members")
|
|
1384
|
+
|
|
1385
|
+
@_builtins.property
|
|
1386
|
+
@pulumi.getter
|
|
1387
|
+
def behaviors(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1388
|
+
"""
|
|
1389
|
+
A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `SkipExchangeInstantOn`, `SubscribeMembersToCalendarEventsDisabled`, `SubscribeNewGroupMembers` and `WelcomeEmailDisabled`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for more details. Changing this forces a new resource to be created.
|
|
1390
|
+
"""
|
|
1391
|
+
return pulumi.get(self, "behaviors")
|
|
1392
|
+
|
|
1393
|
+
@_builtins.property
|
|
1394
|
+
@pulumi.getter
|
|
1395
|
+
def description(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1396
|
+
"""
|
|
1397
|
+
The description for the group.
|
|
1398
|
+
"""
|
|
1399
|
+
return pulumi.get(self, "description")
|
|
1400
|
+
|
|
1401
|
+
@_builtins.property
|
|
1402
|
+
@pulumi.getter(name="displayName")
|
|
1403
|
+
def display_name(self) -> pulumi.Output[_builtins.str]:
|
|
1404
|
+
"""
|
|
1405
|
+
The display name for the group.
|
|
1406
|
+
"""
|
|
1407
|
+
return pulumi.get(self, "display_name")
|
|
1408
|
+
|
|
1409
|
+
@_builtins.property
|
|
1410
|
+
@pulumi.getter(name="dynamicMembership")
|
|
1411
|
+
def dynamic_membership(self) -> pulumi.Output[Optional['outputs.GroupWithoutMembersDynamicMembership']]:
|
|
1412
|
+
"""
|
|
1413
|
+
A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
|
|
1414
|
+
"""
|
|
1415
|
+
return pulumi.get(self, "dynamic_membership")
|
|
1416
|
+
|
|
1417
|
+
@_builtins.property
|
|
1418
|
+
@pulumi.getter(name="externalSendersAllowed")
|
|
1419
|
+
def external_senders_allowed(self) -> pulumi.Output[_builtins.bool]:
|
|
1420
|
+
"""
|
|
1421
|
+
Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
|
|
1422
|
+
|
|
1423
|
+
> **Known Permissions Issue** The `external_senders_allowed` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1424
|
+
"""
|
|
1425
|
+
return pulumi.get(self, "external_senders_allowed")
|
|
1426
|
+
|
|
1427
|
+
@_builtins.property
|
|
1428
|
+
@pulumi.getter(name="hideFromAddressLists")
|
|
1429
|
+
def hide_from_address_lists(self) -> pulumi.Output[_builtins.bool]:
|
|
1430
|
+
"""
|
|
1431
|
+
Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups. Can only be set for Unified groups.
|
|
1432
|
+
|
|
1433
|
+
> **Known Permissions Issue** The `hide_from_address_lists` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1434
|
+
"""
|
|
1435
|
+
return pulumi.get(self, "hide_from_address_lists")
|
|
1436
|
+
|
|
1437
|
+
@_builtins.property
|
|
1438
|
+
@pulumi.getter(name="hideFromOutlookClients")
|
|
1439
|
+
def hide_from_outlook_clients(self) -> pulumi.Output[_builtins.bool]:
|
|
1440
|
+
"""
|
|
1441
|
+
Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web. Can only be set for Unified groups.
|
|
1442
|
+
|
|
1443
|
+
> **Known Permissions Issue** The `hide_from_outlook_clients` property can only be set when authenticating as a Member user of the tenant and _not_ when authenticating as a Guest user or as a service principal. Please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) documentation.
|
|
1444
|
+
"""
|
|
1445
|
+
return pulumi.get(self, "hide_from_outlook_clients")
|
|
1446
|
+
|
|
1447
|
+
@_builtins.property
|
|
1448
|
+
@pulumi.getter
|
|
1449
|
+
def mail(self) -> pulumi.Output[_builtins.str]:
|
|
1450
|
+
"""
|
|
1451
|
+
The SMTP address for the group.
|
|
1452
|
+
"""
|
|
1453
|
+
return pulumi.get(self, "mail")
|
|
1454
|
+
|
|
1455
|
+
@_builtins.property
|
|
1456
|
+
@pulumi.getter(name="mailEnabled")
|
|
1457
|
+
def mail_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1458
|
+
"""
|
|
1459
|
+
Whether the group is a mail enabled, with a shared group mailbox. At least one of `mail_enabled` or `security_enabled` must be specified. Only Microsoft 365 groups can be mail enabled (see the `types` property).
|
|
1460
|
+
"""
|
|
1461
|
+
return pulumi.get(self, "mail_enabled")
|
|
1462
|
+
|
|
1463
|
+
@_builtins.property
|
|
1464
|
+
@pulumi.getter(name="mailNickname")
|
|
1465
|
+
def mail_nickname(self) -> pulumi.Output[_builtins.str]:
|
|
1466
|
+
"""
|
|
1467
|
+
The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created.
|
|
1468
|
+
"""
|
|
1469
|
+
return pulumi.get(self, "mail_nickname")
|
|
1470
|
+
|
|
1471
|
+
@_builtins.property
|
|
1472
|
+
@pulumi.getter(name="objectId")
|
|
1473
|
+
def object_id(self) -> pulumi.Output[_builtins.str]:
|
|
1474
|
+
"""
|
|
1475
|
+
The object ID of the group.
|
|
1476
|
+
"""
|
|
1477
|
+
return pulumi.get(self, "object_id")
|
|
1478
|
+
|
|
1479
|
+
@_builtins.property
|
|
1480
|
+
@pulumi.getter(name="onpremisesDomainName")
|
|
1481
|
+
def onpremises_domain_name(self) -> pulumi.Output[_builtins.str]:
|
|
1482
|
+
"""
|
|
1483
|
+
The on-premises FQDN, also called dnsDomainName, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
1484
|
+
"""
|
|
1485
|
+
return pulumi.get(self, "onpremises_domain_name")
|
|
1486
|
+
|
|
1487
|
+
@_builtins.property
|
|
1488
|
+
@pulumi.getter(name="onpremisesGroupType")
|
|
1489
|
+
def onpremises_group_type(self) -> pulumi.Output[_builtins.str]:
|
|
1490
|
+
"""
|
|
1491
|
+
The on-premises group type that the AAD group will be written as, when writeback is enabled. Possible values are `UniversalDistributionGroup`, `UniversalMailEnabledSecurityGroup`, or `UniversalSecurityGroup`.
|
|
1492
|
+
"""
|
|
1493
|
+
return pulumi.get(self, "onpremises_group_type")
|
|
1494
|
+
|
|
1495
|
+
@_builtins.property
|
|
1496
|
+
@pulumi.getter(name="onpremisesNetbiosName")
|
|
1497
|
+
def onpremises_netbios_name(self) -> pulumi.Output[_builtins.str]:
|
|
1498
|
+
"""
|
|
1499
|
+
The on-premises NetBIOS name, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
1500
|
+
"""
|
|
1501
|
+
return pulumi.get(self, "onpremises_netbios_name")
|
|
1502
|
+
|
|
1503
|
+
@_builtins.property
|
|
1504
|
+
@pulumi.getter(name="onpremisesSamAccountName")
|
|
1505
|
+
def onpremises_sam_account_name(self) -> pulumi.Output[_builtins.str]:
|
|
1506
|
+
"""
|
|
1507
|
+
The on-premises SAM account name, synchronised from the on-premises directory when Azure AD Connect is used.
|
|
1508
|
+
"""
|
|
1509
|
+
return pulumi.get(self, "onpremises_sam_account_name")
|
|
1510
|
+
|
|
1511
|
+
@_builtins.property
|
|
1512
|
+
@pulumi.getter(name="onpremisesSecurityIdentifier")
|
|
1513
|
+
def onpremises_security_identifier(self) -> pulumi.Output[_builtins.str]:
|
|
1514
|
+
"""
|
|
1515
|
+
The on-premises security identifier (SID), synchronised from the on-premises directory when Azure AD Connect is used.
|
|
1516
|
+
"""
|
|
1517
|
+
return pulumi.get(self, "onpremises_security_identifier")
|
|
1518
|
+
|
|
1519
|
+
@_builtins.property
|
|
1520
|
+
@pulumi.getter(name="onpremisesSyncEnabled")
|
|
1521
|
+
def onpremises_sync_enabled(self) -> pulumi.Output[_builtins.bool]:
|
|
1522
|
+
"""
|
|
1523
|
+
Whether this group is synchronised from an on-premises directory (`true`), no longer synchronised (`false`), or has never been synchronised (`null`).
|
|
1524
|
+
"""
|
|
1525
|
+
return pulumi.get(self, "onpremises_sync_enabled")
|
|
1526
|
+
|
|
1527
|
+
@_builtins.property
|
|
1528
|
+
@pulumi.getter
|
|
1529
|
+
def owners(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
1530
|
+
"""
|
|
1531
|
+
A set of owners who own this group. Supported object types are Users or Service Principals
|
|
1532
|
+
"""
|
|
1533
|
+
return pulumi.get(self, "owners")
|
|
1534
|
+
|
|
1535
|
+
@_builtins.property
|
|
1536
|
+
@pulumi.getter(name="preferredLanguage")
|
|
1537
|
+
def preferred_language(self) -> pulumi.Output[_builtins.str]:
|
|
1538
|
+
"""
|
|
1539
|
+
The preferred language for a Microsoft 365 group, in ISO 639-1 notation.
|
|
1540
|
+
"""
|
|
1541
|
+
return pulumi.get(self, "preferred_language")
|
|
1542
|
+
|
|
1543
|
+
@_builtins.property
|
|
1544
|
+
@pulumi.getter(name="preventDuplicateNames")
|
|
1545
|
+
def prevent_duplicate_names(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1546
|
+
"""
|
|
1547
|
+
If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
|
|
1548
|
+
"""
|
|
1549
|
+
return pulumi.get(self, "prevent_duplicate_names")
|
|
1550
|
+
|
|
1551
|
+
@_builtins.property
|
|
1552
|
+
@pulumi.getter(name="provisioningOptions")
|
|
1553
|
+
def provisioning_options(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1554
|
+
"""
|
|
1555
|
+
A set of provisioning options for a Microsoft 365 group. The only supported value is `Team`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for details. Changing this forces a new resource to be created.
|
|
1556
|
+
"""
|
|
1557
|
+
return pulumi.get(self, "provisioning_options")
|
|
1558
|
+
|
|
1559
|
+
@_builtins.property
|
|
1560
|
+
@pulumi.getter(name="proxyAddresses")
|
|
1561
|
+
def proxy_addresses(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
1562
|
+
"""
|
|
1563
|
+
List of email addresses for the group that direct to the same group mailbox.
|
|
1564
|
+
"""
|
|
1565
|
+
return pulumi.get(self, "proxy_addresses")
|
|
1566
|
+
|
|
1567
|
+
@_builtins.property
|
|
1568
|
+
@pulumi.getter(name="securityEnabled")
|
|
1569
|
+
def security_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1570
|
+
"""
|
|
1571
|
+
Whether the group is a security group for controlling access to in-app resources. At least one of `security_enabled` or `mail_enabled` must be specified. A Microsoft 365 group can be security enabled _and_ mail enabled (see the `types` property).
|
|
1572
|
+
"""
|
|
1573
|
+
return pulumi.get(self, "security_enabled")
|
|
1574
|
+
|
|
1575
|
+
@_builtins.property
|
|
1576
|
+
@pulumi.getter
|
|
1577
|
+
def theme(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
1578
|
+
"""
|
|
1579
|
+
The colour theme for a Microsoft 365 group. Possible values are `Blue`, `Green`, `Orange`, `Pink`, `Purple`, `Red` or `Teal`. By default, no theme is set.
|
|
1580
|
+
"""
|
|
1581
|
+
return pulumi.get(self, "theme")
|
|
1582
|
+
|
|
1583
|
+
@_builtins.property
|
|
1584
|
+
@pulumi.getter
|
|
1585
|
+
def types(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
|
|
1586
|
+
"""
|
|
1587
|
+
A set of group types to configure for the group. Supported values are `DynamicMembership`, which denotes a group with dynamic membership, and `Unified`, which specifies a Microsoft 365 group. Required when `mail_enabled` is true. Changing this forces a new resource to be created.
|
|
1588
|
+
|
|
1589
|
+
> **Supported Group Types** At present, only security groups and Microsoft 365 groups can be created or managed with this resource. Distribution groups and mail-enabled security groups are not supported. Microsoft 365 groups can be security-enabled.
|
|
1590
|
+
"""
|
|
1591
|
+
return pulumi.get(self, "types")
|
|
1592
|
+
|
|
1593
|
+
@_builtins.property
|
|
1594
|
+
@pulumi.getter
|
|
1595
|
+
def visibility(self) -> pulumi.Output[_builtins.str]:
|
|
1596
|
+
"""
|
|
1597
|
+
The group join policy and group content visibility. Possible values are `Private`, `Public`, or `Hiddenmembership`. Only Microsoft 365 groups can have `Hiddenmembership` visibility and this value must be set when the group is created. By default, security groups will receive `Private` visibility and Microsoft 365 groups will receive `Public` visibility.
|
|
1598
|
+
|
|
1599
|
+
> **Group Name Uniqueness** Group names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing groups if you want to avoid name collisions.
|
|
1600
|
+
"""
|
|
1601
|
+
return pulumi.get(self, "visibility")
|
|
1602
|
+
|
|
1603
|
+
@_builtins.property
|
|
1604
|
+
@pulumi.getter(name="writebackEnabled")
|
|
1605
|
+
def writeback_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
1606
|
+
"""
|
|
1607
|
+
Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
|
|
1608
|
+
"""
|
|
1609
|
+
return pulumi.get(self, "writeback_enabled")
|
|
1610
|
+
|