pulumi-azuread 5.48.0a1706744699__py3-none-any.whl → 6.8.0a1766208344__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-azuread might be problematic. Click here for more details.

Files changed (87) hide show
  1. pulumi_azuread/__init__.py +48 -1
  2. pulumi_azuread/_inputs.py +3803 -919
  3. pulumi_azuread/_utilities.py +52 -12
  4. pulumi_azuread/access_package.py +84 -78
  5. pulumi_azuread/access_package_assignment_policy.py +202 -196
  6. pulumi_azuread/access_package_catalog.py +82 -76
  7. pulumi_azuread/access_package_catalog_role_assignment.py +73 -67
  8. pulumi_azuread/access_package_resource_catalog_association.py +73 -67
  9. pulumi_azuread/access_package_resource_package_association.py +79 -73
  10. pulumi_azuread/administrative_unit.py +120 -100
  11. pulumi_azuread/administrative_unit_member.py +66 -50
  12. pulumi_azuread/administrative_unit_role_member.py +75 -69
  13. pulumi_azuread/app_role_assignment.py +164 -264
  14. pulumi_azuread/application.py +766 -692
  15. pulumi_azuread/application_api_access.py +84 -80
  16. pulumi_azuread/application_app_role.py +120 -116
  17. pulumi_azuread/application_certificate.py +349 -211
  18. pulumi_azuread/application_fallback_public_client.py +50 -44
  19. pulumi_azuread/application_federated_identity_credential.py +142 -197
  20. pulumi_azuread/application_from_template.py +90 -84
  21. pulumi_azuread/application_identifier_uri.py +56 -52
  22. pulumi_azuread/application_known_clients.py +50 -44
  23. pulumi_azuread/application_optional_claims.py +87 -81
  24. pulumi_azuread/application_owner.py +76 -42
  25. pulumi_azuread/application_password.py +159 -205
  26. pulumi_azuread/application_permission_scope.py +160 -156
  27. pulumi_azuread/application_pre_authorized.py +120 -236
  28. pulumi_azuread/application_redirect_uris.py +75 -69
  29. pulumi_azuread/application_registration.py +315 -309
  30. pulumi_azuread/authentication_strength_policy.py +73 -67
  31. pulumi_azuread/claims_mapping_policy.py +48 -42
  32. pulumi_azuread/conditional_access_policy.py +248 -232
  33. pulumi_azuread/config/__init__.py +2 -1
  34. pulumi_azuread/config/__init__.pyi +23 -17
  35. pulumi_azuread/config/vars.py +47 -37
  36. pulumi_azuread/custom_directory_role.py +128 -122
  37. pulumi_azuread/directory_role.py +60 -54
  38. pulumi_azuread/directory_role_assignment.py +194 -181
  39. pulumi_azuread/directory_role_eligibility_schedule_request.py +86 -80
  40. pulumi_azuread/directory_role_member.py +54 -48
  41. pulumi_azuread/get_access_package.py +45 -31
  42. pulumi_azuread/get_access_package_catalog.py +40 -27
  43. pulumi_azuread/get_access_package_catalog_role.py +39 -25
  44. pulumi_azuread/get_administrative_unit.py +42 -27
  45. pulumi_azuread/get_application.py +135 -94
  46. pulumi_azuread/get_application_published_app_ids.py +42 -47
  47. pulumi_azuread/get_application_template.py +49 -33
  48. pulumi_azuread/get_client_config.py +24 -15
  49. pulumi_azuread/get_directory_object.py +32 -21
  50. pulumi_azuread/get_directory_role_templates.py +20 -12
  51. pulumi_azuread/get_directory_roles.py +23 -14
  52. pulumi_azuread/get_domains.py +65 -46
  53. pulumi_azuread/get_group.py +147 -88
  54. pulumi_azuread/get_group_role_management_policy.py +178 -0
  55. pulumi_azuread/get_groups.py +71 -51
  56. pulumi_azuread/get_named_location.py +47 -22
  57. pulumi_azuread/get_service_principal.py +108 -90
  58. pulumi_azuread/get_service_principals.py +60 -64
  59. pulumi_azuread/get_user.py +186 -118
  60. pulumi_azuread/get_users.py +96 -53
  61. pulumi_azuread/group.py +622 -464
  62. pulumi_azuread/group_member.py +56 -50
  63. pulumi_azuread/group_role_management_policy.py +544 -0
  64. pulumi_azuread/group_without_members.py +1610 -0
  65. pulumi_azuread/invitation.py +126 -120
  66. pulumi_azuread/named_location.py +90 -76
  67. pulumi_azuread/outputs.py +2844 -1308
  68. pulumi_azuread/privileged_access_group_assignment_schedule.py +695 -0
  69. pulumi_azuread/privileged_access_group_eligibility_schedule.py +695 -0
  70. pulumi_azuread/provider.py +292 -246
  71. pulumi_azuread/pulumi-plugin.json +2 -1
  72. pulumi_azuread/service_principal.py +400 -461
  73. pulumi_azuread/service_principal_certificate.py +230 -145
  74. pulumi_azuread/service_principal_claims_mapping_policy_assignment.py +53 -47
  75. pulumi_azuread/service_principal_delegated_permission_grant.py +146 -140
  76. pulumi_azuread/service_principal_password.py +156 -141
  77. pulumi_azuread/service_principal_token_signing_certificate.py +119 -124
  78. pulumi_azuread/synchronization_job.py +105 -111
  79. pulumi_azuread/synchronization_job_provision_on_demand.py +396 -0
  80. pulumi_azuread/synchronization_secret.py +64 -70
  81. pulumi_azuread/user.py +776 -730
  82. pulumi_azuread/user_flow_attribute.py +76 -70
  83. {pulumi_azuread-5.48.0a1706744699.dist-info → pulumi_azuread-6.8.0a1766208344.dist-info}/METADATA +21 -20
  84. pulumi_azuread-6.8.0a1766208344.dist-info/RECORD +87 -0
  85. {pulumi_azuread-5.48.0a1706744699.dist-info → pulumi_azuread-6.8.0a1766208344.dist-info}/WHEEL +1 -1
  86. pulumi_azuread-5.48.0a1706744699.dist-info/RECORD +0 -81
  87. {pulumi_azuread-5.48.0a1706744699.dist-info → pulumi_azuread-6.8.0a1766208344.dist-info}/top_level.txt +0 -0
pulumi_azuread/group.py CHANGED
@@ -1,12 +1,17 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -16,68 +21,68 @@ __all__ = ['GroupArgs', 'Group']
16
21
  @pulumi.input_type
17
22
  class GroupArgs:
18
23
  def __init__(__self__, *,
19
- display_name: pulumi.Input[str],
20
- administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
21
- assignable_to_role: Optional[pulumi.Input[bool]] = None,
22
- auto_subscribe_new_members: Optional[pulumi.Input[bool]] = None,
23
- behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
24
- description: Optional[pulumi.Input[str]] = None,
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,
25
30
  dynamic_membership: Optional[pulumi.Input['GroupDynamicMembershipArgs']] = None,
26
- external_senders_allowed: Optional[pulumi.Input[bool]] = None,
27
- hide_from_address_lists: Optional[pulumi.Input[bool]] = None,
28
- hide_from_outlook_clients: Optional[pulumi.Input[bool]] = None,
29
- mail_enabled: Optional[pulumi.Input[bool]] = None,
30
- mail_nickname: Optional[pulumi.Input[str]] = None,
31
- members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
32
- onpremises_group_type: Optional[pulumi.Input[str]] = None,
33
- owners: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
34
- prevent_duplicate_names: Optional[pulumi.Input[bool]] = None,
35
- provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
36
- security_enabled: Optional[pulumi.Input[bool]] = None,
37
- theme: Optional[pulumi.Input[str]] = None,
38
- types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
39
- visibility: Optional[pulumi.Input[str]] = None,
40
- writeback_enabled: Optional[pulumi.Input[bool]] = 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
+ members: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
37
+ onpremises_group_type: Optional[pulumi.Input[_builtins.str]] = None,
38
+ owners: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
39
+ prevent_duplicate_names: Optional[pulumi.Input[_builtins.bool]] = None,
40
+ provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
41
+ security_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
42
+ theme: Optional[pulumi.Input[_builtins.str]] = None,
43
+ types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
44
+ visibility: Optional[pulumi.Input[_builtins.str]] = None,
45
+ writeback_enabled: Optional[pulumi.Input[_builtins.bool]] = None):
41
46
  """
42
47
  The set of arguments for constructing a Group resource.
43
- :param pulumi.Input[str] display_name: The display name for the group.
44
- :param pulumi.Input[Sequence[pulumi.Input[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.
48
+ :param pulumi.Input[_builtins.str] display_name: The display name for the group.
49
+ :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.
45
50
 
46
- !> **Warning** Do not use the `administrative_unit_ids` property at the same time as the AdministrativeUnitMember resource, _for the same group_. Doing so will cause a conflict and administrative unit members will be removed.
47
- :param pulumi.Input[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.
48
- :param pulumi.Input[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.
51
+ > **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.
52
+ :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.
53
+ :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.
49
54
 
50
55
  > **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.
51
- :param pulumi.Input[Sequence[pulumi.Input[str]]] behaviors: A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `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.
52
- :param pulumi.Input[str] description: The description for the group.
56
+ :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.
57
+ :param pulumi.Input[_builtins.str] description: The description for the group.
53
58
  :param pulumi.Input['GroupDynamicMembershipArgs'] dynamic_membership: A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
54
- :param pulumi.Input[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
+ :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.
55
60
 
56
61
  > **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.
57
- :param pulumi.Input[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
+ :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.
58
63
 
59
64
  > **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.
60
- :param pulumi.Input[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
+ :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.
61
66
 
62
67
  > **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.
63
- :param pulumi.Input[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).
64
- :param pulumi.Input[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.
65
- :param pulumi.Input[Sequence[pulumi.Input[str]]] members: A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
68
+ :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).
69
+ :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.
70
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] members: A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
66
71
 
67
72
  !> **Warning** Do not use the `members` property at the same time as the GroupMember resource for the same group. Doing so will cause a conflict and group members will be removed.
68
- :param pulumi.Input[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`.
69
- :param pulumi.Input[Sequence[pulumi.Input[str]]] owners: A set of owners who own this group. Supported object types are Users or Service Principals
70
- :param pulumi.Input[bool] prevent_duplicate_names: If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
71
- :param pulumi.Input[Sequence[pulumi.Input[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.
72
- :param pulumi.Input[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).
73
- :param pulumi.Input[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.
74
- :param pulumi.Input[Sequence[pulumi.Input[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.
73
+ :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`.
74
+ :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
75
+ :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`.
76
+ :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.
77
+ :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).
78
+ :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.
79
+ :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.
75
80
 
76
81
  > **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.
77
- :param pulumi.Input[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.
82
+ :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.
78
83
 
79
84
  > **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.
80
- :param pulumi.Input[bool] writeback_enabled: Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
85
+ :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.
81
86
  """
82
87
  pulumi.set(__self__, "display_name", display_name)
83
88
  if administrative_unit_ids is not None:
@@ -123,47 +128,47 @@ class GroupArgs:
123
128
  if writeback_enabled is not None:
124
129
  pulumi.set(__self__, "writeback_enabled", writeback_enabled)
125
130
 
126
- @property
131
+ @_builtins.property
127
132
  @pulumi.getter(name="displayName")
128
- def display_name(self) -> pulumi.Input[str]:
133
+ def display_name(self) -> pulumi.Input[_builtins.str]:
129
134
  """
130
135
  The display name for the group.
131
136
  """
132
137
  return pulumi.get(self, "display_name")
133
138
 
134
139
  @display_name.setter
135
- def display_name(self, value: pulumi.Input[str]):
140
+ def display_name(self, value: pulumi.Input[_builtins.str]):
136
141
  pulumi.set(self, "display_name", value)
137
142
 
138
- @property
143
+ @_builtins.property
139
144
  @pulumi.getter(name="administrativeUnitIds")
140
- def administrative_unit_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
145
+ def administrative_unit_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
141
146
  """
142
147
  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.
143
148
 
144
- !> **Warning** Do not use the `administrative_unit_ids` property at the same time as the AdministrativeUnitMember resource, _for the same group_. Doing so will cause a conflict and administrative unit members will be removed.
149
+ > **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.
145
150
  """
146
151
  return pulumi.get(self, "administrative_unit_ids")
147
152
 
148
153
  @administrative_unit_ids.setter
149
- def administrative_unit_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
154
+ def administrative_unit_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
150
155
  pulumi.set(self, "administrative_unit_ids", value)
151
156
 
152
- @property
157
+ @_builtins.property
153
158
  @pulumi.getter(name="assignableToRole")
154
- def assignable_to_role(self) -> Optional[pulumi.Input[bool]]:
159
+ def assignable_to_role(self) -> Optional[pulumi.Input[_builtins.bool]]:
155
160
  """
156
161
  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.
157
162
  """
158
163
  return pulumi.get(self, "assignable_to_role")
159
164
 
160
165
  @assignable_to_role.setter
161
- def assignable_to_role(self, value: Optional[pulumi.Input[bool]]):
166
+ def assignable_to_role(self, value: Optional[pulumi.Input[_builtins.bool]]):
162
167
  pulumi.set(self, "assignable_to_role", value)
163
168
 
164
- @property
169
+ @_builtins.property
165
170
  @pulumi.getter(name="autoSubscribeNewMembers")
166
- def auto_subscribe_new_members(self) -> Optional[pulumi.Input[bool]]:
171
+ def auto_subscribe_new_members(self) -> Optional[pulumi.Input[_builtins.bool]]:
167
172
  """
168
173
  Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups.
169
174
 
@@ -172,34 +177,34 @@ class GroupArgs:
172
177
  return pulumi.get(self, "auto_subscribe_new_members")
173
178
 
174
179
  @auto_subscribe_new_members.setter
175
- def auto_subscribe_new_members(self, value: Optional[pulumi.Input[bool]]):
180
+ def auto_subscribe_new_members(self, value: Optional[pulumi.Input[_builtins.bool]]):
176
181
  pulumi.set(self, "auto_subscribe_new_members", value)
177
182
 
178
- @property
183
+ @_builtins.property
179
184
  @pulumi.getter
180
- def behaviors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
185
+ def behaviors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
181
186
  """
182
- A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `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.
187
+ 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.
183
188
  """
184
189
  return pulumi.get(self, "behaviors")
185
190
 
186
191
  @behaviors.setter
187
- def behaviors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
192
+ def behaviors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
188
193
  pulumi.set(self, "behaviors", value)
189
194
 
190
- @property
195
+ @_builtins.property
191
196
  @pulumi.getter
192
- def description(self) -> Optional[pulumi.Input[str]]:
197
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
193
198
  """
194
199
  The description for the group.
195
200
  """
196
201
  return pulumi.get(self, "description")
197
202
 
198
203
  @description.setter
199
- def description(self, value: Optional[pulumi.Input[str]]):
204
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
200
205
  pulumi.set(self, "description", value)
201
206
 
202
- @property
207
+ @_builtins.property
203
208
  @pulumi.getter(name="dynamicMembership")
204
209
  def dynamic_membership(self) -> Optional[pulumi.Input['GroupDynamicMembershipArgs']]:
205
210
  """
@@ -211,9 +216,9 @@ class GroupArgs:
211
216
  def dynamic_membership(self, value: Optional[pulumi.Input['GroupDynamicMembershipArgs']]):
212
217
  pulumi.set(self, "dynamic_membership", value)
213
218
 
214
- @property
219
+ @_builtins.property
215
220
  @pulumi.getter(name="externalSendersAllowed")
216
- def external_senders_allowed(self) -> Optional[pulumi.Input[bool]]:
221
+ def external_senders_allowed(self) -> Optional[pulumi.Input[_builtins.bool]]:
217
222
  """
218
223
  Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
219
224
 
@@ -222,12 +227,12 @@ class GroupArgs:
222
227
  return pulumi.get(self, "external_senders_allowed")
223
228
 
224
229
  @external_senders_allowed.setter
225
- def external_senders_allowed(self, value: Optional[pulumi.Input[bool]]):
230
+ def external_senders_allowed(self, value: Optional[pulumi.Input[_builtins.bool]]):
226
231
  pulumi.set(self, "external_senders_allowed", value)
227
232
 
228
- @property
233
+ @_builtins.property
229
234
  @pulumi.getter(name="hideFromAddressLists")
230
- def hide_from_address_lists(self) -> Optional[pulumi.Input[bool]]:
235
+ def hide_from_address_lists(self) -> Optional[pulumi.Input[_builtins.bool]]:
231
236
  """
232
237
  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.
233
238
 
@@ -236,12 +241,12 @@ class GroupArgs:
236
241
  return pulumi.get(self, "hide_from_address_lists")
237
242
 
238
243
  @hide_from_address_lists.setter
239
- def hide_from_address_lists(self, value: Optional[pulumi.Input[bool]]):
244
+ def hide_from_address_lists(self, value: Optional[pulumi.Input[_builtins.bool]]):
240
245
  pulumi.set(self, "hide_from_address_lists", value)
241
246
 
242
- @property
247
+ @_builtins.property
243
248
  @pulumi.getter(name="hideFromOutlookClients")
244
- def hide_from_outlook_clients(self) -> Optional[pulumi.Input[bool]]:
249
+ def hide_from_outlook_clients(self) -> Optional[pulumi.Input[_builtins.bool]]:
245
250
  """
246
251
  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.
247
252
 
@@ -250,36 +255,36 @@ class GroupArgs:
250
255
  return pulumi.get(self, "hide_from_outlook_clients")
251
256
 
252
257
  @hide_from_outlook_clients.setter
253
- def hide_from_outlook_clients(self, value: Optional[pulumi.Input[bool]]):
258
+ def hide_from_outlook_clients(self, value: Optional[pulumi.Input[_builtins.bool]]):
254
259
  pulumi.set(self, "hide_from_outlook_clients", value)
255
260
 
256
- @property
261
+ @_builtins.property
257
262
  @pulumi.getter(name="mailEnabled")
258
- def mail_enabled(self) -> Optional[pulumi.Input[bool]]:
263
+ def mail_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
259
264
  """
260
265
  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).
261
266
  """
262
267
  return pulumi.get(self, "mail_enabled")
263
268
 
264
269
  @mail_enabled.setter
265
- def mail_enabled(self, value: Optional[pulumi.Input[bool]]):
270
+ def mail_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
266
271
  pulumi.set(self, "mail_enabled", value)
267
272
 
268
- @property
273
+ @_builtins.property
269
274
  @pulumi.getter(name="mailNickname")
270
- def mail_nickname(self) -> Optional[pulumi.Input[str]]:
275
+ def mail_nickname(self) -> Optional[pulumi.Input[_builtins.str]]:
271
276
  """
272
277
  The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created.
273
278
  """
274
279
  return pulumi.get(self, "mail_nickname")
275
280
 
276
281
  @mail_nickname.setter
277
- def mail_nickname(self, value: Optional[pulumi.Input[str]]):
282
+ def mail_nickname(self, value: Optional[pulumi.Input[_builtins.str]]):
278
283
  pulumi.set(self, "mail_nickname", value)
279
284
 
280
- @property
285
+ @_builtins.property
281
286
  @pulumi.getter
282
- def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
287
+ def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
283
288
  """
284
289
  A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
285
290
 
@@ -288,84 +293,84 @@ class GroupArgs:
288
293
  return pulumi.get(self, "members")
289
294
 
290
295
  @members.setter
291
- def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
296
+ def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
292
297
  pulumi.set(self, "members", value)
293
298
 
294
- @property
299
+ @_builtins.property
295
300
  @pulumi.getter(name="onpremisesGroupType")
296
- def onpremises_group_type(self) -> Optional[pulumi.Input[str]]:
301
+ def onpremises_group_type(self) -> Optional[pulumi.Input[_builtins.str]]:
297
302
  """
298
303
  The on-premises group type that the AAD group will be written as, when writeback is enabled. Possible values are `UniversalDistributionGroup`, `UniversalMailEnabledSecurityGroup`, or `UniversalSecurityGroup`.
299
304
  """
300
305
  return pulumi.get(self, "onpremises_group_type")
301
306
 
302
307
  @onpremises_group_type.setter
303
- def onpremises_group_type(self, value: Optional[pulumi.Input[str]]):
308
+ def onpremises_group_type(self, value: Optional[pulumi.Input[_builtins.str]]):
304
309
  pulumi.set(self, "onpremises_group_type", value)
305
310
 
306
- @property
311
+ @_builtins.property
307
312
  @pulumi.getter
308
- def owners(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
313
+ def owners(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
309
314
  """
310
315
  A set of owners who own this group. Supported object types are Users or Service Principals
311
316
  """
312
317
  return pulumi.get(self, "owners")
313
318
 
314
319
  @owners.setter
315
- def owners(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
320
+ def owners(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
316
321
  pulumi.set(self, "owners", value)
317
322
 
318
- @property
323
+ @_builtins.property
319
324
  @pulumi.getter(name="preventDuplicateNames")
320
- def prevent_duplicate_names(self) -> Optional[pulumi.Input[bool]]:
325
+ def prevent_duplicate_names(self) -> Optional[pulumi.Input[_builtins.bool]]:
321
326
  """
322
327
  If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
323
328
  """
324
329
  return pulumi.get(self, "prevent_duplicate_names")
325
330
 
326
331
  @prevent_duplicate_names.setter
327
- def prevent_duplicate_names(self, value: Optional[pulumi.Input[bool]]):
332
+ def prevent_duplicate_names(self, value: Optional[pulumi.Input[_builtins.bool]]):
328
333
  pulumi.set(self, "prevent_duplicate_names", value)
329
334
 
330
- @property
335
+ @_builtins.property
331
336
  @pulumi.getter(name="provisioningOptions")
332
- def provisioning_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
337
+ def provisioning_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
333
338
  """
334
339
  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.
335
340
  """
336
341
  return pulumi.get(self, "provisioning_options")
337
342
 
338
343
  @provisioning_options.setter
339
- def provisioning_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
344
+ def provisioning_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
340
345
  pulumi.set(self, "provisioning_options", value)
341
346
 
342
- @property
347
+ @_builtins.property
343
348
  @pulumi.getter(name="securityEnabled")
344
- def security_enabled(self) -> Optional[pulumi.Input[bool]]:
349
+ def security_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
345
350
  """
346
351
  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).
347
352
  """
348
353
  return pulumi.get(self, "security_enabled")
349
354
 
350
355
  @security_enabled.setter
351
- def security_enabled(self, value: Optional[pulumi.Input[bool]]):
356
+ def security_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
352
357
  pulumi.set(self, "security_enabled", value)
353
358
 
354
- @property
359
+ @_builtins.property
355
360
  @pulumi.getter
356
- def theme(self) -> Optional[pulumi.Input[str]]:
361
+ def theme(self) -> Optional[pulumi.Input[_builtins.str]]:
357
362
  """
358
363
  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.
359
364
  """
360
365
  return pulumi.get(self, "theme")
361
366
 
362
367
  @theme.setter
363
- def theme(self, value: Optional[pulumi.Input[str]]):
368
+ def theme(self, value: Optional[pulumi.Input[_builtins.str]]):
364
369
  pulumi.set(self, "theme", value)
365
370
 
366
- @property
371
+ @_builtins.property
367
372
  @pulumi.getter
368
- def types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
373
+ def types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
369
374
  """
370
375
  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.
371
376
 
@@ -374,12 +379,12 @@ class GroupArgs:
374
379
  return pulumi.get(self, "types")
375
380
 
376
381
  @types.setter
377
- def types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
382
+ def types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
378
383
  pulumi.set(self, "types", value)
379
384
 
380
- @property
385
+ @_builtins.property
381
386
  @pulumi.getter
382
- def visibility(self) -> Optional[pulumi.Input[str]]:
387
+ def visibility(self) -> Optional[pulumi.Input[_builtins.str]]:
383
388
  """
384
389
  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.
385
390
 
@@ -388,105 +393,105 @@ class GroupArgs:
388
393
  return pulumi.get(self, "visibility")
389
394
 
390
395
  @visibility.setter
391
- def visibility(self, value: Optional[pulumi.Input[str]]):
396
+ def visibility(self, value: Optional[pulumi.Input[_builtins.str]]):
392
397
  pulumi.set(self, "visibility", value)
393
398
 
394
- @property
399
+ @_builtins.property
395
400
  @pulumi.getter(name="writebackEnabled")
396
- def writeback_enabled(self) -> Optional[pulumi.Input[bool]]:
401
+ def writeback_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
397
402
  """
398
403
  Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
399
404
  """
400
405
  return pulumi.get(self, "writeback_enabled")
401
406
 
402
407
  @writeback_enabled.setter
403
- def writeback_enabled(self, value: Optional[pulumi.Input[bool]]):
408
+ def writeback_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
404
409
  pulumi.set(self, "writeback_enabled", value)
405
410
 
406
411
 
407
412
  @pulumi.input_type
408
413
  class _GroupState:
409
414
  def __init__(__self__, *,
410
- administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
411
- assignable_to_role: Optional[pulumi.Input[bool]] = None,
412
- auto_subscribe_new_members: Optional[pulumi.Input[bool]] = None,
413
- behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
414
- description: Optional[pulumi.Input[str]] = None,
415
- display_name: Optional[pulumi.Input[str]] = None,
415
+ administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
416
+ assignable_to_role: Optional[pulumi.Input[_builtins.bool]] = None,
417
+ auto_subscribe_new_members: Optional[pulumi.Input[_builtins.bool]] = None,
418
+ behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
419
+ description: Optional[pulumi.Input[_builtins.str]] = None,
420
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
416
421
  dynamic_membership: Optional[pulumi.Input['GroupDynamicMembershipArgs']] = None,
417
- external_senders_allowed: Optional[pulumi.Input[bool]] = None,
418
- hide_from_address_lists: Optional[pulumi.Input[bool]] = None,
419
- hide_from_outlook_clients: Optional[pulumi.Input[bool]] = None,
420
- mail: Optional[pulumi.Input[str]] = None,
421
- mail_enabled: Optional[pulumi.Input[bool]] = None,
422
- mail_nickname: Optional[pulumi.Input[str]] = None,
423
- members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
424
- object_id: Optional[pulumi.Input[str]] = None,
425
- onpremises_domain_name: Optional[pulumi.Input[str]] = None,
426
- onpremises_group_type: Optional[pulumi.Input[str]] = None,
427
- onpremises_netbios_name: Optional[pulumi.Input[str]] = None,
428
- onpremises_sam_account_name: Optional[pulumi.Input[str]] = None,
429
- onpremises_security_identifier: Optional[pulumi.Input[str]] = None,
430
- onpremises_sync_enabled: Optional[pulumi.Input[bool]] = None,
431
- owners: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
432
- preferred_language: Optional[pulumi.Input[str]] = None,
433
- prevent_duplicate_names: Optional[pulumi.Input[bool]] = None,
434
- provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
435
- proxy_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
436
- security_enabled: Optional[pulumi.Input[bool]] = None,
437
- theme: Optional[pulumi.Input[str]] = None,
438
- types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
439
- visibility: Optional[pulumi.Input[str]] = None,
440
- writeback_enabled: Optional[pulumi.Input[bool]] = None):
422
+ external_senders_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
423
+ hide_from_address_lists: Optional[pulumi.Input[_builtins.bool]] = None,
424
+ hide_from_outlook_clients: Optional[pulumi.Input[_builtins.bool]] = None,
425
+ mail: Optional[pulumi.Input[_builtins.str]] = None,
426
+ mail_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
427
+ mail_nickname: Optional[pulumi.Input[_builtins.str]] = None,
428
+ members: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
429
+ object_id: Optional[pulumi.Input[_builtins.str]] = None,
430
+ onpremises_domain_name: Optional[pulumi.Input[_builtins.str]] = None,
431
+ onpremises_group_type: Optional[pulumi.Input[_builtins.str]] = None,
432
+ onpremises_netbios_name: Optional[pulumi.Input[_builtins.str]] = None,
433
+ onpremises_sam_account_name: Optional[pulumi.Input[_builtins.str]] = None,
434
+ onpremises_security_identifier: Optional[pulumi.Input[_builtins.str]] = None,
435
+ onpremises_sync_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
436
+ owners: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
437
+ preferred_language: Optional[pulumi.Input[_builtins.str]] = None,
438
+ prevent_duplicate_names: Optional[pulumi.Input[_builtins.bool]] = None,
439
+ provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
440
+ proxy_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
441
+ security_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
442
+ theme: Optional[pulumi.Input[_builtins.str]] = None,
443
+ types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
444
+ visibility: Optional[pulumi.Input[_builtins.str]] = None,
445
+ writeback_enabled: Optional[pulumi.Input[_builtins.bool]] = None):
441
446
  """
442
447
  Input properties used for looking up and filtering Group resources.
443
- :param pulumi.Input[Sequence[pulumi.Input[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.
448
+ :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.
444
449
 
445
- !> **Warning** Do not use the `administrative_unit_ids` property at the same time as the AdministrativeUnitMember resource, _for the same group_. Doing so will cause a conflict and administrative unit members will be removed.
446
- :param pulumi.Input[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.
447
- :param pulumi.Input[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.
450
+ > **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.
451
+ :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.
452
+ :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.
448
453
 
449
454
  > **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.
450
- :param pulumi.Input[Sequence[pulumi.Input[str]]] behaviors: A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `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.
451
- :param pulumi.Input[str] description: The description for the group.
452
- :param pulumi.Input[str] display_name: The display name for the group.
455
+ :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.
456
+ :param pulumi.Input[_builtins.str] description: The description for the group.
457
+ :param pulumi.Input[_builtins.str] display_name: The display name for the group.
453
458
  :param pulumi.Input['GroupDynamicMembershipArgs'] dynamic_membership: A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
454
- :param pulumi.Input[bool] external_senders_allowed: Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
459
+ :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.
455
460
 
456
461
  > **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.
457
- :param pulumi.Input[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.
462
+ :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.
458
463
 
459
464
  > **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.
460
- :param pulumi.Input[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.
465
+ :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.
461
466
 
462
467
  > **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.
463
- :param pulumi.Input[str] mail: The SMTP address for the group.
464
- :param pulumi.Input[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).
465
- :param pulumi.Input[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.
466
- :param pulumi.Input[Sequence[pulumi.Input[str]]] members: A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
468
+ :param pulumi.Input[_builtins.str] mail: The SMTP address for the group.
469
+ :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).
470
+ :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.
471
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] members: A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
467
472
 
468
473
  !> **Warning** Do not use the `members` property at the same time as the GroupMember resource for the same group. Doing so will cause a conflict and group members will be removed.
469
- :param pulumi.Input[str] object_id: The object ID of the group.
470
- :param pulumi.Input[str] onpremises_domain_name: The on-premises FQDN, also called dnsDomainName, synchronised from the on-premises directory when Azure AD Connect is used.
471
- :param pulumi.Input[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`.
472
- :param pulumi.Input[str] onpremises_netbios_name: The on-premises NetBIOS name, synchronised from the on-premises directory when Azure AD Connect is used.
473
- :param pulumi.Input[str] onpremises_sam_account_name: The on-premises SAM account name, synchronised from the on-premises directory when Azure AD Connect is used.
474
- :param pulumi.Input[str] onpremises_security_identifier: The on-premises security identifier (SID), synchronised from the on-premises directory when Azure AD Connect is used.
475
- :param pulumi.Input[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`).
476
- :param pulumi.Input[Sequence[pulumi.Input[str]]] owners: A set of owners who own this group. Supported object types are Users or Service Principals
477
- :param pulumi.Input[str] preferred_language: The preferred language for a Microsoft 365 group, in ISO 639-1 notation.
478
- :param pulumi.Input[bool] prevent_duplicate_names: If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
479
- :param pulumi.Input[Sequence[pulumi.Input[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.
480
- :param pulumi.Input[Sequence[pulumi.Input[str]]] proxy_addresses: List of email addresses for the group that direct to the same group mailbox.
481
- :param pulumi.Input[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).
482
- :param pulumi.Input[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.
483
- :param pulumi.Input[Sequence[pulumi.Input[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.
474
+ :param pulumi.Input[_builtins.str] object_id: The object ID of the group.
475
+ :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.
476
+ :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`.
477
+ :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.
478
+ :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.
479
+ :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.
480
+ :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`).
481
+ :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
482
+ :param pulumi.Input[_builtins.str] preferred_language: The preferred language for a Microsoft 365 group, in ISO 639-1 notation.
483
+ :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`.
484
+ :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.
485
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] proxy_addresses: List of email addresses for the group that direct to the same group mailbox.
486
+ :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).
487
+ :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.
488
+ :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.
484
489
 
485
490
  > **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.
486
- :param pulumi.Input[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.
491
+ :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.
487
492
 
488
493
  > **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.
489
- :param pulumi.Input[bool] writeback_enabled: Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
494
+ :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.
490
495
  """
491
496
  if administrative_unit_ids is not None:
492
497
  pulumi.set(__self__, "administrative_unit_ids", administrative_unit_ids)
@@ -551,35 +556,35 @@ class _GroupState:
551
556
  if writeback_enabled is not None:
552
557
  pulumi.set(__self__, "writeback_enabled", writeback_enabled)
553
558
 
554
- @property
559
+ @_builtins.property
555
560
  @pulumi.getter(name="administrativeUnitIds")
556
- def administrative_unit_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
561
+ def administrative_unit_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
557
562
  """
558
563
  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.
559
564
 
560
- !> **Warning** Do not use the `administrative_unit_ids` property at the same time as the AdministrativeUnitMember resource, _for the same group_. Doing so will cause a conflict and administrative unit members will be removed.
565
+ > **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.
561
566
  """
562
567
  return pulumi.get(self, "administrative_unit_ids")
563
568
 
564
569
  @administrative_unit_ids.setter
565
- def administrative_unit_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
570
+ def administrative_unit_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
566
571
  pulumi.set(self, "administrative_unit_ids", value)
567
572
 
568
- @property
573
+ @_builtins.property
569
574
  @pulumi.getter(name="assignableToRole")
570
- def assignable_to_role(self) -> Optional[pulumi.Input[bool]]:
575
+ def assignable_to_role(self) -> Optional[pulumi.Input[_builtins.bool]]:
571
576
  """
572
577
  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.
573
578
  """
574
579
  return pulumi.get(self, "assignable_to_role")
575
580
 
576
581
  @assignable_to_role.setter
577
- def assignable_to_role(self, value: Optional[pulumi.Input[bool]]):
582
+ def assignable_to_role(self, value: Optional[pulumi.Input[_builtins.bool]]):
578
583
  pulumi.set(self, "assignable_to_role", value)
579
584
 
580
- @property
585
+ @_builtins.property
581
586
  @pulumi.getter(name="autoSubscribeNewMembers")
582
- def auto_subscribe_new_members(self) -> Optional[pulumi.Input[bool]]:
587
+ def auto_subscribe_new_members(self) -> Optional[pulumi.Input[_builtins.bool]]:
583
588
  """
584
589
  Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups.
585
590
 
@@ -588,46 +593,46 @@ class _GroupState:
588
593
  return pulumi.get(self, "auto_subscribe_new_members")
589
594
 
590
595
  @auto_subscribe_new_members.setter
591
- def auto_subscribe_new_members(self, value: Optional[pulumi.Input[bool]]):
596
+ def auto_subscribe_new_members(self, value: Optional[pulumi.Input[_builtins.bool]]):
592
597
  pulumi.set(self, "auto_subscribe_new_members", value)
593
598
 
594
- @property
599
+ @_builtins.property
595
600
  @pulumi.getter
596
- def behaviors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
601
+ def behaviors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
597
602
  """
598
- A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `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.
603
+ 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.
599
604
  """
600
605
  return pulumi.get(self, "behaviors")
601
606
 
602
607
  @behaviors.setter
603
- def behaviors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
608
+ def behaviors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
604
609
  pulumi.set(self, "behaviors", value)
605
610
 
606
- @property
611
+ @_builtins.property
607
612
  @pulumi.getter
608
- def description(self) -> Optional[pulumi.Input[str]]:
613
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
609
614
  """
610
615
  The description for the group.
611
616
  """
612
617
  return pulumi.get(self, "description")
613
618
 
614
619
  @description.setter
615
- def description(self, value: Optional[pulumi.Input[str]]):
620
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
616
621
  pulumi.set(self, "description", value)
617
622
 
618
- @property
623
+ @_builtins.property
619
624
  @pulumi.getter(name="displayName")
620
- def display_name(self) -> Optional[pulumi.Input[str]]:
625
+ def display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
621
626
  """
622
627
  The display name for the group.
623
628
  """
624
629
  return pulumi.get(self, "display_name")
625
630
 
626
631
  @display_name.setter
627
- def display_name(self, value: Optional[pulumi.Input[str]]):
632
+ def display_name(self, value: Optional[pulumi.Input[_builtins.str]]):
628
633
  pulumi.set(self, "display_name", value)
629
634
 
630
- @property
635
+ @_builtins.property
631
636
  @pulumi.getter(name="dynamicMembership")
632
637
  def dynamic_membership(self) -> Optional[pulumi.Input['GroupDynamicMembershipArgs']]:
633
638
  """
@@ -639,9 +644,9 @@ class _GroupState:
639
644
  def dynamic_membership(self, value: Optional[pulumi.Input['GroupDynamicMembershipArgs']]):
640
645
  pulumi.set(self, "dynamic_membership", value)
641
646
 
642
- @property
647
+ @_builtins.property
643
648
  @pulumi.getter(name="externalSendersAllowed")
644
- def external_senders_allowed(self) -> Optional[pulumi.Input[bool]]:
649
+ def external_senders_allowed(self) -> Optional[pulumi.Input[_builtins.bool]]:
645
650
  """
646
651
  Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
647
652
 
@@ -650,12 +655,12 @@ class _GroupState:
650
655
  return pulumi.get(self, "external_senders_allowed")
651
656
 
652
657
  @external_senders_allowed.setter
653
- def external_senders_allowed(self, value: Optional[pulumi.Input[bool]]):
658
+ def external_senders_allowed(self, value: Optional[pulumi.Input[_builtins.bool]]):
654
659
  pulumi.set(self, "external_senders_allowed", value)
655
660
 
656
- @property
661
+ @_builtins.property
657
662
  @pulumi.getter(name="hideFromAddressLists")
658
- def hide_from_address_lists(self) -> Optional[pulumi.Input[bool]]:
663
+ def hide_from_address_lists(self) -> Optional[pulumi.Input[_builtins.bool]]:
659
664
  """
660
665
  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.
661
666
 
@@ -664,12 +669,12 @@ class _GroupState:
664
669
  return pulumi.get(self, "hide_from_address_lists")
665
670
 
666
671
  @hide_from_address_lists.setter
667
- def hide_from_address_lists(self, value: Optional[pulumi.Input[bool]]):
672
+ def hide_from_address_lists(self, value: Optional[pulumi.Input[_builtins.bool]]):
668
673
  pulumi.set(self, "hide_from_address_lists", value)
669
674
 
670
- @property
675
+ @_builtins.property
671
676
  @pulumi.getter(name="hideFromOutlookClients")
672
- def hide_from_outlook_clients(self) -> Optional[pulumi.Input[bool]]:
677
+ def hide_from_outlook_clients(self) -> Optional[pulumi.Input[_builtins.bool]]:
673
678
  """
674
679
  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.
675
680
 
@@ -678,48 +683,48 @@ class _GroupState:
678
683
  return pulumi.get(self, "hide_from_outlook_clients")
679
684
 
680
685
  @hide_from_outlook_clients.setter
681
- def hide_from_outlook_clients(self, value: Optional[pulumi.Input[bool]]):
686
+ def hide_from_outlook_clients(self, value: Optional[pulumi.Input[_builtins.bool]]):
682
687
  pulumi.set(self, "hide_from_outlook_clients", value)
683
688
 
684
- @property
689
+ @_builtins.property
685
690
  @pulumi.getter
686
- def mail(self) -> Optional[pulumi.Input[str]]:
691
+ def mail(self) -> Optional[pulumi.Input[_builtins.str]]:
687
692
  """
688
693
  The SMTP address for the group.
689
694
  """
690
695
  return pulumi.get(self, "mail")
691
696
 
692
697
  @mail.setter
693
- def mail(self, value: Optional[pulumi.Input[str]]):
698
+ def mail(self, value: Optional[pulumi.Input[_builtins.str]]):
694
699
  pulumi.set(self, "mail", value)
695
700
 
696
- @property
701
+ @_builtins.property
697
702
  @pulumi.getter(name="mailEnabled")
698
- def mail_enabled(self) -> Optional[pulumi.Input[bool]]:
703
+ def mail_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
699
704
  """
700
705
  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).
701
706
  """
702
707
  return pulumi.get(self, "mail_enabled")
703
708
 
704
709
  @mail_enabled.setter
705
- def mail_enabled(self, value: Optional[pulumi.Input[bool]]):
710
+ def mail_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
706
711
  pulumi.set(self, "mail_enabled", value)
707
712
 
708
- @property
713
+ @_builtins.property
709
714
  @pulumi.getter(name="mailNickname")
710
- def mail_nickname(self) -> Optional[pulumi.Input[str]]:
715
+ def mail_nickname(self) -> Optional[pulumi.Input[_builtins.str]]:
711
716
  """
712
717
  The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created.
713
718
  """
714
719
  return pulumi.get(self, "mail_nickname")
715
720
 
716
721
  @mail_nickname.setter
717
- def mail_nickname(self, value: Optional[pulumi.Input[str]]):
722
+ def mail_nickname(self, value: Optional[pulumi.Input[_builtins.str]]):
718
723
  pulumi.set(self, "mail_nickname", value)
719
724
 
720
- @property
725
+ @_builtins.property
721
726
  @pulumi.getter
722
- def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
727
+ def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
723
728
  """
724
729
  A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
725
730
 
@@ -728,180 +733,180 @@ class _GroupState:
728
733
  return pulumi.get(self, "members")
729
734
 
730
735
  @members.setter
731
- def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
736
+ def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
732
737
  pulumi.set(self, "members", value)
733
738
 
734
- @property
739
+ @_builtins.property
735
740
  @pulumi.getter(name="objectId")
736
- def object_id(self) -> Optional[pulumi.Input[str]]:
741
+ def object_id(self) -> Optional[pulumi.Input[_builtins.str]]:
737
742
  """
738
743
  The object ID of the group.
739
744
  """
740
745
  return pulumi.get(self, "object_id")
741
746
 
742
747
  @object_id.setter
743
- def object_id(self, value: Optional[pulumi.Input[str]]):
748
+ def object_id(self, value: Optional[pulumi.Input[_builtins.str]]):
744
749
  pulumi.set(self, "object_id", value)
745
750
 
746
- @property
751
+ @_builtins.property
747
752
  @pulumi.getter(name="onpremisesDomainName")
748
- def onpremises_domain_name(self) -> Optional[pulumi.Input[str]]:
753
+ def onpremises_domain_name(self) -> Optional[pulumi.Input[_builtins.str]]:
749
754
  """
750
755
  The on-premises FQDN, also called dnsDomainName, synchronised from the on-premises directory when Azure AD Connect is used.
751
756
  """
752
757
  return pulumi.get(self, "onpremises_domain_name")
753
758
 
754
759
  @onpremises_domain_name.setter
755
- def onpremises_domain_name(self, value: Optional[pulumi.Input[str]]):
760
+ def onpremises_domain_name(self, value: Optional[pulumi.Input[_builtins.str]]):
756
761
  pulumi.set(self, "onpremises_domain_name", value)
757
762
 
758
- @property
763
+ @_builtins.property
759
764
  @pulumi.getter(name="onpremisesGroupType")
760
- def onpremises_group_type(self) -> Optional[pulumi.Input[str]]:
765
+ def onpremises_group_type(self) -> Optional[pulumi.Input[_builtins.str]]:
761
766
  """
762
767
  The on-premises group type that the AAD group will be written as, when writeback is enabled. Possible values are `UniversalDistributionGroup`, `UniversalMailEnabledSecurityGroup`, or `UniversalSecurityGroup`.
763
768
  """
764
769
  return pulumi.get(self, "onpremises_group_type")
765
770
 
766
771
  @onpremises_group_type.setter
767
- def onpremises_group_type(self, value: Optional[pulumi.Input[str]]):
772
+ def onpremises_group_type(self, value: Optional[pulumi.Input[_builtins.str]]):
768
773
  pulumi.set(self, "onpremises_group_type", value)
769
774
 
770
- @property
775
+ @_builtins.property
771
776
  @pulumi.getter(name="onpremisesNetbiosName")
772
- def onpremises_netbios_name(self) -> Optional[pulumi.Input[str]]:
777
+ def onpremises_netbios_name(self) -> Optional[pulumi.Input[_builtins.str]]:
773
778
  """
774
779
  The on-premises NetBIOS name, synchronised from the on-premises directory when Azure AD Connect is used.
775
780
  """
776
781
  return pulumi.get(self, "onpremises_netbios_name")
777
782
 
778
783
  @onpremises_netbios_name.setter
779
- def onpremises_netbios_name(self, value: Optional[pulumi.Input[str]]):
784
+ def onpremises_netbios_name(self, value: Optional[pulumi.Input[_builtins.str]]):
780
785
  pulumi.set(self, "onpremises_netbios_name", value)
781
786
 
782
- @property
787
+ @_builtins.property
783
788
  @pulumi.getter(name="onpremisesSamAccountName")
784
- def onpremises_sam_account_name(self) -> Optional[pulumi.Input[str]]:
789
+ def onpremises_sam_account_name(self) -> Optional[pulumi.Input[_builtins.str]]:
785
790
  """
786
791
  The on-premises SAM account name, synchronised from the on-premises directory when Azure AD Connect is used.
787
792
  """
788
793
  return pulumi.get(self, "onpremises_sam_account_name")
789
794
 
790
795
  @onpremises_sam_account_name.setter
791
- def onpremises_sam_account_name(self, value: Optional[pulumi.Input[str]]):
796
+ def onpremises_sam_account_name(self, value: Optional[pulumi.Input[_builtins.str]]):
792
797
  pulumi.set(self, "onpremises_sam_account_name", value)
793
798
 
794
- @property
799
+ @_builtins.property
795
800
  @pulumi.getter(name="onpremisesSecurityIdentifier")
796
- def onpremises_security_identifier(self) -> Optional[pulumi.Input[str]]:
801
+ def onpremises_security_identifier(self) -> Optional[pulumi.Input[_builtins.str]]:
797
802
  """
798
803
  The on-premises security identifier (SID), synchronised from the on-premises directory when Azure AD Connect is used.
799
804
  """
800
805
  return pulumi.get(self, "onpremises_security_identifier")
801
806
 
802
807
  @onpremises_security_identifier.setter
803
- def onpremises_security_identifier(self, value: Optional[pulumi.Input[str]]):
808
+ def onpremises_security_identifier(self, value: Optional[pulumi.Input[_builtins.str]]):
804
809
  pulumi.set(self, "onpremises_security_identifier", value)
805
810
 
806
- @property
811
+ @_builtins.property
807
812
  @pulumi.getter(name="onpremisesSyncEnabled")
808
- def onpremises_sync_enabled(self) -> Optional[pulumi.Input[bool]]:
813
+ def onpremises_sync_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
809
814
  """
810
815
  Whether this group is synchronised from an on-premises directory (`true`), no longer synchronised (`false`), or has never been synchronised (`null`).
811
816
  """
812
817
  return pulumi.get(self, "onpremises_sync_enabled")
813
818
 
814
819
  @onpremises_sync_enabled.setter
815
- def onpremises_sync_enabled(self, value: Optional[pulumi.Input[bool]]):
820
+ def onpremises_sync_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
816
821
  pulumi.set(self, "onpremises_sync_enabled", value)
817
822
 
818
- @property
823
+ @_builtins.property
819
824
  @pulumi.getter
820
- def owners(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
825
+ def owners(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
821
826
  """
822
827
  A set of owners who own this group. Supported object types are Users or Service Principals
823
828
  """
824
829
  return pulumi.get(self, "owners")
825
830
 
826
831
  @owners.setter
827
- def owners(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
832
+ def owners(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
828
833
  pulumi.set(self, "owners", value)
829
834
 
830
- @property
835
+ @_builtins.property
831
836
  @pulumi.getter(name="preferredLanguage")
832
- def preferred_language(self) -> Optional[pulumi.Input[str]]:
837
+ def preferred_language(self) -> Optional[pulumi.Input[_builtins.str]]:
833
838
  """
834
839
  The preferred language for a Microsoft 365 group, in ISO 639-1 notation.
835
840
  """
836
841
  return pulumi.get(self, "preferred_language")
837
842
 
838
843
  @preferred_language.setter
839
- def preferred_language(self, value: Optional[pulumi.Input[str]]):
844
+ def preferred_language(self, value: Optional[pulumi.Input[_builtins.str]]):
840
845
  pulumi.set(self, "preferred_language", value)
841
846
 
842
- @property
847
+ @_builtins.property
843
848
  @pulumi.getter(name="preventDuplicateNames")
844
- def prevent_duplicate_names(self) -> Optional[pulumi.Input[bool]]:
849
+ def prevent_duplicate_names(self) -> Optional[pulumi.Input[_builtins.bool]]:
845
850
  """
846
851
  If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
847
852
  """
848
853
  return pulumi.get(self, "prevent_duplicate_names")
849
854
 
850
855
  @prevent_duplicate_names.setter
851
- def prevent_duplicate_names(self, value: Optional[pulumi.Input[bool]]):
856
+ def prevent_duplicate_names(self, value: Optional[pulumi.Input[_builtins.bool]]):
852
857
  pulumi.set(self, "prevent_duplicate_names", value)
853
858
 
854
- @property
859
+ @_builtins.property
855
860
  @pulumi.getter(name="provisioningOptions")
856
- def provisioning_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
861
+ def provisioning_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
857
862
  """
858
863
  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.
859
864
  """
860
865
  return pulumi.get(self, "provisioning_options")
861
866
 
862
867
  @provisioning_options.setter
863
- def provisioning_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
868
+ def provisioning_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
864
869
  pulumi.set(self, "provisioning_options", value)
865
870
 
866
- @property
871
+ @_builtins.property
867
872
  @pulumi.getter(name="proxyAddresses")
868
- def proxy_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
873
+ def proxy_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
869
874
  """
870
875
  List of email addresses for the group that direct to the same group mailbox.
871
876
  """
872
877
  return pulumi.get(self, "proxy_addresses")
873
878
 
874
879
  @proxy_addresses.setter
875
- def proxy_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
880
+ def proxy_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
876
881
  pulumi.set(self, "proxy_addresses", value)
877
882
 
878
- @property
883
+ @_builtins.property
879
884
  @pulumi.getter(name="securityEnabled")
880
- def security_enabled(self) -> Optional[pulumi.Input[bool]]:
885
+ def security_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
881
886
  """
882
887
  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).
883
888
  """
884
889
  return pulumi.get(self, "security_enabled")
885
890
 
886
891
  @security_enabled.setter
887
- def security_enabled(self, value: Optional[pulumi.Input[bool]]):
892
+ def security_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
888
893
  pulumi.set(self, "security_enabled", value)
889
894
 
890
- @property
895
+ @_builtins.property
891
896
  @pulumi.getter
892
- def theme(self) -> Optional[pulumi.Input[str]]:
897
+ def theme(self) -> Optional[pulumi.Input[_builtins.str]]:
893
898
  """
894
899
  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.
895
900
  """
896
901
  return pulumi.get(self, "theme")
897
902
 
898
903
  @theme.setter
899
- def theme(self, value: Optional[pulumi.Input[str]]):
904
+ def theme(self, value: Optional[pulumi.Input[_builtins.str]]):
900
905
  pulumi.set(self, "theme", value)
901
906
 
902
- @property
907
+ @_builtins.property
903
908
  @pulumi.getter
904
- def types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
909
+ def types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
905
910
  """
906
911
  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.
907
912
 
@@ -910,12 +915,12 @@ class _GroupState:
910
915
  return pulumi.get(self, "types")
911
916
 
912
917
  @types.setter
913
- def types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
918
+ def types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
914
919
  pulumi.set(self, "types", value)
915
920
 
916
- @property
921
+ @_builtins.property
917
922
  @pulumi.getter
918
- def visibility(self) -> Optional[pulumi.Input[str]]:
923
+ def visibility(self) -> Optional[pulumi.Input[_builtins.str]]:
919
924
  """
920
925
  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.
921
926
 
@@ -924,49 +929,50 @@ class _GroupState:
924
929
  return pulumi.get(self, "visibility")
925
930
 
926
931
  @visibility.setter
927
- def visibility(self, value: Optional[pulumi.Input[str]]):
932
+ def visibility(self, value: Optional[pulumi.Input[_builtins.str]]):
928
933
  pulumi.set(self, "visibility", value)
929
934
 
930
- @property
935
+ @_builtins.property
931
936
  @pulumi.getter(name="writebackEnabled")
932
- def writeback_enabled(self) -> Optional[pulumi.Input[bool]]:
937
+ def writeback_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
933
938
  """
934
939
  Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
935
940
  """
936
941
  return pulumi.get(self, "writeback_enabled")
937
942
 
938
943
  @writeback_enabled.setter
939
- def writeback_enabled(self, value: Optional[pulumi.Input[bool]]):
944
+ def writeback_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
940
945
  pulumi.set(self, "writeback_enabled", value)
941
946
 
942
947
 
948
+ @pulumi.type_token("azuread:index/group:Group")
943
949
  class Group(pulumi.CustomResource):
944
950
  @overload
945
951
  def __init__(__self__,
946
952
  resource_name: str,
947
953
  opts: Optional[pulumi.ResourceOptions] = None,
948
- administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
949
- assignable_to_role: Optional[pulumi.Input[bool]] = None,
950
- auto_subscribe_new_members: Optional[pulumi.Input[bool]] = None,
951
- behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
952
- description: Optional[pulumi.Input[str]] = None,
953
- display_name: Optional[pulumi.Input[str]] = None,
954
- dynamic_membership: Optional[pulumi.Input[pulumi.InputType['GroupDynamicMembershipArgs']]] = None,
955
- external_senders_allowed: Optional[pulumi.Input[bool]] = None,
956
- hide_from_address_lists: Optional[pulumi.Input[bool]] = None,
957
- hide_from_outlook_clients: Optional[pulumi.Input[bool]] = None,
958
- mail_enabled: Optional[pulumi.Input[bool]] = None,
959
- mail_nickname: Optional[pulumi.Input[str]] = None,
960
- members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
961
- onpremises_group_type: Optional[pulumi.Input[str]] = None,
962
- owners: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
963
- prevent_duplicate_names: Optional[pulumi.Input[bool]] = None,
964
- provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
965
- security_enabled: Optional[pulumi.Input[bool]] = None,
966
- theme: Optional[pulumi.Input[str]] = None,
967
- types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
968
- visibility: Optional[pulumi.Input[str]] = None,
969
- writeback_enabled: Optional[pulumi.Input[bool]] = None,
954
+ administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
955
+ assignable_to_role: Optional[pulumi.Input[_builtins.bool]] = None,
956
+ auto_subscribe_new_members: Optional[pulumi.Input[_builtins.bool]] = None,
957
+ behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
958
+ description: Optional[pulumi.Input[_builtins.str]] = None,
959
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
960
+ dynamic_membership: Optional[pulumi.Input[Union['GroupDynamicMembershipArgs', 'GroupDynamicMembershipArgsDict']]] = None,
961
+ external_senders_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
962
+ hide_from_address_lists: Optional[pulumi.Input[_builtins.bool]] = None,
963
+ hide_from_outlook_clients: Optional[pulumi.Input[_builtins.bool]] = None,
964
+ mail_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
965
+ mail_nickname: Optional[pulumi.Input[_builtins.str]] = None,
966
+ members: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
967
+ onpremises_group_type: Optional[pulumi.Input[_builtins.str]] = None,
968
+ owners: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
969
+ prevent_duplicate_names: Optional[pulumi.Input[_builtins.bool]] = None,
970
+ provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
971
+ security_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
972
+ theme: Optional[pulumi.Input[_builtins.str]] = None,
973
+ types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
974
+ visibility: Optional[pulumi.Input[_builtins.str]] = None,
975
+ writeback_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
970
976
  __props__=None):
971
977
  """
972
978
  Manages a group within Azure Active Directory.
@@ -979,64 +985,140 @@ class Group(pulumi.CustomResource):
979
985
 
980
986
  Alternatively, if the authenticated service principal is also an owner of the group being managed, this resource can use the application role: `Group.Create`.
981
987
 
982
- If using the `assignable_to_role` property, this resource additionally requires one of the following application roles: `RoleManagement.ReadWrite.Directory` or `Directory.ReadWrite.All`
988
+ If using the `assignable_to_role` property, this resource additionally requires the `RoleManagement.ReadWrite.Directory` application role.
983
989
 
984
990
  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`
985
991
 
986
992
  When authenticated with a user principal, this resource requires one of the following directory roles: `Groups Administrator`, `User Administrator` or `Global Administrator`
987
993
 
988
- When creating this resource in administrative units exclusively, the role `Groups Administrator` is required to be scoped on any administrative unit used.
994
+ 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.
989
995
 
990
996
  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.
991
997
 
998
+ ## Example Usage
999
+
1000
+ *Basic example*
1001
+
1002
+ ```python
1003
+ import pulumi
1004
+ import pulumi_azuread as azuread
1005
+
1006
+ current = azuread.get_client_config()
1007
+ example = azuread.Group("example",
1008
+ display_name="example",
1009
+ owners=[current.object_id],
1010
+ security_enabled=True)
1011
+ ```
1012
+
1013
+ *Microsoft 365 group*
1014
+
1015
+ ```python
1016
+ import pulumi
1017
+ import pulumi_azuread as azuread
1018
+
1019
+ current = azuread.get_client_config()
1020
+ group_owner = azuread.User("group_owner",
1021
+ user_principal_name="example-group-owner@example.com",
1022
+ display_name="Group Owner",
1023
+ mail_nickname="example-group-owner",
1024
+ password="SecretP@sswd99!")
1025
+ example = azuread.Group("example",
1026
+ display_name="example",
1027
+ mail_enabled=True,
1028
+ mail_nickname="ExampleGroup",
1029
+ security_enabled=True,
1030
+ types=["Unified"],
1031
+ owners=[
1032
+ current.object_id,
1033
+ group_owner.object_id,
1034
+ ])
1035
+ ```
1036
+
1037
+ *Group with members*
1038
+
1039
+ ```python
1040
+ import pulumi
1041
+ import pulumi_azuread as azuread
1042
+
1043
+ current = azuread.get_client_config()
1044
+ example = azuread.User("example",
1045
+ display_name="J Doe",
1046
+ owners=[current.object_id],
1047
+ password="notSecure123",
1048
+ user_principal_name="jdoe@example.com")
1049
+ example_group = azuread.Group("example",
1050
+ display_name="MyGroup",
1051
+ owners=[current.object_id],
1052
+ security_enabled=True,
1053
+ members=[example.object_id])
1054
+ ```
1055
+
1056
+ *Group with dynamic membership*
1057
+
1058
+ ```python
1059
+ import pulumi
1060
+ import pulumi_azuread as azuread
1061
+
1062
+ current = azuread.get_client_config()
1063
+ example = azuread.Group("example",
1064
+ display_name="MyGroup",
1065
+ owners=[current.object_id],
1066
+ security_enabled=True,
1067
+ types=["DynamicMembership"],
1068
+ dynamic_membership={
1069
+ "enabled": True,
1070
+ "rule": "user.department -eq \\"Sales\\"",
1071
+ })
1072
+ ```
1073
+
992
1074
  ## Import
993
1075
 
994
1076
  Groups can be imported using their object ID, e.g.
995
1077
 
996
1078
  ```sh
997
- $ pulumi import azuread:index/group:Group my_group 00000000-0000-0000-0000-000000000000
1079
+ $ pulumi import azuread:index/group:Group my_group /groups/00000000-0000-0000-0000-000000000000
998
1080
  ```
999
1081
 
1000
1082
  :param str resource_name: The name of the resource.
1001
1083
  :param pulumi.ResourceOptions opts: Options for the resource.
1002
- :param pulumi.Input[Sequence[pulumi.Input[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.
1084
+ :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.
1003
1085
 
1004
- !> **Warning** Do not use the `administrative_unit_ids` property at the same time as the AdministrativeUnitMember resource, _for the same group_. Doing so will cause a conflict and administrative unit members will be removed.
1005
- :param pulumi.Input[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.
1006
- :param pulumi.Input[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.
1086
+ > **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.
1087
+ :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.
1088
+ :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.
1007
1089
 
1008
1090
  > **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.
1009
- :param pulumi.Input[Sequence[pulumi.Input[str]]] behaviors: A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `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.
1010
- :param pulumi.Input[str] description: The description for the group.
1011
- :param pulumi.Input[str] display_name: The display name for the group.
1012
- :param pulumi.Input[pulumi.InputType['GroupDynamicMembershipArgs']] dynamic_membership: A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
1013
- :param pulumi.Input[bool] external_senders_allowed: Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
1091
+ :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.
1092
+ :param pulumi.Input[_builtins.str] description: The description for the group.
1093
+ :param pulumi.Input[_builtins.str] display_name: The display name for the group.
1094
+ :param pulumi.Input[Union['GroupDynamicMembershipArgs', 'GroupDynamicMembershipArgsDict']] dynamic_membership: A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
1095
+ :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.
1014
1096
 
1015
1097
  > **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.
1016
- :param pulumi.Input[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.
1098
+ :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.
1017
1099
 
1018
1100
  > **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.
1019
- :param pulumi.Input[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.
1101
+ :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.
1020
1102
 
1021
1103
  > **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.
1022
- :param pulumi.Input[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).
1023
- :param pulumi.Input[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.
1024
- :param pulumi.Input[Sequence[pulumi.Input[str]]] members: A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
1104
+ :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).
1105
+ :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.
1106
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] members: A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
1025
1107
 
1026
1108
  !> **Warning** Do not use the `members` property at the same time as the GroupMember resource for the same group. Doing so will cause a conflict and group members will be removed.
1027
- :param pulumi.Input[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`.
1028
- :param pulumi.Input[Sequence[pulumi.Input[str]]] owners: A set of owners who own this group. Supported object types are Users or Service Principals
1029
- :param pulumi.Input[bool] prevent_duplicate_names: If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
1030
- :param pulumi.Input[Sequence[pulumi.Input[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.
1031
- :param pulumi.Input[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).
1032
- :param pulumi.Input[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.
1033
- :param pulumi.Input[Sequence[pulumi.Input[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.
1109
+ :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`.
1110
+ :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
1111
+ :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`.
1112
+ :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.
1113
+ :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).
1114
+ :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.
1115
+ :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.
1034
1116
 
1035
1117
  > **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.
1036
- :param pulumi.Input[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.
1118
+ :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.
1037
1119
 
1038
1120
  > **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.
1039
- :param pulumi.Input[bool] writeback_enabled: Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
1121
+ :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.
1040
1122
  """
1041
1123
  ...
1042
1124
  @overload
@@ -1055,22 +1137,98 @@ class Group(pulumi.CustomResource):
1055
1137
 
1056
1138
  Alternatively, if the authenticated service principal is also an owner of the group being managed, this resource can use the application role: `Group.Create`.
1057
1139
 
1058
- If using the `assignable_to_role` property, this resource additionally requires one of the following application roles: `RoleManagement.ReadWrite.Directory` or `Directory.ReadWrite.All`
1140
+ If using the `assignable_to_role` property, this resource additionally requires the `RoleManagement.ReadWrite.Directory` application role.
1059
1141
 
1060
1142
  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`
1061
1143
 
1062
1144
  When authenticated with a user principal, this resource requires one of the following directory roles: `Groups Administrator`, `User Administrator` or `Global Administrator`
1063
1145
 
1064
- When creating this resource in administrative units exclusively, the role `Groups Administrator` is required to be scoped on any administrative unit used.
1146
+ 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.
1065
1147
 
1066
1148
  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.
1067
1149
 
1150
+ ## Example Usage
1151
+
1152
+ *Basic example*
1153
+
1154
+ ```python
1155
+ import pulumi
1156
+ import pulumi_azuread as azuread
1157
+
1158
+ current = azuread.get_client_config()
1159
+ example = azuread.Group("example",
1160
+ display_name="example",
1161
+ owners=[current.object_id],
1162
+ security_enabled=True)
1163
+ ```
1164
+
1165
+ *Microsoft 365 group*
1166
+
1167
+ ```python
1168
+ import pulumi
1169
+ import pulumi_azuread as azuread
1170
+
1171
+ current = azuread.get_client_config()
1172
+ group_owner = azuread.User("group_owner",
1173
+ user_principal_name="example-group-owner@example.com",
1174
+ display_name="Group Owner",
1175
+ mail_nickname="example-group-owner",
1176
+ password="SecretP@sswd99!")
1177
+ example = azuread.Group("example",
1178
+ display_name="example",
1179
+ mail_enabled=True,
1180
+ mail_nickname="ExampleGroup",
1181
+ security_enabled=True,
1182
+ types=["Unified"],
1183
+ owners=[
1184
+ current.object_id,
1185
+ group_owner.object_id,
1186
+ ])
1187
+ ```
1188
+
1189
+ *Group with members*
1190
+
1191
+ ```python
1192
+ import pulumi
1193
+ import pulumi_azuread as azuread
1194
+
1195
+ current = azuread.get_client_config()
1196
+ example = azuread.User("example",
1197
+ display_name="J Doe",
1198
+ owners=[current.object_id],
1199
+ password="notSecure123",
1200
+ user_principal_name="jdoe@example.com")
1201
+ example_group = azuread.Group("example",
1202
+ display_name="MyGroup",
1203
+ owners=[current.object_id],
1204
+ security_enabled=True,
1205
+ members=[example.object_id])
1206
+ ```
1207
+
1208
+ *Group with dynamic membership*
1209
+
1210
+ ```python
1211
+ import pulumi
1212
+ import pulumi_azuread as azuread
1213
+
1214
+ current = azuread.get_client_config()
1215
+ example = azuread.Group("example",
1216
+ display_name="MyGroup",
1217
+ owners=[current.object_id],
1218
+ security_enabled=True,
1219
+ types=["DynamicMembership"],
1220
+ dynamic_membership={
1221
+ "enabled": True,
1222
+ "rule": "user.department -eq \\"Sales\\"",
1223
+ })
1224
+ ```
1225
+
1068
1226
  ## Import
1069
1227
 
1070
1228
  Groups can be imported using their object ID, e.g.
1071
1229
 
1072
1230
  ```sh
1073
- $ pulumi import azuread:index/group:Group my_group 00000000-0000-0000-0000-000000000000
1231
+ $ pulumi import azuread:index/group:Group my_group /groups/00000000-0000-0000-0000-000000000000
1074
1232
  ```
1075
1233
 
1076
1234
  :param str resource_name: The name of the resource.
@@ -1088,28 +1246,28 @@ class Group(pulumi.CustomResource):
1088
1246
  def _internal_init(__self__,
1089
1247
  resource_name: str,
1090
1248
  opts: Optional[pulumi.ResourceOptions] = None,
1091
- administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1092
- assignable_to_role: Optional[pulumi.Input[bool]] = None,
1093
- auto_subscribe_new_members: Optional[pulumi.Input[bool]] = None,
1094
- behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1095
- description: Optional[pulumi.Input[str]] = None,
1096
- display_name: Optional[pulumi.Input[str]] = None,
1097
- dynamic_membership: Optional[pulumi.Input[pulumi.InputType['GroupDynamicMembershipArgs']]] = None,
1098
- external_senders_allowed: Optional[pulumi.Input[bool]] = None,
1099
- hide_from_address_lists: Optional[pulumi.Input[bool]] = None,
1100
- hide_from_outlook_clients: Optional[pulumi.Input[bool]] = None,
1101
- mail_enabled: Optional[pulumi.Input[bool]] = None,
1102
- mail_nickname: Optional[pulumi.Input[str]] = None,
1103
- members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1104
- onpremises_group_type: Optional[pulumi.Input[str]] = None,
1105
- owners: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1106
- prevent_duplicate_names: Optional[pulumi.Input[bool]] = None,
1107
- provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1108
- security_enabled: Optional[pulumi.Input[bool]] = None,
1109
- theme: Optional[pulumi.Input[str]] = None,
1110
- types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1111
- visibility: Optional[pulumi.Input[str]] = None,
1112
- writeback_enabled: Optional[pulumi.Input[bool]] = None,
1249
+ administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1250
+ assignable_to_role: Optional[pulumi.Input[_builtins.bool]] = None,
1251
+ auto_subscribe_new_members: Optional[pulumi.Input[_builtins.bool]] = None,
1252
+ behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1253
+ description: Optional[pulumi.Input[_builtins.str]] = None,
1254
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
1255
+ dynamic_membership: Optional[pulumi.Input[Union['GroupDynamicMembershipArgs', 'GroupDynamicMembershipArgsDict']]] = None,
1256
+ external_senders_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
1257
+ hide_from_address_lists: Optional[pulumi.Input[_builtins.bool]] = None,
1258
+ hide_from_outlook_clients: Optional[pulumi.Input[_builtins.bool]] = None,
1259
+ mail_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1260
+ mail_nickname: Optional[pulumi.Input[_builtins.str]] = None,
1261
+ members: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1262
+ onpremises_group_type: Optional[pulumi.Input[_builtins.str]] = None,
1263
+ owners: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1264
+ prevent_duplicate_names: Optional[pulumi.Input[_builtins.bool]] = None,
1265
+ provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1266
+ security_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1267
+ theme: Optional[pulumi.Input[_builtins.str]] = None,
1268
+ types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1269
+ visibility: Optional[pulumi.Input[_builtins.str]] = None,
1270
+ writeback_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1113
1271
  __props__=None):
1114
1272
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1115
1273
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1162,37 +1320,37 @@ class Group(pulumi.CustomResource):
1162
1320
  def get(resource_name: str,
1163
1321
  id: pulumi.Input[str],
1164
1322
  opts: Optional[pulumi.ResourceOptions] = None,
1165
- administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1166
- assignable_to_role: Optional[pulumi.Input[bool]] = None,
1167
- auto_subscribe_new_members: Optional[pulumi.Input[bool]] = None,
1168
- behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1169
- description: Optional[pulumi.Input[str]] = None,
1170
- display_name: Optional[pulumi.Input[str]] = None,
1171
- dynamic_membership: Optional[pulumi.Input[pulumi.InputType['GroupDynamicMembershipArgs']]] = None,
1172
- external_senders_allowed: Optional[pulumi.Input[bool]] = None,
1173
- hide_from_address_lists: Optional[pulumi.Input[bool]] = None,
1174
- hide_from_outlook_clients: Optional[pulumi.Input[bool]] = None,
1175
- mail: Optional[pulumi.Input[str]] = None,
1176
- mail_enabled: Optional[pulumi.Input[bool]] = None,
1177
- mail_nickname: Optional[pulumi.Input[str]] = None,
1178
- members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1179
- object_id: Optional[pulumi.Input[str]] = None,
1180
- onpremises_domain_name: Optional[pulumi.Input[str]] = None,
1181
- onpremises_group_type: Optional[pulumi.Input[str]] = None,
1182
- onpremises_netbios_name: Optional[pulumi.Input[str]] = None,
1183
- onpremises_sam_account_name: Optional[pulumi.Input[str]] = None,
1184
- onpremises_security_identifier: Optional[pulumi.Input[str]] = None,
1185
- onpremises_sync_enabled: Optional[pulumi.Input[bool]] = None,
1186
- owners: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1187
- preferred_language: Optional[pulumi.Input[str]] = None,
1188
- prevent_duplicate_names: Optional[pulumi.Input[bool]] = None,
1189
- provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1190
- proxy_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1191
- security_enabled: Optional[pulumi.Input[bool]] = None,
1192
- theme: Optional[pulumi.Input[str]] = None,
1193
- types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1194
- visibility: Optional[pulumi.Input[str]] = None,
1195
- writeback_enabled: Optional[pulumi.Input[bool]] = None) -> 'Group':
1323
+ administrative_unit_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1324
+ assignable_to_role: Optional[pulumi.Input[_builtins.bool]] = None,
1325
+ auto_subscribe_new_members: Optional[pulumi.Input[_builtins.bool]] = None,
1326
+ behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1327
+ description: Optional[pulumi.Input[_builtins.str]] = None,
1328
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
1329
+ dynamic_membership: Optional[pulumi.Input[Union['GroupDynamicMembershipArgs', 'GroupDynamicMembershipArgsDict']]] = None,
1330
+ external_senders_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
1331
+ hide_from_address_lists: Optional[pulumi.Input[_builtins.bool]] = None,
1332
+ hide_from_outlook_clients: Optional[pulumi.Input[_builtins.bool]] = None,
1333
+ mail: Optional[pulumi.Input[_builtins.str]] = None,
1334
+ mail_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1335
+ mail_nickname: Optional[pulumi.Input[_builtins.str]] = None,
1336
+ members: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1337
+ object_id: Optional[pulumi.Input[_builtins.str]] = None,
1338
+ onpremises_domain_name: Optional[pulumi.Input[_builtins.str]] = None,
1339
+ onpremises_group_type: Optional[pulumi.Input[_builtins.str]] = None,
1340
+ onpremises_netbios_name: Optional[pulumi.Input[_builtins.str]] = None,
1341
+ onpremises_sam_account_name: Optional[pulumi.Input[_builtins.str]] = None,
1342
+ onpremises_security_identifier: Optional[pulumi.Input[_builtins.str]] = None,
1343
+ onpremises_sync_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1344
+ owners: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1345
+ preferred_language: Optional[pulumi.Input[_builtins.str]] = None,
1346
+ prevent_duplicate_names: Optional[pulumi.Input[_builtins.bool]] = None,
1347
+ provisioning_options: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1348
+ proxy_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1349
+ security_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1350
+ theme: Optional[pulumi.Input[_builtins.str]] = None,
1351
+ types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1352
+ visibility: Optional[pulumi.Input[_builtins.str]] = None,
1353
+ writeback_enabled: Optional[pulumi.Input[_builtins.bool]] = None) -> 'Group':
1196
1354
  """
1197
1355
  Get an existing Group resource's state with the given name, id, and optional extra
1198
1356
  properties used to qualify the lookup.
@@ -1200,53 +1358,53 @@ class Group(pulumi.CustomResource):
1200
1358
  :param str resource_name: The unique name of the resulting resource.
1201
1359
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1202
1360
  :param pulumi.ResourceOptions opts: Options for the resource.
1203
- :param pulumi.Input[Sequence[pulumi.Input[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.
1361
+ :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.
1204
1362
 
1205
- !> **Warning** Do not use the `administrative_unit_ids` property at the same time as the AdministrativeUnitMember resource, _for the same group_. Doing so will cause a conflict and administrative unit members will be removed.
1206
- :param pulumi.Input[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.
1207
- :param pulumi.Input[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.
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
+ :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.
1365
+ :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.
1208
1366
 
1209
1367
  > **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.
1210
- :param pulumi.Input[Sequence[pulumi.Input[str]]] behaviors: A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `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.
1211
- :param pulumi.Input[str] description: The description for the group.
1212
- :param pulumi.Input[str] display_name: The display name for the group.
1213
- :param pulumi.Input[pulumi.InputType['GroupDynamicMembershipArgs']] dynamic_membership: A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
1214
- :param pulumi.Input[bool] external_senders_allowed: Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
1368
+ :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.
1369
+ :param pulumi.Input[_builtins.str] description: The description for the group.
1370
+ :param pulumi.Input[_builtins.str] display_name: The display name for the group.
1371
+ :param pulumi.Input[Union['GroupDynamicMembershipArgs', 'GroupDynamicMembershipArgsDict']] dynamic_membership: A `dynamic_membership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property.
1372
+ :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.
1215
1373
 
1216
1374
  > **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.
1217
- :param pulumi.Input[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.
1375
+ :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.
1218
1376
 
1219
1377
  > **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.
1220
- :param pulumi.Input[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.
1378
+ :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.
1221
1379
 
1222
1380
  > **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.
1223
- :param pulumi.Input[str] mail: The SMTP address for the group.
1224
- :param pulumi.Input[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).
1225
- :param pulumi.Input[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.
1226
- :param pulumi.Input[Sequence[pulumi.Input[str]]] members: A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
1381
+ :param pulumi.Input[_builtins.str] mail: The SMTP address for the group.
1382
+ :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).
1383
+ :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.
1384
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] members: A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
1227
1385
 
1228
1386
  !> **Warning** Do not use the `members` property at the same time as the GroupMember resource for the same group. Doing so will cause a conflict and group members will be removed.
1229
- :param pulumi.Input[str] object_id: The object ID of the group.
1230
- :param pulumi.Input[str] onpremises_domain_name: The on-premises FQDN, also called dnsDomainName, synchronised from the on-premises directory when Azure AD Connect is used.
1231
- :param pulumi.Input[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`.
1232
- :param pulumi.Input[str] onpremises_netbios_name: The on-premises NetBIOS name, synchronised from the on-premises directory when Azure AD Connect is used.
1233
- :param pulumi.Input[str] onpremises_sam_account_name: The on-premises SAM account name, synchronised from the on-premises directory when Azure AD Connect is used.
1234
- :param pulumi.Input[str] onpremises_security_identifier: The on-premises security identifier (SID), synchronised from the on-premises directory when Azure AD Connect is used.
1235
- :param pulumi.Input[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`).
1236
- :param pulumi.Input[Sequence[pulumi.Input[str]]] owners: A set of owners who own this group. Supported object types are Users or Service Principals
1237
- :param pulumi.Input[str] preferred_language: The preferred language for a Microsoft 365 group, in ISO 639-1 notation.
1238
- :param pulumi.Input[bool] prevent_duplicate_names: If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
1239
- :param pulumi.Input[Sequence[pulumi.Input[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.
1240
- :param pulumi.Input[Sequence[pulumi.Input[str]]] proxy_addresses: List of email addresses for the group that direct to the same group mailbox.
1241
- :param pulumi.Input[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).
1242
- :param pulumi.Input[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.
1243
- :param pulumi.Input[Sequence[pulumi.Input[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.
1387
+ :param pulumi.Input[_builtins.str] object_id: The object ID of the group.
1388
+ :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.
1389
+ :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`.
1390
+ :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.
1391
+ :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.
1392
+ :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.
1393
+ :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`).
1394
+ :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
1395
+ :param pulumi.Input[_builtins.str] preferred_language: The preferred language for a Microsoft 365 group, in ISO 639-1 notation.
1396
+ :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`.
1397
+ :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.
1398
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] proxy_addresses: List of email addresses for the group that direct to the same group mailbox.
1399
+ :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).
1400
+ :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.
1401
+ :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.
1244
1402
 
1245
1403
  > **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.
1246
- :param pulumi.Input[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.
1404
+ :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.
1247
1405
 
1248
1406
  > **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.
1249
- :param pulumi.Input[bool] writeback_enabled: Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
1407
+ :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.
1250
1408
  """
1251
1409
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1252
1410
 
@@ -1285,27 +1443,27 @@ class Group(pulumi.CustomResource):
1285
1443
  __props__.__dict__["writeback_enabled"] = writeback_enabled
1286
1444
  return Group(resource_name, opts=opts, __props__=__props__)
1287
1445
 
1288
- @property
1446
+ @_builtins.property
1289
1447
  @pulumi.getter(name="administrativeUnitIds")
1290
- def administrative_unit_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
1448
+ def administrative_unit_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1291
1449
  """
1292
1450
  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.
1293
1451
 
1294
- !> **Warning** Do not use the `administrative_unit_ids` property at the same time as the AdministrativeUnitMember resource, _for the same group_. Doing so will cause a conflict and administrative unit members will be removed.
1452
+ > **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.
1295
1453
  """
1296
1454
  return pulumi.get(self, "administrative_unit_ids")
1297
1455
 
1298
- @property
1456
+ @_builtins.property
1299
1457
  @pulumi.getter(name="assignableToRole")
1300
- def assignable_to_role(self) -> pulumi.Output[Optional[bool]]:
1458
+ def assignable_to_role(self) -> pulumi.Output[Optional[_builtins.bool]]:
1301
1459
  """
1302
1460
  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.
1303
1461
  """
1304
1462
  return pulumi.get(self, "assignable_to_role")
1305
1463
 
1306
- @property
1464
+ @_builtins.property
1307
1465
  @pulumi.getter(name="autoSubscribeNewMembers")
1308
- def auto_subscribe_new_members(self) -> pulumi.Output[bool]:
1466
+ def auto_subscribe_new_members(self) -> pulumi.Output[_builtins.bool]:
1309
1467
  """
1310
1468
  Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups.
1311
1469
 
@@ -1313,31 +1471,31 @@ class Group(pulumi.CustomResource):
1313
1471
  """
1314
1472
  return pulumi.get(self, "auto_subscribe_new_members")
1315
1473
 
1316
- @property
1474
+ @_builtins.property
1317
1475
  @pulumi.getter
1318
- def behaviors(self) -> pulumi.Output[Optional[Sequence[str]]]:
1476
+ def behaviors(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1319
1477
  """
1320
- A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `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.
1478
+ 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.
1321
1479
  """
1322
1480
  return pulumi.get(self, "behaviors")
1323
1481
 
1324
- @property
1482
+ @_builtins.property
1325
1483
  @pulumi.getter
1326
- def description(self) -> pulumi.Output[Optional[str]]:
1484
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
1327
1485
  """
1328
1486
  The description for the group.
1329
1487
  """
1330
1488
  return pulumi.get(self, "description")
1331
1489
 
1332
- @property
1490
+ @_builtins.property
1333
1491
  @pulumi.getter(name="displayName")
1334
- def display_name(self) -> pulumi.Output[str]:
1492
+ def display_name(self) -> pulumi.Output[_builtins.str]:
1335
1493
  """
1336
1494
  The display name for the group.
1337
1495
  """
1338
1496
  return pulumi.get(self, "display_name")
1339
1497
 
1340
- @property
1498
+ @_builtins.property
1341
1499
  @pulumi.getter(name="dynamicMembership")
1342
1500
  def dynamic_membership(self) -> pulumi.Output[Optional['outputs.GroupDynamicMembership']]:
1343
1501
  """
@@ -1345,9 +1503,9 @@ class Group(pulumi.CustomResource):
1345
1503
  """
1346
1504
  return pulumi.get(self, "dynamic_membership")
1347
1505
 
1348
- @property
1506
+ @_builtins.property
1349
1507
  @pulumi.getter(name="externalSendersAllowed")
1350
- def external_senders_allowed(self) -> pulumi.Output[bool]:
1508
+ def external_senders_allowed(self) -> pulumi.Output[_builtins.bool]:
1351
1509
  """
1352
1510
  Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups.
1353
1511
 
@@ -1355,9 +1513,9 @@ class Group(pulumi.CustomResource):
1355
1513
  """
1356
1514
  return pulumi.get(self, "external_senders_allowed")
1357
1515
 
1358
- @property
1516
+ @_builtins.property
1359
1517
  @pulumi.getter(name="hideFromAddressLists")
1360
- def hide_from_address_lists(self) -> pulumi.Output[bool]:
1518
+ def hide_from_address_lists(self) -> pulumi.Output[_builtins.bool]:
1361
1519
  """
1362
1520
  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.
1363
1521
 
@@ -1365,9 +1523,9 @@ class Group(pulumi.CustomResource):
1365
1523
  """
1366
1524
  return pulumi.get(self, "hide_from_address_lists")
1367
1525
 
1368
- @property
1526
+ @_builtins.property
1369
1527
  @pulumi.getter(name="hideFromOutlookClients")
1370
- def hide_from_outlook_clients(self) -> pulumi.Output[bool]:
1528
+ def hide_from_outlook_clients(self) -> pulumi.Output[_builtins.bool]:
1371
1529
  """
1372
1530
  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.
1373
1531
 
@@ -1375,33 +1533,33 @@ class Group(pulumi.CustomResource):
1375
1533
  """
1376
1534
  return pulumi.get(self, "hide_from_outlook_clients")
1377
1535
 
1378
- @property
1536
+ @_builtins.property
1379
1537
  @pulumi.getter
1380
- def mail(self) -> pulumi.Output[str]:
1538
+ def mail(self) -> pulumi.Output[_builtins.str]:
1381
1539
  """
1382
1540
  The SMTP address for the group.
1383
1541
  """
1384
1542
  return pulumi.get(self, "mail")
1385
1543
 
1386
- @property
1544
+ @_builtins.property
1387
1545
  @pulumi.getter(name="mailEnabled")
1388
- def mail_enabled(self) -> pulumi.Output[Optional[bool]]:
1546
+ def mail_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
1389
1547
  """
1390
1548
  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).
1391
1549
  """
1392
1550
  return pulumi.get(self, "mail_enabled")
1393
1551
 
1394
- @property
1552
+ @_builtins.property
1395
1553
  @pulumi.getter(name="mailNickname")
1396
- def mail_nickname(self) -> pulumi.Output[str]:
1554
+ def mail_nickname(self) -> pulumi.Output[_builtins.str]:
1397
1555
  """
1398
1556
  The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created.
1399
1557
  """
1400
1558
  return pulumi.get(self, "mail_nickname")
1401
1559
 
1402
- @property
1560
+ @_builtins.property
1403
1561
  @pulumi.getter
1404
- def members(self) -> pulumi.Output[Sequence[str]]:
1562
+ def members(self) -> pulumi.Output[Sequence[_builtins.str]]:
1405
1563
  """
1406
1564
  A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamic_membership` block.
1407
1565
 
@@ -1409,121 +1567,121 @@ class Group(pulumi.CustomResource):
1409
1567
  """
1410
1568
  return pulumi.get(self, "members")
1411
1569
 
1412
- @property
1570
+ @_builtins.property
1413
1571
  @pulumi.getter(name="objectId")
1414
- def object_id(self) -> pulumi.Output[str]:
1572
+ def object_id(self) -> pulumi.Output[_builtins.str]:
1415
1573
  """
1416
1574
  The object ID of the group.
1417
1575
  """
1418
1576
  return pulumi.get(self, "object_id")
1419
1577
 
1420
- @property
1578
+ @_builtins.property
1421
1579
  @pulumi.getter(name="onpremisesDomainName")
1422
- def onpremises_domain_name(self) -> pulumi.Output[str]:
1580
+ def onpremises_domain_name(self) -> pulumi.Output[_builtins.str]:
1423
1581
  """
1424
1582
  The on-premises FQDN, also called dnsDomainName, synchronised from the on-premises directory when Azure AD Connect is used.
1425
1583
  """
1426
1584
  return pulumi.get(self, "onpremises_domain_name")
1427
1585
 
1428
- @property
1586
+ @_builtins.property
1429
1587
  @pulumi.getter(name="onpremisesGroupType")
1430
- def onpremises_group_type(self) -> pulumi.Output[str]:
1588
+ def onpremises_group_type(self) -> pulumi.Output[_builtins.str]:
1431
1589
  """
1432
1590
  The on-premises group type that the AAD group will be written as, when writeback is enabled. Possible values are `UniversalDistributionGroup`, `UniversalMailEnabledSecurityGroup`, or `UniversalSecurityGroup`.
1433
1591
  """
1434
1592
  return pulumi.get(self, "onpremises_group_type")
1435
1593
 
1436
- @property
1594
+ @_builtins.property
1437
1595
  @pulumi.getter(name="onpremisesNetbiosName")
1438
- def onpremises_netbios_name(self) -> pulumi.Output[str]:
1596
+ def onpremises_netbios_name(self) -> pulumi.Output[_builtins.str]:
1439
1597
  """
1440
1598
  The on-premises NetBIOS name, synchronised from the on-premises directory when Azure AD Connect is used.
1441
1599
  """
1442
1600
  return pulumi.get(self, "onpremises_netbios_name")
1443
1601
 
1444
- @property
1602
+ @_builtins.property
1445
1603
  @pulumi.getter(name="onpremisesSamAccountName")
1446
- def onpremises_sam_account_name(self) -> pulumi.Output[str]:
1604
+ def onpremises_sam_account_name(self) -> pulumi.Output[_builtins.str]:
1447
1605
  """
1448
1606
  The on-premises SAM account name, synchronised from the on-premises directory when Azure AD Connect is used.
1449
1607
  """
1450
1608
  return pulumi.get(self, "onpremises_sam_account_name")
1451
1609
 
1452
- @property
1610
+ @_builtins.property
1453
1611
  @pulumi.getter(name="onpremisesSecurityIdentifier")
1454
- def onpremises_security_identifier(self) -> pulumi.Output[str]:
1612
+ def onpremises_security_identifier(self) -> pulumi.Output[_builtins.str]:
1455
1613
  """
1456
1614
  The on-premises security identifier (SID), synchronised from the on-premises directory when Azure AD Connect is used.
1457
1615
  """
1458
1616
  return pulumi.get(self, "onpremises_security_identifier")
1459
1617
 
1460
- @property
1618
+ @_builtins.property
1461
1619
  @pulumi.getter(name="onpremisesSyncEnabled")
1462
- def onpremises_sync_enabled(self) -> pulumi.Output[bool]:
1620
+ def onpremises_sync_enabled(self) -> pulumi.Output[_builtins.bool]:
1463
1621
  """
1464
1622
  Whether this group is synchronised from an on-premises directory (`true`), no longer synchronised (`false`), or has never been synchronised (`null`).
1465
1623
  """
1466
1624
  return pulumi.get(self, "onpremises_sync_enabled")
1467
1625
 
1468
- @property
1626
+ @_builtins.property
1469
1627
  @pulumi.getter
1470
- def owners(self) -> pulumi.Output[Sequence[str]]:
1628
+ def owners(self) -> pulumi.Output[Sequence[_builtins.str]]:
1471
1629
  """
1472
1630
  A set of owners who own this group. Supported object types are Users or Service Principals
1473
1631
  """
1474
1632
  return pulumi.get(self, "owners")
1475
1633
 
1476
- @property
1634
+ @_builtins.property
1477
1635
  @pulumi.getter(name="preferredLanguage")
1478
- def preferred_language(self) -> pulumi.Output[str]:
1636
+ def preferred_language(self) -> pulumi.Output[_builtins.str]:
1479
1637
  """
1480
1638
  The preferred language for a Microsoft 365 group, in ISO 639-1 notation.
1481
1639
  """
1482
1640
  return pulumi.get(self, "preferred_language")
1483
1641
 
1484
- @property
1642
+ @_builtins.property
1485
1643
  @pulumi.getter(name="preventDuplicateNames")
1486
- def prevent_duplicate_names(self) -> pulumi.Output[Optional[bool]]:
1644
+ def prevent_duplicate_names(self) -> pulumi.Output[Optional[_builtins.bool]]:
1487
1645
  """
1488
1646
  If `true`, will return an error if an existing group is found with the same name. Defaults to `false`.
1489
1647
  """
1490
1648
  return pulumi.get(self, "prevent_duplicate_names")
1491
1649
 
1492
- @property
1650
+ @_builtins.property
1493
1651
  @pulumi.getter(name="provisioningOptions")
1494
- def provisioning_options(self) -> pulumi.Output[Optional[Sequence[str]]]:
1652
+ def provisioning_options(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1495
1653
  """
1496
1654
  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.
1497
1655
  """
1498
1656
  return pulumi.get(self, "provisioning_options")
1499
1657
 
1500
- @property
1658
+ @_builtins.property
1501
1659
  @pulumi.getter(name="proxyAddresses")
1502
- def proxy_addresses(self) -> pulumi.Output[Sequence[str]]:
1660
+ def proxy_addresses(self) -> pulumi.Output[Sequence[_builtins.str]]:
1503
1661
  """
1504
1662
  List of email addresses for the group that direct to the same group mailbox.
1505
1663
  """
1506
1664
  return pulumi.get(self, "proxy_addresses")
1507
1665
 
1508
- @property
1666
+ @_builtins.property
1509
1667
  @pulumi.getter(name="securityEnabled")
1510
- def security_enabled(self) -> pulumi.Output[Optional[bool]]:
1668
+ def security_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
1511
1669
  """
1512
1670
  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).
1513
1671
  """
1514
1672
  return pulumi.get(self, "security_enabled")
1515
1673
 
1516
- @property
1674
+ @_builtins.property
1517
1675
  @pulumi.getter
1518
- def theme(self) -> pulumi.Output[Optional[str]]:
1676
+ def theme(self) -> pulumi.Output[Optional[_builtins.str]]:
1519
1677
  """
1520
1678
  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.
1521
1679
  """
1522
1680
  return pulumi.get(self, "theme")
1523
1681
 
1524
- @property
1682
+ @_builtins.property
1525
1683
  @pulumi.getter
1526
- def types(self) -> pulumi.Output[Optional[Sequence[str]]]:
1684
+ def types(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1527
1685
  """
1528
1686
  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.
1529
1687
 
@@ -1531,9 +1689,9 @@ class Group(pulumi.CustomResource):
1531
1689
  """
1532
1690
  return pulumi.get(self, "types")
1533
1691
 
1534
- @property
1692
+ @_builtins.property
1535
1693
  @pulumi.getter
1536
- def visibility(self) -> pulumi.Output[str]:
1694
+ def visibility(self) -> pulumi.Output[_builtins.str]:
1537
1695
  """
1538
1696
  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.
1539
1697
 
@@ -1541,9 +1699,9 @@ class Group(pulumi.CustomResource):
1541
1699
  """
1542
1700
  return pulumi.get(self, "visibility")
1543
1701
 
1544
- @property
1702
+ @_builtins.property
1545
1703
  @pulumi.getter(name="writebackEnabled")
1546
- def writeback_enabled(self) -> pulumi.Output[Optional[bool]]:
1704
+ def writeback_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
1547
1705
  """
1548
1706
  Whether the group will be written back to the configured on-premises Active Directory when Azure AD Connect is used.
1549
1707
  """