/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface GroupWithoutMembersConfig extends cdktf.TerraformMetaArguments { /** * The administrative unit IDs in which the group should be. If empty, the group will be created at the tenant level. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#administrative_unit_ids GroupWithoutMembers#administrative_unit_ids} */ readonly administrativeUnitIds?: string[]; /** * Indicates whether this group can be assigned to an Azure Active Directory role. This property can only be `true` for security-enabled groups. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#assignable_to_role GroupWithoutMembers#assignable_to_role} */ readonly assignableToRole?: boolean | cdktf.IResolvable; /** * Indicates whether new members added to the group will be auto-subscribed to receive email notifications. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#auto_subscribe_new_members GroupWithoutMembers#auto_subscribe_new_members} */ readonly autoSubscribeNewMembers?: boolean | cdktf.IResolvable; /** * The group behaviours for a Microsoft 365 group * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#behaviors GroupWithoutMembers#behaviors} */ readonly behaviors?: string[]; /** * The description for the group * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#description GroupWithoutMembers#description} */ readonly description?: string; /** * The display name for the group * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#display_name GroupWithoutMembers#display_name} */ readonly displayName: string; /** * Indicates whether people external to the organization can send messages to the group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#external_senders_allowed GroupWithoutMembers#external_senders_allowed} */ readonly externalSendersAllowed?: boolean | cdktf.IResolvable; /** * 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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#hide_from_address_lists GroupWithoutMembers#hide_from_address_lists} */ readonly hideFromAddressLists?: boolean | cdktf.IResolvable; /** * Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#hide_from_outlook_clients GroupWithoutMembers#hide_from_outlook_clients} */ readonly hideFromOutlookClients?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#id GroupWithoutMembers#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Whether the group is a mail enabled, with a shared group mailbox. At least one of `mail_enabled` or `security_enabled` must be specified. A group can be mail enabled _and_ security enabled * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#mail_enabled GroupWithoutMembers#mail_enabled} */ readonly mailEnabled?: boolean | cdktf.IResolvable; /** * The mail alias for the group, unique in the organisation * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#mail_nickname GroupWithoutMembers#mail_nickname} */ readonly mailNickname?: string; /** * Indicates the target on-premise group type the group will be written back as * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#onpremises_group_type GroupWithoutMembers#onpremises_group_type} */ readonly onpremisesGroupType?: string; /** * A set of owners who own this group. Supported object types are Users or Service Principals * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#owners GroupWithoutMembers#owners} */ readonly owners?: string[]; /** * If `true`, will return an error if an existing group is found with the same name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#prevent_duplicate_names GroupWithoutMembers#prevent_duplicate_names} */ readonly preventDuplicateNames?: boolean | cdktf.IResolvable; /** * The group provisioning options for a Microsoft 365 group * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#provisioning_options GroupWithoutMembers#provisioning_options} */ readonly provisioningOptions?: string[]; /** * 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 group can be security enabled _and_ mail enabled * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#security_enabled GroupWithoutMembers#security_enabled} */ readonly securityEnabled?: boolean | cdktf.IResolvable; /** * The colour theme for a Microsoft 365 group * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#theme GroupWithoutMembers#theme} */ readonly theme?: string; /** * A set of group types to configure for the group. `Unified` specifies a Microsoft 365 group. Required when `mail_enabled` is true * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#types GroupWithoutMembers#types} */ readonly types?: string[]; /** * Specifies the group join policy and group content visibility * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#visibility GroupWithoutMembers#visibility} */ readonly visibility?: string; /** * Whether this group should be synced from Azure AD to the on-premises directory when Azure AD Connect is used * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#writeback_enabled GroupWithoutMembers#writeback_enabled} */ readonly writebackEnabled?: boolean | cdktf.IResolvable; /** * dynamic_membership block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#dynamic_membership GroupWithoutMembers#dynamic_membership} */ readonly dynamicMembership?: GroupWithoutMembersDynamicMembership; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#timeouts GroupWithoutMembers#timeouts} */ readonly timeouts?: GroupWithoutMembersTimeouts; } export interface GroupWithoutMembersDynamicMembership { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#enabled GroupWithoutMembers#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Rule to determine members for a dynamic group. Required when `group_types` contains 'DynamicMembership' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#rule GroupWithoutMembers#rule} */ readonly rule: string; } export declare function groupWithoutMembersDynamicMembershipToTerraform(struct?: GroupWithoutMembersDynamicMembershipOutputReference | GroupWithoutMembersDynamicMembership): any; export declare function groupWithoutMembersDynamicMembershipToHclTerraform(struct?: GroupWithoutMembersDynamicMembershipOutputReference | GroupWithoutMembersDynamicMembership): any; export declare class GroupWithoutMembersDynamicMembershipOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GroupWithoutMembersDynamicMembership | undefined; set internalValue(value: GroupWithoutMembersDynamicMembership | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): boolean | cdktf.IResolvable | undefined; private _rule?; get rule(): string; set rule(value: string); get ruleInput(): string | undefined; } export interface GroupWithoutMembersTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#create GroupWithoutMembers#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#delete GroupWithoutMembers#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#read GroupWithoutMembers#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#update GroupWithoutMembers#update} */ readonly update?: string; } export declare function groupWithoutMembersTimeoutsToTerraform(struct?: GroupWithoutMembersTimeouts | cdktf.IResolvable): any; export declare function groupWithoutMembersTimeoutsToHclTerraform(struct?: GroupWithoutMembersTimeouts | cdktf.IResolvable): any; export declare class GroupWithoutMembersTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): GroupWithoutMembersTimeouts | cdktf.IResolvable | undefined; set internalValue(value: GroupWithoutMembersTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string | undefined; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string | undefined; private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string | undefined; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members azuread_group_without_members} */ export declare class GroupWithoutMembers extends cdktf.TerraformResource { static readonly tfResourceType = "azuread_group_without_members"; /** * Generates CDKTF code for importing a GroupWithoutMembers resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the GroupWithoutMembers to import * @param importFromId The id of the existing GroupWithoutMembers that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the GroupWithoutMembers to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/group_without_members azuread_group_without_members} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options GroupWithoutMembersConfig */ constructor(scope: Construct, id: string, config: GroupWithoutMembersConfig); private _administrativeUnitIds?; get administrativeUnitIds(): string[]; set administrativeUnitIds(value: string[]); resetAdministrativeUnitIds(): void; get administrativeUnitIdsInput(): string[] | undefined; private _assignableToRole?; get assignableToRole(): boolean | cdktf.IResolvable; set assignableToRole(value: boolean | cdktf.IResolvable); resetAssignableToRole(): void; get assignableToRoleInput(): boolean | cdktf.IResolvable | undefined; private _autoSubscribeNewMembers?; get autoSubscribeNewMembers(): boolean | cdktf.IResolvable; set autoSubscribeNewMembers(value: boolean | cdktf.IResolvable); resetAutoSubscribeNewMembers(): void; get autoSubscribeNewMembersInput(): boolean | cdktf.IResolvable | undefined; private _behaviors?; get behaviors(): string[]; set behaviors(value: string[]); resetBehaviors(): void; get behaviorsInput(): string[] | undefined; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _displayName?; get displayName(): string; set displayName(value: string); get displayNameInput(): string | undefined; private _externalSendersAllowed?; get externalSendersAllowed(): boolean | cdktf.IResolvable; set externalSendersAllowed(value: boolean | cdktf.IResolvable); resetExternalSendersAllowed(): void; get externalSendersAllowedInput(): boolean | cdktf.IResolvable | undefined; private _hideFromAddressLists?; get hideFromAddressLists(): boolean | cdktf.IResolvable; set hideFromAddressLists(value: boolean | cdktf.IResolvable); resetHideFromAddressLists(): void; get hideFromAddressListsInput(): boolean | cdktf.IResolvable | undefined; private _hideFromOutlookClients?; get hideFromOutlookClients(): boolean | cdktf.IResolvable; set hideFromOutlookClients(value: boolean | cdktf.IResolvable); resetHideFromOutlookClients(): void; get hideFromOutlookClientsInput(): boolean | cdktf.IResolvable | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; get mail(): string; private _mailEnabled?; get mailEnabled(): boolean | cdktf.IResolvable; set mailEnabled(value: boolean | cdktf.IResolvable); resetMailEnabled(): void; get mailEnabledInput(): boolean | cdktf.IResolvable | undefined; private _mailNickname?; get mailNickname(): string; set mailNickname(value: string); resetMailNickname(): void; get mailNicknameInput(): string | undefined; get objectId(): string; get onpremisesDomainName(): string; private _onpremisesGroupType?; get onpremisesGroupType(): string; set onpremisesGroupType(value: string); resetOnpremisesGroupType(): void; get onpremisesGroupTypeInput(): string | undefined; get onpremisesNetbiosName(): string; get onpremisesSamAccountName(): string; get onpremisesSecurityIdentifier(): string; get onpremisesSyncEnabled(): cdktf.IResolvable; private _owners?; get owners(): string[]; set owners(value: string[]); resetOwners(): void; get ownersInput(): string[] | undefined; get preferredLanguage(): string; private _preventDuplicateNames?; get preventDuplicateNames(): boolean | cdktf.IResolvable; set preventDuplicateNames(value: boolean | cdktf.IResolvable); resetPreventDuplicateNames(): void; get preventDuplicateNamesInput(): boolean | cdktf.IResolvable | undefined; private _provisioningOptions?; get provisioningOptions(): string[]; set provisioningOptions(value: string[]); resetProvisioningOptions(): void; get provisioningOptionsInput(): string[] | undefined; get proxyAddresses(): string[]; private _securityEnabled?; get securityEnabled(): boolean | cdktf.IResolvable; set securityEnabled(value: boolean | cdktf.IResolvable); resetSecurityEnabled(): void; get securityEnabledInput(): boolean | cdktf.IResolvable | undefined; private _theme?; get theme(): string; set theme(value: string); resetTheme(): void; get themeInput(): string | undefined; private _types?; get types(): string[]; set types(value: string[]); resetTypes(): void; get typesInput(): string[] | undefined; private _visibility?; get visibility(): string; set visibility(value: string); resetVisibility(): void; get visibilityInput(): string | undefined; private _writebackEnabled?; get writebackEnabled(): boolean | cdktf.IResolvable; set writebackEnabled(value: boolean | cdktf.IResolvable); resetWritebackEnabled(): void; get writebackEnabledInput(): boolean | cdktf.IResolvable | undefined; private _dynamicMembership; get dynamicMembership(): GroupWithoutMembersDynamicMembershipOutputReference; putDynamicMembership(value: GroupWithoutMembersDynamicMembership): void; resetDynamicMembership(): void; get dynamicMembershipInput(): GroupWithoutMembersDynamicMembership | undefined; private _timeouts; get timeouts(): GroupWithoutMembersTimeoutsOutputReference; putTimeouts(value: GroupWithoutMembersTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | GroupWithoutMembersTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }