/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ 'use strict'; import { NotificationType, RequestType } from 'vscode-languageclient'; import { ITelemetryEventProperties, ITelemetryEventMeasures } from './telemetry'; import * as sqlops from 'sqlops'; // ------------------------------- < Telemetry Sent Event > ------------------------------------ /** * Event sent when the language service send a telemetry event */ export namespace TelemetryNotification { export const type = new NotificationType('telemetry/sqlevent'); } /** * Update event parameters */ export class TelemetryParams { public params: { eventName: string; properties: ITelemetryEventProperties; measures: ITelemetryEventMeasures; }; } // ------------------------------- ---------------------------------- // ------------------------------- < Agent Management > ------------------------------------ // Job management parameters export interface AgentJobsParams { ownerUri: string; jobId: string; } export interface AgentJobHistoryParams { ownerUri: string; jobId: string; jobName: string; } export interface AgentJobActionParams { ownerUri: string; jobName: string; action: string; } export interface CreateAgentJobParams { ownerUri: string; job: sqlops.AgentJobInfo; } export interface UpdateAgentJobParams { ownerUri: string; originalJobName: string; job: sqlops.AgentJobInfo; } export interface DeleteAgentJobParams { ownerUri: string; job: sqlops.AgentJobInfo; } export interface AgentJobDefaultsParams { ownerUri: string; } // Job Step management parameters export interface CreateAgentJobStepParams { ownerUri: string; step: sqlops.AgentJobStepInfo; } export interface UpdateAgentJobStepParams { ownerUri: string; originalJobStepName: string; step: sqlops.AgentJobStepInfo; } export interface DeleteAgentJobStepParams { ownerUri: string; step: sqlops.AgentJobStepInfo; } // Alert management parameters export interface AgentAlertsParams { ownerUri: string; } export interface CreateAgentAlertParams { ownerUri: string; alert: sqlops.AgentAlertInfo; } export interface UpdateAgentAlertParams { ownerUri: string; originalAlertName: string; alert: sqlops.AgentAlertInfo; } export interface DeleteAgentAlertParams { ownerUri: string; alert: sqlops.AgentAlertInfo; } // Operator management parameters export interface AgentOperatorsParams { ownerUri: string; } export interface CreateAgentOperatorParams { ownerUri: string; operator: sqlops.AgentOperatorInfo; } export interface UpdateAgentOperatorParams { ownerUri: string; originalOperatorName: string; operator: sqlops.AgentOperatorInfo; } export interface DeleteAgentOperatorParams { ownerUri: string; operator: sqlops.AgentOperatorInfo; } // Proxy management parameters export interface AgentProxiesParams { ownerUri: string; } export interface CreateAgentProxyParams { ownerUri: string; proxy: sqlops.AgentProxyInfo; } export interface UpdateAgentProxyParams { ownerUri: string; originalProxyName: string; proxy: sqlops.AgentProxyInfo; } export interface DeleteAgentProxyParams { ownerUri: string; proxy: sqlops.AgentProxyInfo; } // Agent Credentials parameters export interface GetCredentialsParams { ownerUri: string; } // Job Schedule management parameters export interface AgentJobScheduleParams { ownerUri: string; } export interface CreateAgentJobScheduleParams { ownerUri: string; schedule: sqlops.AgentJobScheduleInfo; } export interface UpdateAgentJobScheduleParams { ownerUri: string; originalScheduleName: string; schedule: sqlops.AgentJobScheduleInfo; } export interface DeleteAgentJobScheduleParams { ownerUri: string; schedule: sqlops.AgentJobScheduleInfo; } // Agent Job management requests export namespace AgentJobsRequest { export const type = new RequestType('agent/jobs'); } export namespace AgentJobHistoryRequest { export const type = new RequestType('agent/jobhistory'); } export namespace AgentJobActionRequest { export const type = new RequestType('agent/jobaction'); } export namespace CreateAgentJobRequest { export const type = new RequestType('agent/createjob'); } export namespace UpdateAgentJobRequest { export const type = new RequestType('agent/updatejob'); } export namespace DeleteAgentJobRequest { export const type = new RequestType('agent/deletejob'); } export namespace AgentJobDefaultsRequest { export const type = new RequestType('agent/jobdefaults'); } // Job Step requests export namespace CreateAgentJobStepRequest { export const type = new RequestType('agent/createjobstep'); } export namespace UpdateAgentJobStepRequest { export const type = new RequestType('agent/updatejobstep'); } export namespace DeleteAgentJobStepRequest { export const type = new RequestType('agent/deletejobstep'); } // Alerts requests export namespace AgentAlertsRequest { export const type = new RequestType('agent/alerts'); } export namespace CreateAgentAlertRequest { export const type = new RequestType('agent/createalert'); } export namespace UpdateAgentAlertRequest { export const type = new RequestType('agent/updatealert'); } export namespace DeleteAgentAlertRequest { export const type = new RequestType('agent/deletealert'); } // Operators requests export namespace AgentOperatorsRequest { export const type = new RequestType('agent/operators'); } export namespace CreateAgentOperatorRequest { export const type = new RequestType('agent/createoperator'); } export namespace UpdateAgentOperatorRequest { export const type = new RequestType('agent/updateoperator'); } export namespace DeleteAgentOperatorRequest { export const type = new RequestType('agent/deleteoperator'); } // Proxies requests export namespace AgentProxiesRequest { export const type = new RequestType('agent/proxies'); } export namespace CreateAgentProxyRequest { export const type = new RequestType('agent/createproxy'); } export namespace UpdateAgentProxyRequest { export const type = new RequestType('agent/updateproxy'); } export namespace DeleteAgentProxyRequest { export const type = new RequestType('agent/deleteproxy'); } // Agent Credentials request export namespace AgentCredentialsRequest { export const type = new RequestType('security/credentials'); } // Job Schedules requests export namespace AgentJobSchedulesRequest { export const type = new RequestType('agent/schedules'); } export namespace CreateAgentJobScheduleRequest { export const type = new RequestType('agent/createschedule'); } export namespace UpdateAgentJobScheduleRequest { export const type = new RequestType('agent/updateschedule'); } export namespace DeleteAgentJobScheduleRequest { export const type = new RequestType('agent/deleteschedule'); } // ------------------------------- < Agent Management > ------------------------------------