/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface UserConfig extends cdktf.TerraformMetaArguments { /** * Whether or not the account should be enabled * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#account_enabled User#account_enabled} */ readonly accountEnabled?: boolean | cdktf.IResolvable; /** * The age group of the user * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#age_group User#age_group} */ readonly ageGroup?: string; /** * The telephone numbers for the user. Only one number can be set for this property. Read-only for users synced with Azure AD Connect * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#business_phones User#business_phones} */ readonly businessPhones?: string[]; /** * The city in which the user is located * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#city User#city} */ readonly city?: string; /** * The company name which the user is associated. This property can be useful for describing the company that an external user comes from * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#company_name User#company_name} */ readonly companyName?: string; /** * Whether consent has been obtained for minors * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#consent_provided_for_minor User#consent_provided_for_minor} */ readonly consentProvidedForMinor?: string; /** * The cost center associated with the user. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#cost_center User#cost_center} */ readonly costCenter?: string; /** * The country/region in which the user is located, e.g. `US` or `UK` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#country User#country} */ readonly country?: string; /** * The name for the department in which the user works * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#department User#department} */ readonly department?: string; /** * Whether the users password is exempt from expiring * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#disable_password_expiration User#disable_password_expiration} */ readonly disablePasswordExpiration?: boolean | cdktf.IResolvable; /** * Whether the user is allowed weaker passwords than the default policy to be specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#disable_strong_password User#disable_strong_password} */ readonly disableStrongPassword?: boolean | cdktf.IResolvable; /** * The name to display in the address book for the user * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#display_name User#display_name} */ readonly displayName: string; /** * The name of the division in which the user works. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#division User#division} */ readonly division?: string; /** * The hire date of the user, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#employee_hire_date User#employee_hire_date} */ readonly employeeHireDate?: string; /** * The employee identifier assigned to the user by the organisation * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#employee_id User#employee_id} */ readonly employeeId?: string; /** * Captures enterprise worker type. For example, Employee, Contractor, Consultant, or Vendor. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#employee_type User#employee_type} */ readonly employeeType?: string; /** * The fax number of the user * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#fax_number User#fax_number} */ readonly faxNumber?: string; /** * Whether the user is forced to change the password during the next sign-in. Only takes effect when also changing the password * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#force_password_change User#force_password_change} */ readonly forcePasswordChange?: boolean | cdktf.IResolvable; /** * The given name (first name) of the user * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#given_name User#given_name} */ readonly givenName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#id User#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; /** * The user’s job title * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#job_title User#job_title} */ readonly jobTitle?: string; /** * The SMTP address for the user. Cannot be unset. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#mail User#mail} */ readonly mail?: string; /** * The mail alias for the user. Defaults to the user name part of the user principal name (UPN) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#mail_nickname User#mail_nickname} */ readonly mailNickname?: string; /** * The object ID of the user's manager * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#manager_id User#manager_id} */ readonly managerId?: string; /** * The primary cellular telephone number for the user * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#mobile_phone User#mobile_phone} */ readonly mobilePhone?: string; /** * The office location in the user's place of business * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#office_location User#office_location} */ readonly officeLocation?: string; /** * The value used to associate an on-premise Active Directory user account with their Azure AD user object. This must be specified if you are using a federated domain for the user's `user_principal_name` property when creating a new user account * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#onpremises_immutable_id User#onpremises_immutable_id} */ readonly onpremisesImmutableId?: string; /** * Additional email addresses for the user * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#other_mails User#other_mails} */ readonly otherMails?: string[]; /** * The password for the user. The password must satisfy minimum requirements as specified by the password policy. The maximum length is 256 characters. This property is required when creating a new user * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#password User#password} */ readonly password?: string; /** * The postal code for the user's postal address. The postal code is specific to the user's country/region. In the United States of America, this attribute contains the ZIP code * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#postal_code User#postal_code} */ readonly postalCode?: string; /** * The user's preferred language, in ISO 639-1 notation * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#preferred_language User#preferred_language} */ readonly preferredLanguage?: string; /** * Whether or not the Outlook global address list should include this user * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#show_in_address_list User#show_in_address_list} */ readonly showInAddressList?: boolean | cdktf.IResolvable; /** * The state or province in the user's address * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#state User#state} */ readonly state?: string; /** * The street address of the user's place of business * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#street_address User#street_address} */ readonly streetAddress?: string; /** * The user's surname (family name or last name) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#surname User#surname} */ readonly surname?: string; /** * The usage location of the user. Required for users that will be assigned licenses due to legal requirement to check for availability of services in countries. The usage location is a two letter country code (ISO standard 3166). Examples include: `NO`, `JP`, and `GB`. Cannot be reset to null once set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#usage_location User#usage_location} */ readonly usageLocation?: string; /** * The user principal name (UPN) of the user * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#user_principal_name User#user_principal_name} */ readonly userPrincipalName: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#timeouts User#timeouts} */ readonly timeouts?: UserTimeouts; } export interface UserTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#create User#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#delete User#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#read User#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#update User#update} */ readonly update?: string; } export declare function userTimeoutsToTerraform(struct?: UserTimeouts | cdktf.IResolvable): any; export declare function userTimeoutsToHclTerraform(struct?: UserTimeouts | cdktf.IResolvable): any; export declare class UserTimeoutsOutputReference 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(): UserTimeouts | cdktf.IResolvable | undefined; set internalValue(value: UserTimeouts | 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/user azuread_user} */ export declare class User extends cdktf.TerraformResource { static readonly tfResourceType = "azuread_user"; /** * Generates CDKTF code for importing a User 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 User to import * @param importFromId The id of the existing User that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azuread/3.7.0/docs/resources/user#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the User 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/user azuread_user} 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 UserConfig */ constructor(scope: Construct, id: string, config: UserConfig); get aboutMe(): string; private _accountEnabled?; get accountEnabled(): boolean | cdktf.IResolvable; set accountEnabled(value: boolean | cdktf.IResolvable); resetAccountEnabled(): void; get accountEnabledInput(): boolean | cdktf.IResolvable | undefined; private _ageGroup?; get ageGroup(): string; set ageGroup(value: string); resetAgeGroup(): void; get ageGroupInput(): string | undefined; private _businessPhones?; get businessPhones(): string[]; set businessPhones(value: string[]); resetBusinessPhones(): void; get businessPhonesInput(): string[] | undefined; private _city?; get city(): string; set city(value: string); resetCity(): void; get cityInput(): string | undefined; private _companyName?; get companyName(): string; set companyName(value: string); resetCompanyName(): void; get companyNameInput(): string | undefined; private _consentProvidedForMinor?; get consentProvidedForMinor(): string; set consentProvidedForMinor(value: string); resetConsentProvidedForMinor(): void; get consentProvidedForMinorInput(): string | undefined; private _costCenter?; get costCenter(): string; set costCenter(value: string); resetCostCenter(): void; get costCenterInput(): string | undefined; private _country?; get country(): string; set country(value: string); resetCountry(): void; get countryInput(): string | undefined; get creationType(): string; private _department?; get department(): string; set department(value: string); resetDepartment(): void; get departmentInput(): string | undefined; private _disablePasswordExpiration?; get disablePasswordExpiration(): boolean | cdktf.IResolvable; set disablePasswordExpiration(value: boolean | cdktf.IResolvable); resetDisablePasswordExpiration(): void; get disablePasswordExpirationInput(): boolean | cdktf.IResolvable | undefined; private _disableStrongPassword?; get disableStrongPassword(): boolean | cdktf.IResolvable; set disableStrongPassword(value: boolean | cdktf.IResolvable); resetDisableStrongPassword(): void; get disableStrongPasswordInput(): boolean | cdktf.IResolvable | undefined; private _displayName?; get displayName(): string; set displayName(value: string); get displayNameInput(): string | undefined; private _division?; get division(): string; set division(value: string); resetDivision(): void; get divisionInput(): string | undefined; private _employeeHireDate?; get employeeHireDate(): string; set employeeHireDate(value: string); resetEmployeeHireDate(): void; get employeeHireDateInput(): string | undefined; private _employeeId?; get employeeId(): string; set employeeId(value: string); resetEmployeeId(): void; get employeeIdInput(): string | undefined; private _employeeType?; get employeeType(): string; set employeeType(value: string); resetEmployeeType(): void; get employeeTypeInput(): string | undefined; get externalUserState(): string; private _faxNumber?; get faxNumber(): string; set faxNumber(value: string); resetFaxNumber(): void; get faxNumberInput(): string | undefined; private _forcePasswordChange?; get forcePasswordChange(): boolean | cdktf.IResolvable; set forcePasswordChange(value: boolean | cdktf.IResolvable); resetForcePasswordChange(): void; get forcePasswordChangeInput(): boolean | cdktf.IResolvable | undefined; private _givenName?; get givenName(): string; set givenName(value: string); resetGivenName(): void; get givenNameInput(): string | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; get imAddresses(): string[]; private _jobTitle?; get jobTitle(): string; set jobTitle(value: string); resetJobTitle(): void; get jobTitleInput(): string | undefined; private _mail?; get mail(): string; set mail(value: string); resetMail(): void; get mailInput(): string | undefined; private _mailNickname?; get mailNickname(): string; set mailNickname(value: string); resetMailNickname(): void; get mailNicknameInput(): string | undefined; private _managerId?; get managerId(): string; set managerId(value: string); resetManagerId(): void; get managerIdInput(): string | undefined; private _mobilePhone?; get mobilePhone(): string; set mobilePhone(value: string); resetMobilePhone(): void; get mobilePhoneInput(): string | undefined; get objectId(): string; private _officeLocation?; get officeLocation(): string; set officeLocation(value: string); resetOfficeLocation(): void; get officeLocationInput(): string | undefined; get onpremisesDistinguishedName(): string; get onpremisesDomainName(): string; private _onpremisesImmutableId?; get onpremisesImmutableId(): string; set onpremisesImmutableId(value: string); resetOnpremisesImmutableId(): void; get onpremisesImmutableIdInput(): string | undefined; get onpremisesSamAccountName(): string; get onpremisesSecurityIdentifier(): string; get onpremisesSyncEnabled(): cdktf.IResolvable; get onpremisesUserPrincipalName(): string; private _otherMails?; get otherMails(): string[]; set otherMails(value: string[]); resetOtherMails(): void; get otherMailsInput(): string[] | undefined; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string | undefined; private _postalCode?; get postalCode(): string; set postalCode(value: string); resetPostalCode(): void; get postalCodeInput(): string | undefined; private _preferredLanguage?; get preferredLanguage(): string; set preferredLanguage(value: string); resetPreferredLanguage(): void; get preferredLanguageInput(): string | undefined; get proxyAddresses(): string[]; private _showInAddressList?; get showInAddressList(): boolean | cdktf.IResolvable; set showInAddressList(value: boolean | cdktf.IResolvable); resetShowInAddressList(): void; get showInAddressListInput(): boolean | cdktf.IResolvable | undefined; private _state?; get state(): string; set state(value: string); resetState(): void; get stateInput(): string | undefined; private _streetAddress?; get streetAddress(): string; set streetAddress(value: string); resetStreetAddress(): void; get streetAddressInput(): string | undefined; private _surname?; get surname(): string; set surname(value: string); resetSurname(): void; get surnameInput(): string | undefined; private _usageLocation?; get usageLocation(): string; set usageLocation(value: string); resetUsageLocation(): void; get usageLocationInput(): string | undefined; private _userPrincipalName?; get userPrincipalName(): string; set userPrincipalName(value: string); get userPrincipalNameInput(): string | undefined; get userType(): string; private _timeouts; get timeouts(): UserTimeoutsOutputReference; putTimeouts(value: UserTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | UserTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }