// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0

package user

import (
	"reflect"

	_jsii_ "github.com/aws/jsii-runtime-go/runtime"
)

func init() {
	_jsii_.RegisterClass(
		"@cdktf/provider-azuread.user.User",
		reflect.TypeOf((*User)(nil)).Elem(),
		[]_jsii_.Member{
			_jsii_.MemberProperty{JsiiProperty: "aboutMe", GoGetter: "AboutMe"},
			_jsii_.MemberProperty{JsiiProperty: "accountEnabled", GoGetter: "AccountEnabled"},
			_jsii_.MemberProperty{JsiiProperty: "accountEnabledInput", GoGetter: "AccountEnabledInput"},
			_jsii_.MemberMethod{JsiiMethod: "addMoveTarget", GoMethod: "AddMoveTarget"},
			_jsii_.MemberMethod{JsiiMethod: "addOverride", GoMethod: "AddOverride"},
			_jsii_.MemberProperty{JsiiProperty: "ageGroup", GoGetter: "AgeGroup"},
			_jsii_.MemberProperty{JsiiProperty: "ageGroupInput", GoGetter: "AgeGroupInput"},
			_jsii_.MemberProperty{JsiiProperty: "businessPhones", GoGetter: "BusinessPhones"},
			_jsii_.MemberProperty{JsiiProperty: "businessPhonesInput", GoGetter: "BusinessPhonesInput"},
			_jsii_.MemberProperty{JsiiProperty: "cdktfStack", GoGetter: "CdktfStack"},
			_jsii_.MemberProperty{JsiiProperty: "city", GoGetter: "City"},
			_jsii_.MemberProperty{JsiiProperty: "cityInput", GoGetter: "CityInput"},
			_jsii_.MemberProperty{JsiiProperty: "companyName", GoGetter: "CompanyName"},
			_jsii_.MemberProperty{JsiiProperty: "companyNameInput", GoGetter: "CompanyNameInput"},
			_jsii_.MemberProperty{JsiiProperty: "connection", GoGetter: "Connection"},
			_jsii_.MemberProperty{JsiiProperty: "consentProvidedForMinor", GoGetter: "ConsentProvidedForMinor"},
			_jsii_.MemberProperty{JsiiProperty: "consentProvidedForMinorInput", GoGetter: "ConsentProvidedForMinorInput"},
			_jsii_.MemberProperty{JsiiProperty: "constructNodeMetadata", GoGetter: "ConstructNodeMetadata"},
			_jsii_.MemberProperty{JsiiProperty: "costCenter", GoGetter: "CostCenter"},
			_jsii_.MemberProperty{JsiiProperty: "costCenterInput", GoGetter: "CostCenterInput"},
			_jsii_.MemberProperty{JsiiProperty: "count", GoGetter: "Count"},
			_jsii_.MemberProperty{JsiiProperty: "country", GoGetter: "Country"},
			_jsii_.MemberProperty{JsiiProperty: "countryInput", GoGetter: "CountryInput"},
			_jsii_.MemberProperty{JsiiProperty: "creationType", GoGetter: "CreationType"},
			_jsii_.MemberProperty{JsiiProperty: "department", GoGetter: "Department"},
			_jsii_.MemberProperty{JsiiProperty: "departmentInput", GoGetter: "DepartmentInput"},
			_jsii_.MemberProperty{JsiiProperty: "dependsOn", GoGetter: "DependsOn"},
			_jsii_.MemberProperty{JsiiProperty: "disablePasswordExpiration", GoGetter: "DisablePasswordExpiration"},
			_jsii_.MemberProperty{JsiiProperty: "disablePasswordExpirationInput", GoGetter: "DisablePasswordExpirationInput"},
			_jsii_.MemberProperty{JsiiProperty: "disableStrongPassword", GoGetter: "DisableStrongPassword"},
			_jsii_.MemberProperty{JsiiProperty: "disableStrongPasswordInput", GoGetter: "DisableStrongPasswordInput"},
			_jsii_.MemberProperty{JsiiProperty: "displayName", GoGetter: "DisplayName"},
			_jsii_.MemberProperty{JsiiProperty: "displayNameInput", GoGetter: "DisplayNameInput"},
			_jsii_.MemberProperty{JsiiProperty: "division", GoGetter: "Division"},
			_jsii_.MemberProperty{JsiiProperty: "divisionInput", GoGetter: "DivisionInput"},
			_jsii_.MemberProperty{JsiiProperty: "employeeId", GoGetter: "EmployeeId"},
			_jsii_.MemberProperty{JsiiProperty: "employeeIdInput", GoGetter: "EmployeeIdInput"},
			_jsii_.MemberProperty{JsiiProperty: "employeeType", GoGetter: "EmployeeType"},
			_jsii_.MemberProperty{JsiiProperty: "employeeTypeInput", GoGetter: "EmployeeTypeInput"},
			_jsii_.MemberProperty{JsiiProperty: "externalUserState", GoGetter: "ExternalUserState"},
			_jsii_.MemberProperty{JsiiProperty: "faxNumber", GoGetter: "FaxNumber"},
			_jsii_.MemberProperty{JsiiProperty: "faxNumberInput", GoGetter: "FaxNumberInput"},
			_jsii_.MemberProperty{JsiiProperty: "forcePasswordChange", GoGetter: "ForcePasswordChange"},
			_jsii_.MemberProperty{JsiiProperty: "forcePasswordChangeInput", GoGetter: "ForcePasswordChangeInput"},
			_jsii_.MemberProperty{JsiiProperty: "forEach", GoGetter: "ForEach"},
			_jsii_.MemberProperty{JsiiProperty: "fqn", GoGetter: "Fqn"},
			_jsii_.MemberProperty{JsiiProperty: "friendlyUniqueId", GoGetter: "FriendlyUniqueId"},
			_jsii_.MemberMethod{JsiiMethod: "getAnyMapAttribute", GoMethod: "GetAnyMapAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getBooleanAttribute", GoMethod: "GetBooleanAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getBooleanMapAttribute", GoMethod: "GetBooleanMapAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getListAttribute", GoMethod: "GetListAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getNumberAttribute", GoMethod: "GetNumberAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getNumberListAttribute", GoMethod: "GetNumberListAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getNumberMapAttribute", GoMethod: "GetNumberMapAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getStringAttribute", GoMethod: "GetStringAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getStringMapAttribute", GoMethod: "GetStringMapAttribute"},
			_jsii_.MemberProperty{JsiiProperty: "givenName", GoGetter: "GivenName"},
			_jsii_.MemberProperty{JsiiProperty: "givenNameInput", GoGetter: "GivenNameInput"},
			_jsii_.MemberMethod{JsiiMethod: "hasResourceMove", GoMethod: "HasResourceMove"},
			_jsii_.MemberProperty{JsiiProperty: "id", GoGetter: "Id"},
			_jsii_.MemberProperty{JsiiProperty: "idInput", GoGetter: "IdInput"},
			_jsii_.MemberProperty{JsiiProperty: "imAddresses", GoGetter: "ImAddresses"},
			_jsii_.MemberMethod{JsiiMethod: "importFrom", GoMethod: "ImportFrom"},
			_jsii_.MemberMethod{JsiiMethod: "interpolationForAttribute", GoMethod: "InterpolationForAttribute"},
			_jsii_.MemberProperty{JsiiProperty: "jobTitle", GoGetter: "JobTitle"},
			_jsii_.MemberProperty{JsiiProperty: "jobTitleInput", GoGetter: "JobTitleInput"},
			_jsii_.MemberProperty{JsiiProperty: "lifecycle", GoGetter: "Lifecycle"},
			_jsii_.MemberProperty{JsiiProperty: "mail", GoGetter: "Mail"},
			_jsii_.MemberProperty{JsiiProperty: "mailInput", GoGetter: "MailInput"},
			_jsii_.MemberProperty{JsiiProperty: "mailNickname", GoGetter: "MailNickname"},
			_jsii_.MemberProperty{JsiiProperty: "mailNicknameInput", GoGetter: "MailNicknameInput"},
			_jsii_.MemberProperty{JsiiProperty: "managerId", GoGetter: "ManagerId"},
			_jsii_.MemberProperty{JsiiProperty: "managerIdInput", GoGetter: "ManagerIdInput"},
			_jsii_.MemberProperty{JsiiProperty: "mobilePhone", GoGetter: "MobilePhone"},
			_jsii_.MemberProperty{JsiiProperty: "mobilePhoneInput", GoGetter: "MobilePhoneInput"},
			_jsii_.MemberMethod{JsiiMethod: "moveFromId", GoMethod: "MoveFromId"},
			_jsii_.MemberMethod{JsiiMethod: "moveTo", GoMethod: "MoveTo"},
			_jsii_.MemberMethod{JsiiMethod: "moveToId", GoMethod: "MoveToId"},
			_jsii_.MemberProperty{JsiiProperty: "node", GoGetter: "Node"},
			_jsii_.MemberProperty{JsiiProperty: "objectId", GoGetter: "ObjectId"},
			_jsii_.MemberProperty{JsiiProperty: "officeLocation", GoGetter: "OfficeLocation"},
			_jsii_.MemberProperty{JsiiProperty: "officeLocationInput", GoGetter: "OfficeLocationInput"},
			_jsii_.MemberProperty{JsiiProperty: "onpremisesDistinguishedName", GoGetter: "OnpremisesDistinguishedName"},
			_jsii_.MemberProperty{JsiiProperty: "onpremisesDomainName", GoGetter: "OnpremisesDomainName"},
			_jsii_.MemberProperty{JsiiProperty: "onpremisesImmutableId", GoGetter: "OnpremisesImmutableId"},
			_jsii_.MemberProperty{JsiiProperty: "onpremisesImmutableIdInput", GoGetter: "OnpremisesImmutableIdInput"},
			_jsii_.MemberProperty{JsiiProperty: "onpremisesSamAccountName", GoGetter: "OnpremisesSamAccountName"},
			_jsii_.MemberProperty{JsiiProperty: "onpremisesSecurityIdentifier", GoGetter: "OnpremisesSecurityIdentifier"},
			_jsii_.MemberProperty{JsiiProperty: "onpremisesSyncEnabled", GoGetter: "OnpremisesSyncEnabled"},
			_jsii_.MemberProperty{JsiiProperty: "onpremisesUserPrincipalName", GoGetter: "OnpremisesUserPrincipalName"},
			_jsii_.MemberProperty{JsiiProperty: "otherMails", GoGetter: "OtherMails"},
			_jsii_.MemberProperty{JsiiProperty: "otherMailsInput", GoGetter: "OtherMailsInput"},
			_jsii_.MemberMethod{JsiiMethod: "overrideLogicalId", GoMethod: "OverrideLogicalId"},
			_jsii_.MemberProperty{JsiiProperty: "password", GoGetter: "Password"},
			_jsii_.MemberProperty{JsiiProperty: "passwordInput", GoGetter: "PasswordInput"},
			_jsii_.MemberProperty{JsiiProperty: "postalCode", GoGetter: "PostalCode"},
			_jsii_.MemberProperty{JsiiProperty: "postalCodeInput", GoGetter: "PostalCodeInput"},
			_jsii_.MemberProperty{JsiiProperty: "preferredLanguage", GoGetter: "PreferredLanguage"},
			_jsii_.MemberProperty{JsiiProperty: "preferredLanguageInput", GoGetter: "PreferredLanguageInput"},
			_jsii_.MemberProperty{JsiiProperty: "provider", GoGetter: "Provider"},
			_jsii_.MemberProperty{JsiiProperty: "provisioners", GoGetter: "Provisioners"},
			_jsii_.MemberProperty{JsiiProperty: "proxyAddresses", GoGetter: "ProxyAddresses"},
			_jsii_.MemberMethod{JsiiMethod: "putTimeouts", GoMethod: "PutTimeouts"},
			_jsii_.MemberProperty{JsiiProperty: "rawOverrides", GoGetter: "RawOverrides"},
			_jsii_.MemberMethod{JsiiMethod: "resetAccountEnabled", GoMethod: "ResetAccountEnabled"},
			_jsii_.MemberMethod{JsiiMethod: "resetAgeGroup", GoMethod: "ResetAgeGroup"},
			_jsii_.MemberMethod{JsiiMethod: "resetBusinessPhones", GoMethod: "ResetBusinessPhones"},
			_jsii_.MemberMethod{JsiiMethod: "resetCity", GoMethod: "ResetCity"},
			_jsii_.MemberMethod{JsiiMethod: "resetCompanyName", GoMethod: "ResetCompanyName"},
			_jsii_.MemberMethod{JsiiMethod: "resetConsentProvidedForMinor", GoMethod: "ResetConsentProvidedForMinor"},
			_jsii_.MemberMethod{JsiiMethod: "resetCostCenter", GoMethod: "ResetCostCenter"},
			_jsii_.MemberMethod{JsiiMethod: "resetCountry", GoMethod: "ResetCountry"},
			_jsii_.MemberMethod{JsiiMethod: "resetDepartment", GoMethod: "ResetDepartment"},
			_jsii_.MemberMethod{JsiiMethod: "resetDisablePasswordExpiration", GoMethod: "ResetDisablePasswordExpiration"},
			_jsii_.MemberMethod{JsiiMethod: "resetDisableStrongPassword", GoMethod: "ResetDisableStrongPassword"},
			_jsii_.MemberMethod{JsiiMethod: "resetDivision", GoMethod: "ResetDivision"},
			_jsii_.MemberMethod{JsiiMethod: "resetEmployeeId", GoMethod: "ResetEmployeeId"},
			_jsii_.MemberMethod{JsiiMethod: "resetEmployeeType", GoMethod: "ResetEmployeeType"},
			_jsii_.MemberMethod{JsiiMethod: "resetFaxNumber", GoMethod: "ResetFaxNumber"},
			_jsii_.MemberMethod{JsiiMethod: "resetForcePasswordChange", GoMethod: "ResetForcePasswordChange"},
			_jsii_.MemberMethod{JsiiMethod: "resetGivenName", GoMethod: "ResetGivenName"},
			_jsii_.MemberMethod{JsiiMethod: "resetId", GoMethod: "ResetId"},
			_jsii_.MemberMethod{JsiiMethod: "resetJobTitle", GoMethod: "ResetJobTitle"},
			_jsii_.MemberMethod{JsiiMethod: "resetMail", GoMethod: "ResetMail"},
			_jsii_.MemberMethod{JsiiMethod: "resetMailNickname", GoMethod: "ResetMailNickname"},
			_jsii_.MemberMethod{JsiiMethod: "resetManagerId", GoMethod: "ResetManagerId"},
			_jsii_.MemberMethod{JsiiMethod: "resetMobilePhone", GoMethod: "ResetMobilePhone"},
			_jsii_.MemberMethod{JsiiMethod: "resetOfficeLocation", GoMethod: "ResetOfficeLocation"},
			_jsii_.MemberMethod{JsiiMethod: "resetOnpremisesImmutableId", GoMethod: "ResetOnpremisesImmutableId"},
			_jsii_.MemberMethod{JsiiMethod: "resetOtherMails", GoMethod: "ResetOtherMails"},
			_jsii_.MemberMethod{JsiiMethod: "resetOverrideLogicalId", GoMethod: "ResetOverrideLogicalId"},
			_jsii_.MemberMethod{JsiiMethod: "resetPassword", GoMethod: "ResetPassword"},
			_jsii_.MemberMethod{JsiiMethod: "resetPostalCode", GoMethod: "ResetPostalCode"},
			_jsii_.MemberMethod{JsiiMethod: "resetPreferredLanguage", GoMethod: "ResetPreferredLanguage"},
			_jsii_.MemberMethod{JsiiMethod: "resetShowInAddressList", GoMethod: "ResetShowInAddressList"},
			_jsii_.MemberMethod{JsiiMethod: "resetState", GoMethod: "ResetState"},
			_jsii_.MemberMethod{JsiiMethod: "resetStreetAddress", GoMethod: "ResetStreetAddress"},
			_jsii_.MemberMethod{JsiiMethod: "resetSurname", GoMethod: "ResetSurname"},
			_jsii_.MemberMethod{JsiiMethod: "resetTimeouts", GoMethod: "ResetTimeouts"},
			_jsii_.MemberMethod{JsiiMethod: "resetUsageLocation", GoMethod: "ResetUsageLocation"},
			_jsii_.MemberProperty{JsiiProperty: "showInAddressList", GoGetter: "ShowInAddressList"},
			_jsii_.MemberProperty{JsiiProperty: "showInAddressListInput", GoGetter: "ShowInAddressListInput"},
			_jsii_.MemberProperty{JsiiProperty: "state", GoGetter: "State"},
			_jsii_.MemberProperty{JsiiProperty: "stateInput", GoGetter: "StateInput"},
			_jsii_.MemberProperty{JsiiProperty: "streetAddress", GoGetter: "StreetAddress"},
			_jsii_.MemberProperty{JsiiProperty: "streetAddressInput", GoGetter: "StreetAddressInput"},
			_jsii_.MemberProperty{JsiiProperty: "surname", GoGetter: "Surname"},
			_jsii_.MemberProperty{JsiiProperty: "surnameInput", GoGetter: "SurnameInput"},
			_jsii_.MemberMethod{JsiiMethod: "synthesizeAttributes", GoMethod: "SynthesizeAttributes"},
			_jsii_.MemberMethod{JsiiMethod: "synthesizeHclAttributes", GoMethod: "SynthesizeHclAttributes"},
			_jsii_.MemberProperty{JsiiProperty: "terraformGeneratorMetadata", GoGetter: "TerraformGeneratorMetadata"},
			_jsii_.MemberProperty{JsiiProperty: "terraformMetaArguments", GoGetter: "TerraformMetaArguments"},
			_jsii_.MemberProperty{JsiiProperty: "terraformResourceType", GoGetter: "TerraformResourceType"},
			_jsii_.MemberProperty{JsiiProperty: "timeouts", GoGetter: "Timeouts"},
			_jsii_.MemberProperty{JsiiProperty: "timeoutsInput", GoGetter: "TimeoutsInput"},
			_jsii_.MemberMethod{JsiiMethod: "toHclTerraform", GoMethod: "ToHclTerraform"},
			_jsii_.MemberMethod{JsiiMethod: "toMetadata", GoMethod: "ToMetadata"},
			_jsii_.MemberMethod{JsiiMethod: "toString", GoMethod: "ToString"},
			_jsii_.MemberMethod{JsiiMethod: "toTerraform", GoMethod: "ToTerraform"},
			_jsii_.MemberProperty{JsiiProperty: "usageLocation", GoGetter: "UsageLocation"},
			_jsii_.MemberProperty{JsiiProperty: "usageLocationInput", GoGetter: "UsageLocationInput"},
			_jsii_.MemberProperty{JsiiProperty: "userPrincipalName", GoGetter: "UserPrincipalName"},
			_jsii_.MemberProperty{JsiiProperty: "userPrincipalNameInput", GoGetter: "UserPrincipalNameInput"},
			_jsii_.MemberProperty{JsiiProperty: "userType", GoGetter: "UserType"},
		},
		func() interface{} {
			j := jsiiProxy_User{}
			_jsii_.InitJsiiProxy(&j.Type__cdktfTerraformResource)
			return &j
		},
	)
	_jsii_.RegisterStruct(
		"@cdktf/provider-azuread.user.UserConfig",
		reflect.TypeOf((*UserConfig)(nil)).Elem(),
	)
	_jsii_.RegisterStruct(
		"@cdktf/provider-azuread.user.UserTimeouts",
		reflect.TypeOf((*UserTimeouts)(nil)).Elem(),
	)
	_jsii_.RegisterClass(
		"@cdktf/provider-azuread.user.UserTimeoutsOutputReference",
		reflect.TypeOf((*UserTimeoutsOutputReference)(nil)).Elem(),
		[]_jsii_.Member{
			_jsii_.MemberProperty{JsiiProperty: "complexObjectIndex", GoGetter: "ComplexObjectIndex"},
			_jsii_.MemberProperty{JsiiProperty: "complexObjectIsFromSet", GoGetter: "ComplexObjectIsFromSet"},
			_jsii_.MemberMethod{JsiiMethod: "computeFqn", GoMethod: "ComputeFqn"},
			_jsii_.MemberProperty{JsiiProperty: "create", GoGetter: "Create"},
			_jsii_.MemberProperty{JsiiProperty: "createInput", GoGetter: "CreateInput"},
			_jsii_.MemberProperty{JsiiProperty: "creationStack", GoGetter: "CreationStack"},
			_jsii_.MemberProperty{JsiiProperty: "delete", GoGetter: "Delete"},
			_jsii_.MemberProperty{JsiiProperty: "deleteInput", GoGetter: "DeleteInput"},
			_jsii_.MemberProperty{JsiiProperty: "fqn", GoGetter: "Fqn"},
			_jsii_.MemberMethod{JsiiMethod: "getAnyMapAttribute", GoMethod: "GetAnyMapAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getBooleanAttribute", GoMethod: "GetBooleanAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getBooleanMapAttribute", GoMethod: "GetBooleanMapAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getListAttribute", GoMethod: "GetListAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getNumberAttribute", GoMethod: "GetNumberAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getNumberListAttribute", GoMethod: "GetNumberListAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getNumberMapAttribute", GoMethod: "GetNumberMapAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getStringAttribute", GoMethod: "GetStringAttribute"},
			_jsii_.MemberMethod{JsiiMethod: "getStringMapAttribute", GoMethod: "GetStringMapAttribute"},
			_jsii_.MemberProperty{JsiiProperty: "internalValue", GoGetter: "InternalValue"},
			_jsii_.MemberMethod{JsiiMethod: "interpolationAsList", GoMethod: "InterpolationAsList"},
			_jsii_.MemberMethod{JsiiMethod: "interpolationForAttribute", GoMethod: "InterpolationForAttribute"},
			_jsii_.MemberProperty{JsiiProperty: "read", GoGetter: "Read"},
			_jsii_.MemberProperty{JsiiProperty: "readInput", GoGetter: "ReadInput"},
			_jsii_.MemberMethod{JsiiMethod: "resetCreate", GoMethod: "ResetCreate"},
			_jsii_.MemberMethod{JsiiMethod: "resetDelete", GoMethod: "ResetDelete"},
			_jsii_.MemberMethod{JsiiMethod: "resetRead", GoMethod: "ResetRead"},
			_jsii_.MemberMethod{JsiiMethod: "resetUpdate", GoMethod: "ResetUpdate"},
			_jsii_.MemberMethod{JsiiMethod: "resolve", GoMethod: "Resolve"},
			_jsii_.MemberProperty{JsiiProperty: "terraformAttribute", GoGetter: "TerraformAttribute"},
			_jsii_.MemberProperty{JsiiProperty: "terraformResource", GoGetter: "TerraformResource"},
			_jsii_.MemberMethod{JsiiMethod: "toString", GoMethod: "ToString"},
			_jsii_.MemberProperty{JsiiProperty: "update", GoGetter: "Update"},
			_jsii_.MemberProperty{JsiiProperty: "updateInput", GoGetter: "UpdateInput"},
		},
		func() interface{} {
			j := jsiiProxy_UserTimeoutsOutputReference{}
			_jsii_.InitJsiiProxy(&j.Type__cdktfComplexObject)
			return &j
		},
	)
}
