import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface OrganizationAuthenticationSettingsConfig extends cdktf.TerraformMetaArguments { /** * The list of domains that will be allowed to embed Genesys Cloud applications. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#domain_allowlist OrganizationAuthenticationSettings#domain_allowlist} */ readonly domainAllowlist?: string[]; /** * Indicates whether the domain allowlist is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#domain_allowlist_enabled OrganizationAuthenticationSettings#domain_allowlist_enabled} */ readonly domainAllowlistEnabled?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#id OrganizationAuthenticationSettings#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 list of IP addresses that will be allowed to authenticate with Genesys Cloud. Warning: Changing these will result in only allowing specified ip Addresses to log in and will invalidate credentials with a different ip address * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#ip_address_allowlist OrganizationAuthenticationSettings#ip_address_allowlist} */ readonly ipAddressAllowlist?: string[]; /** * Indicates whether multi-factor authentication is required. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#multifactor_authentication_required OrganizationAuthenticationSettings#multifactor_authentication_required} */ readonly multifactorAuthenticationRequired?: boolean | cdktf.IResolvable; /** * password_requirements block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#password_requirements OrganizationAuthenticationSettings#password_requirements} */ readonly passwordRequirements?: OrganizationAuthenticationSettingsPasswordRequirements; /** * timeout_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#timeout_settings OrganizationAuthenticationSettings#timeout_settings} */ readonly timeoutSettings?: OrganizationAuthenticationSettingsTimeoutSettings; } export interface OrganizationAuthenticationSettingsPasswordRequirements { /** * Length of time (in days) before a password must be changed * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#expiration_days OrganizationAuthenticationSettings#expiration_days} */ readonly expirationDays?: number; /** * Minimum age of the password (in seconds) before it can be changed * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#minimum_age_seconds OrganizationAuthenticationSettings#minimum_age_seconds} */ readonly minimumAgeSeconds?: number; /** * The minimum number of numerals (0-9) that must be included in passwords Defaults to `1`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#minimum_digits OrganizationAuthenticationSettings#minimum_digits} */ readonly minimumDigits?: number; /** * The minimum character length for passwords Defaults to `8`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#minimum_length OrganizationAuthenticationSettings#minimum_length} */ readonly minimumLength?: number; /** * The minimum number of characters required for passwords Defaults to `0`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#minimum_letters OrganizationAuthenticationSettings#minimum_letters} */ readonly minimumLetters?: number; /** * The minimum number of lower case letters that must be included in passwords Defaults to `1`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#minimum_lower OrganizationAuthenticationSettings#minimum_lower} */ readonly minimumLower?: number; /** * The minimum number of special characters that must be included in passwords Defaults to `1`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#minimum_specials OrganizationAuthenticationSettings#minimum_specials} */ readonly minimumSpecials?: number; /** * The minimum number of upper case letters that must be included in passwords Defaults to `1`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#minimum_upper OrganizationAuthenticationSettings#minimum_upper} */ readonly minimumUpper?: number; } export declare function organizationAuthenticationSettingsPasswordRequirementsToTerraform(struct?: OrganizationAuthenticationSettingsPasswordRequirementsOutputReference | OrganizationAuthenticationSettingsPasswordRequirements): any; export declare function organizationAuthenticationSettingsPasswordRequirementsToHclTerraform(struct?: OrganizationAuthenticationSettingsPasswordRequirementsOutputReference | OrganizationAuthenticationSettingsPasswordRequirements): any; export declare class OrganizationAuthenticationSettingsPasswordRequirementsOutputReference 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(): OrganizationAuthenticationSettingsPasswordRequirements | undefined; set internalValue(value: OrganizationAuthenticationSettingsPasswordRequirements | undefined); private _expirationDays?; get expirationDays(): number; set expirationDays(value: number); resetExpirationDays(): void; get expirationDaysInput(): number; private _minimumAgeSeconds?; get minimumAgeSeconds(): number; set minimumAgeSeconds(value: number); resetMinimumAgeSeconds(): void; get minimumAgeSecondsInput(): number; private _minimumDigits?; get minimumDigits(): number; set minimumDigits(value: number); resetMinimumDigits(): void; get minimumDigitsInput(): number; private _minimumLength?; get minimumLength(): number; set minimumLength(value: number); resetMinimumLength(): void; get minimumLengthInput(): number; private _minimumLetters?; get minimumLetters(): number; set minimumLetters(value: number); resetMinimumLetters(): void; get minimumLettersInput(): number; private _minimumLower?; get minimumLower(): number; set minimumLower(value: number); resetMinimumLower(): void; get minimumLowerInput(): number; private _minimumSpecials?; get minimumSpecials(): number; set minimumSpecials(value: number); resetMinimumSpecials(): void; get minimumSpecialsInput(): number; private _minimumUpper?; get minimumUpper(): number; set minimumUpper(value: number); resetMinimumUpper(): void; get minimumUpperInput(): number; } export interface OrganizationAuthenticationSettingsTimeoutSettings { /** * Indicates whether the Token Timeout should be enabled or disabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#enable_idle_token_timeout OrganizationAuthenticationSettings#enable_idle_token_timeout} */ readonly enableIdleTokenTimeout: boolean | cdktf.IResolvable; /** * Token timeout length in seconds. Must be at least 5 minutes and 8 hours or less (if HIPAA is disabled) or 15 minutes or less (if HIPAA is enabled). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#idle_token_timeout_seconds OrganizationAuthenticationSettings#idle_token_timeout_seconds} */ readonly idleTokenTimeoutSeconds: number; } export declare function organizationAuthenticationSettingsTimeoutSettingsToTerraform(struct?: OrganizationAuthenticationSettingsTimeoutSettingsOutputReference | OrganizationAuthenticationSettingsTimeoutSettings): any; export declare function organizationAuthenticationSettingsTimeoutSettingsToHclTerraform(struct?: OrganizationAuthenticationSettingsTimeoutSettingsOutputReference | OrganizationAuthenticationSettingsTimeoutSettings): any; export declare class OrganizationAuthenticationSettingsTimeoutSettingsOutputReference 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(): OrganizationAuthenticationSettingsTimeoutSettings | undefined; set internalValue(value: OrganizationAuthenticationSettingsTimeoutSettings | undefined); private _enableIdleTokenTimeout?; get enableIdleTokenTimeout(): boolean | cdktf.IResolvable; set enableIdleTokenTimeout(value: boolean | cdktf.IResolvable); get enableIdleTokenTimeoutInput(): any; private _idleTokenTimeoutSeconds?; get idleTokenTimeoutSeconds(): number; set idleTokenTimeoutSeconds(value: number); get idleTokenTimeoutSecondsInput(): number; } /** * Represents a {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings genesyscloud_organization_authentication_settings} */ export declare class OrganizationAuthenticationSettings extends cdktf.TerraformResource { static readonly tfResourceType = "genesyscloud_organization_authentication_settings"; /** * Generates CDKTF code for importing a OrganizationAuthenticationSettings 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 OrganizationAuthenticationSettings to import * @param importFromId The id of the existing OrganizationAuthenticationSettings that should be imported. Refer to the {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the OrganizationAuthenticationSettings to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/organization_authentication_settings genesyscloud_organization_authentication_settings} 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 OrganizationAuthenticationSettingsConfig = {} */ constructor(scope: Construct, id: string, config?: OrganizationAuthenticationSettingsConfig); private _domainAllowlist?; get domainAllowlist(): string[]; set domainAllowlist(value: string[]); resetDomainAllowlist(): void; get domainAllowlistInput(): string[]; private _domainAllowlistEnabled?; get domainAllowlistEnabled(): boolean | cdktf.IResolvable; set domainAllowlistEnabled(value: boolean | cdktf.IResolvable); resetDomainAllowlistEnabled(): void; get domainAllowlistEnabledInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _ipAddressAllowlist?; get ipAddressAllowlist(): string[]; set ipAddressAllowlist(value: string[]); resetIpAddressAllowlist(): void; get ipAddressAllowlistInput(): string[]; private _multifactorAuthenticationRequired?; get multifactorAuthenticationRequired(): boolean | cdktf.IResolvable; set multifactorAuthenticationRequired(value: boolean | cdktf.IResolvable); resetMultifactorAuthenticationRequired(): void; get multifactorAuthenticationRequiredInput(): any; private _passwordRequirements; get passwordRequirements(): OrganizationAuthenticationSettingsPasswordRequirementsOutputReference; putPasswordRequirements(value: OrganizationAuthenticationSettingsPasswordRequirements): void; resetPasswordRequirements(): void; get passwordRequirementsInput(): OrganizationAuthenticationSettingsPasswordRequirements; private _timeoutSettings; get timeoutSettings(): OrganizationAuthenticationSettingsTimeoutSettingsOutputReference; putTimeoutSettings(value: OrganizationAuthenticationSettingsTimeoutSettings): void; resetTimeoutSettings(): void; get timeoutSettingsInput(): OrganizationAuthenticationSettingsTimeoutSettings; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }