/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * This action will assign contact category when a rule is triggered. * * @minItems 1 * @maxItems 1 */ export type AssignContactCategoryActions = [AssignContactCategoryAction]; /** * This action will send event bridge notification when a rule is triggered. * * @minItems 1 * @maxItems 1 */ export type EventBridgeActions = [EventBridgeAction]; /** * This action will generate a task when a rule is triggered. * * @minItems 1 * @maxItems 1 */ export type TaskActions = [TaskAction]; /** * The action will send notification when a rule is triggered. * * @minItems 1 * @maxItems 1 */ export type SendNotificationActions = [SendNotificationAction]; /** * The Amazon Resource Name (ARN) of the user. */ export type UserArn = string; /** * Resource Type definition for AWS:Connect::Rule */ export interface AwsConnectRule { /** * The name of the rule. */ Name: string; /** * The Amazon Resource Name (ARN) of the rule. */ RuleArn?: string; /** * The Amazon Resource Name (ARN) of the instance. */ InstanceArn: string; TriggerEventSource: RuleTriggerEventSource; /** * The conditions of a rule. */ Function: string; Actions: Actions; /** * The publish status of a rule, either draft or published. */ PublishStatus: "DRAFT" | "PUBLISHED"; /** * One or more tags. * * @maxItems 50 */ Tags?: Tag[]; } /** * The event source that triggers the rule. */ export interface RuleTriggerEventSource { /** * The name of event source. */ EventSourceName: | "OnPostCallAnalysisAvailable" | "OnRealTimeCallAnalysisAvailable" | "OnPostChatAnalysisAvailable" | "OnZendeskTicketCreate" | "OnZendeskTicketStatusUpdate" | "OnSalesforceCaseCreate"; /** * The Amazon Resource Name (ARN) for the AppIntegration association. */ IntegrationAssociationArn?: string; } /** * The list of actions that will be executed when a rule is triggered. */ export interface Actions { AssignContactCategoryActions?: AssignContactCategoryActions; EventBridgeActions?: EventBridgeActions; TaskActions?: TaskActions; SendNotificationActions?: SendNotificationActions; } /** * The definition for assigning contact category action. */ export interface AssignContactCategoryAction { [k: string]: unknown; } /** * The definition for event bridge action. */ export interface EventBridgeAction { /** * The name of the event bridge action. */ Name: string; } /** * The definition of task action. */ export interface TaskAction { /** * The name which appears in the agent's Contact Control Panel (CCP). */ Name: string; /** * The description which appears in the agent's Contact Control Panel (CCP). */ Description?: string; /** * The Amazon Resource Name (ARN) of the contact flow. */ ContactFlowArn: string; /** * A formatted URL that is shown to an agent in the Contact Control Panel (CCP). */ References?: { [k: string]: Reference; }; } /** * A contact reference. * * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^(?=.{1,4096}$).+$". */ export interface Reference { Value: string; Type: "URL" | "ATTACHMENT" | "NUMBER" | "STRING" | "DATE" | "EMAIL"; } /** * The definition for sending notification action. */ export interface SendNotificationAction { /** * The means of delivery. */ DeliveryMethod: "EMAIL"; /** * The subject of notification. */ Subject?: string; /** * The content of notification. */ Content: string; /** * The type of content. */ ContentType: "PLAIN_TEXT"; Recipient: NotificationRecipientType; } /** * The type of notification recipient. */ export interface NotificationRecipientType { /** * The collection of recipients who are identified by user tags */ UserTags?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^(?=.{1,128}$).+$". */ [k: string]: string; }; /** * The list of recipients by user arns. * * @minItems 1 * @maxItems 5 */ UserArns?: | [UserArn] | [UserArn, UserArn] | [UserArn, UserArn, UserArn] | [UserArn, UserArn, UserArn, UserArn] | [UserArn, UserArn, UserArn, UserArn, UserArn]; } /** * A key-value pair to associate with a resource. */ export interface Tag { /** * The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. */ Key: string; /** * The value for the tag. You can specify a value that's 1 to 256 characters in length. */ Value: string; }