import { RegionType } from '../interface'; export declare type EventBusType = 'Cloud' | 'Custom'; export declare type EventConnectionType = 'apigw' | 'tdmq'; export declare type ScfVersionType = '$DEFAULT' | '$LATEST'; export interface AccountLimitResponse { RulePerEventBusLimit: number; ConnectionPerEventBusLimit: number; EventBusLimit: number; TargetPerRuleLimit: number; } export interface EventBusBaseInfo { eventBusName?: string; type?: EventBusType; description?: string; } export interface EventBusCreateOutputs { type: string; eventBusId?: string; eventBusName?: string; description?: string; } export interface EventBusDetail { EventBusName?: string; Type?: EventBusType; Description?: string; ModTime: number; ClsTopicId?: string; AddTime: number; ClsLogsetId: string; EventBusId: string; } export interface EventBusUpdateInputs { eventBusId?: string; eventBusName?: string; description?: string; } export interface EventBusListResponse { EventBuses: EventBusDetail[]; TotalCount: number; } export interface EventBusCreateOrUpdateOutputs extends EventBusBaseInfo { eventBusId?: string; } export interface ConnectionAPIGWParams { Protocol: string; Method: string; } export interface EventConnectionDescription { ResourceDescription: string; APIGWParams: ConnectionAPIGWParams; } export interface EventConnectionCreateInputs { eventBusId: string; connectionName: string; connectionDescription?: { resourceDescription?: string; gwParams?: { Protocol: string; Method: string; }; }; uin?: string; description?: string; enable?: boolean; type?: string; } export interface EventConnectionDetail { EventBusId: string; ConnectionName: string; ConnectionDescription: EventConnectionDescription; Description?: string; Enable?: boolean; Type?: string; ConnectionId: string; Status: string; } export interface EventConnectionListResponse { Connections: EventConnectionDetail[]; TotalCount: number; } export interface EventConnectionUpdateInfo { eventBusId: string; connectionId: string; connectionName?: string; description?: string; enable: boolean; gwParams?: { Protocol: string; Method: string; }; } export interface EventConnectionOutputs { connectionId?: string; connectionDescription?: EventConnectionDescription; connectionName?: string; type?: string; } interface TargetBrief { TargetId: string; Type: string; } export interface EventRuleDetail { Status: string; ModTime: number; Enable: boolean; Description: string; RuleId: string; AddTime: string; EventPattern: string; EventBusId: string; RuleName: string; Type: string; Targets: TargetBrief[]; } export interface EventRuleListResponse { Rules: EventRuleDetail[]; TotalCount: number; } export interface EventRuleCreateInputs { ruleName: string; eventPattern: string; eventBusId: string; enable?: boolean; description?: string; type?: EventBusType; } export interface EventRuleOutputs { ruleId: string; eventBusId: string; ruleName: string; eventPattern: string; type?: string; description?: string; enable?: boolean; } export interface EventRuleUpdateInfo { ruleId: string; eventBusId: string; eventPattern: string; ruleName: string; description?: string; enable?: boolean; } interface EventTargetDetail { Type: string; EventBusId: string; TargetId: string; TargetDescription: { ResourceDescription: string; }; RuleId: string; } export interface EventTargetListResponse { Targets: EventTargetDetail[]; TotalCount: number; } export interface EventTargetCreateInputs { eventBusId: string; type: string; targetDescription: { resourceDescription: string; }; ruleId: string; } export interface EventTargetOutputs { targetId: string; ruleId: string; type: string; targetDescription: { resourceDescription: string; }; } export interface EventConnectionItem { eventBusId?: string; connectionId?: string; connectionName: string; connectionDescription?: { serviceId: string; gwParams: { Protocol: string; Method: string; }; }; description?: string; enable?: boolean; type?: EventConnectionType; } export interface EventTargetItem { targetId?: string; type?: string; functionName: string; functionNamespace: string; functionVersion: ScfVersionType; } interface EventRuleItem { ruleId?: string; ruleName?: string; eventPattern?: string; enable?: boolean; description?: string; type?: EventBusType; targets?: EventTargetItem[]; } export interface EbDeployInputs extends EventBusBaseInfo { uin: string; region: RegionType; eventBusId?: string; connections?: EventConnectionItem[]; rules?: EventRuleItem[]; } export interface EventRuleDeployOutputs { ruleId: string; ruleName: string; eventPattern: string; type: EventBusType; description?: string; targets: EventTargetOutputs[]; } export interface EbDeployOutputs extends EventBusBaseInfo { uin: string; region: RegionType; eventBusId: string; connections: EventConnectionOutputs[]; rules: EventRuleDeployOutputs[]; } export {};