import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface RoutingEmailRouteConfig extends cdktf.TerraformMetaArguments { /** * Control if multiple actions are allowed on this route. When true the disconnect has to be done manually. When false a conversation will be disconnected by the system after every action. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#allow_multiple_actions RoutingEmailRoute#allow_multiple_actions} */ readonly allowMultipleActions?: boolean | cdktf.IResolvable; /** * ID of the routing domain such as: 'example.com'. Changing the domain_id attribute will cause the email_route object to be dropped and recreated with a new ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#domain_id RoutingEmailRoute#domain_id} */ readonly domainId: string; /** * The flow to use for processing the email. This should not be set if a queue_id is specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#flow_id RoutingEmailRoute#flow_id} */ readonly flowId?: string; /** * The sender email to use for outgoing replies. This should not be set if reply_email_address is specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#from_email RoutingEmailRoute#from_email} */ readonly fromEmail?: string; /** * The sender name to use for outgoing replies. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#from_name RoutingEmailRoute#from_name} */ readonly fromName: string; /** * The configuration to indicate how the history of a conversation has to be included in a draft. Defaults to `Optional`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#history_inclusion RoutingEmailRoute#history_inclusion} */ readonly historyInclusion?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#id RoutingEmailRoute#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 language to use for routing. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#language_id RoutingEmailRoute#language_id} */ readonly languageId?: string; /** * The search pattern that the mailbox name should match. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#pattern RoutingEmailRoute#pattern} */ readonly pattern: string; /** * The priority to use for routing. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#priority RoutingEmailRoute#priority} */ readonly priority?: number; /** * The queue to route the emails to. This should not be set if a flow_id is specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#queue_id RoutingEmailRoute#queue_id} */ readonly queueId?: string; /** * The skills to use for routing. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#skill_ids RoutingEmailRoute#skill_ids} */ readonly skillIds?: string[]; /** * The flow to use for processing inbound emails that have been marked as spam. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#spam_flow_id RoutingEmailRoute#spam_flow_id} */ readonly spamFlowId?: string; /** * auto_bcc block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#auto_bcc RoutingEmailRoute#auto_bcc} */ readonly autoBcc?: RoutingEmailRouteAutoBcc[] | cdktf.IResolvable; /** * reply_email_address block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#reply_email_address RoutingEmailRoute#reply_email_address} */ readonly replyEmailAddress?: RoutingEmailRouteReplyEmailAddress; } export interface RoutingEmailRouteAutoBcc { /** * Email address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#email RoutingEmailRoute#email} */ readonly email: string; /** * Name associated with the email. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#name RoutingEmailRoute#name} */ readonly name?: string; } export declare function routingEmailRouteAutoBccToTerraform(struct?: RoutingEmailRouteAutoBcc | cdktf.IResolvable): any; export declare function routingEmailRouteAutoBccToHclTerraform(struct?: RoutingEmailRouteAutoBcc | cdktf.IResolvable): any; export declare class RoutingEmailRouteAutoBccOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): RoutingEmailRouteAutoBcc | cdktf.IResolvable | undefined; set internalValue(value: RoutingEmailRouteAutoBcc | cdktf.IResolvable | undefined); private _email?; get email(): string; set email(value: string); get emailInput(): string; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; } export declare class RoutingEmailRouteAutoBccList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: RoutingEmailRouteAutoBcc[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): RoutingEmailRouteAutoBccOutputReference; } export interface RoutingEmailRouteReplyEmailAddress { /** * Domain of the route. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#domain_id RoutingEmailRoute#domain_id} */ readonly domainId?: string; /** * ID of the route. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#route_id RoutingEmailRoute#route_id} */ readonly routeId?: string; /** * Use this route as the reply email address. If true you will use the route id for this resource as the reply and you * can not set a route. If you set this value to false (or leave the attribute off) you must set a route id and matching domain. Defaults to `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#self_reference_route RoutingEmailRoute#self_reference_route} */ readonly selfReferenceRoute?: boolean | cdktf.IResolvable; } export declare function routingEmailRouteReplyEmailAddressToTerraform(struct?: RoutingEmailRouteReplyEmailAddressOutputReference | RoutingEmailRouteReplyEmailAddress): any; export declare function routingEmailRouteReplyEmailAddressToHclTerraform(struct?: RoutingEmailRouteReplyEmailAddressOutputReference | RoutingEmailRouteReplyEmailAddress): any; export declare class RoutingEmailRouteReplyEmailAddressOutputReference 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(): RoutingEmailRouteReplyEmailAddress | undefined; set internalValue(value: RoutingEmailRouteReplyEmailAddress | undefined); private _domainId?; get domainId(): string; set domainId(value: string); resetDomainId(): void; get domainIdInput(): string; private _routeId?; get routeId(): string; set routeId(value: string); resetRouteId(): void; get routeIdInput(): string; private _selfReferenceRoute?; get selfReferenceRoute(): boolean | cdktf.IResolvable; set selfReferenceRoute(value: boolean | cdktf.IResolvable); resetSelfReferenceRoute(): void; get selfReferenceRouteInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route genesyscloud_routing_email_route} */ export declare class RoutingEmailRoute extends cdktf.TerraformResource { static readonly tfResourceType = "genesyscloud_routing_email_route"; /** * Generates CDKTF code for importing a RoutingEmailRoute 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 RoutingEmailRoute to import * @param importFromId The id of the existing RoutingEmailRoute that should be imported. Refer to the {@link https://registry.terraform.io/providers/mypurecloud/genesyscloud/1.73.0/docs/resources/routing_email_route#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the RoutingEmailRoute 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/routing_email_route genesyscloud_routing_email_route} 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 RoutingEmailRouteConfig */ constructor(scope: Construct, id: string, config: RoutingEmailRouteConfig); private _allowMultipleActions?; get allowMultipleActions(): boolean | cdktf.IResolvable; set allowMultipleActions(value: boolean | cdktf.IResolvable); resetAllowMultipleActions(): void; get allowMultipleActionsInput(): any; private _domainId?; get domainId(): string; set domainId(value: string); get domainIdInput(): string; private _flowId?; get flowId(): string; set flowId(value: string); resetFlowId(): void; get flowIdInput(): string; private _fromEmail?; get fromEmail(): string; set fromEmail(value: string); resetFromEmail(): void; get fromEmailInput(): string; private _fromName?; get fromName(): string; set fromName(value: string); get fromNameInput(): string; private _historyInclusion?; get historyInclusion(): string; set historyInclusion(value: string); resetHistoryInclusion(): void; get historyInclusionInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _languageId?; get languageId(): string; set languageId(value: string); resetLanguageId(): void; get languageIdInput(): string; private _pattern?; get pattern(): string; set pattern(value: string); get patternInput(): string; private _priority?; get priority(): number; set priority(value: number); resetPriority(): void; get priorityInput(): number; private _queueId?; get queueId(): string; set queueId(value: string); resetQueueId(): void; get queueIdInput(): string; private _skillIds?; get skillIds(): string[]; set skillIds(value: string[]); resetSkillIds(): void; get skillIdsInput(): string[]; private _spamFlowId?; get spamFlowId(): string; set spamFlowId(value: string); resetSpamFlowId(): void; get spamFlowIdInput(): string; private _autoBcc; get autoBcc(): RoutingEmailRouteAutoBccList; putAutoBcc(value: RoutingEmailRouteAutoBcc[] | cdktf.IResolvable): void; resetAutoBcc(): void; get autoBccInput(): any; private _replyEmailAddress; get replyEmailAddress(): RoutingEmailRouteReplyEmailAddressOutputReference; putReplyEmailAddress(value: RoutingEmailRouteReplyEmailAddress): void; resetReplyEmailAddress(): void; get replyEmailAddressInput(): RoutingEmailRouteReplyEmailAddress; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }