export interface AuthorizationHeader { name: string; value: string; } /** * Represents binding of data source for the service endpoint request. */ export interface DataSourceBindingBase { /** * Pagination format supported by this data source(ContinuationToken/SkipTop). */ callbackContextTemplate: string; /** * Subsequent calls needed? */ callbackRequiredTemplate: string; /** * Gets or sets the name of the data source. */ dataSourceName: string; /** * Gets or sets the endpoint Id. */ endpointId: string; /** * Gets or sets the url of the service endpoint. */ endpointUrl: string; /** * Gets or sets the authorization headers. */ headers: AuthorizationHeader[]; /** * Defines the initial value of the query params */ initialContextTemplate: string; /** * Gets or sets the parameters for the data source. */ parameters: { [key: string]: string; }; /** * Gets or sets http request body */ requestContent: string; /** * Gets or sets http request verb */ requestVerb: string; /** * Gets or sets the result selector. */ resultSelector: string; /** * Gets or sets the result template. */ resultTemplate: string; /** * Gets or sets the target of the data source. */ target: string; } export interface ProcessParameters { dataSourceBindings: DataSourceBindingBase[]; inputs: TaskInputDefinitionBase[]; sourceDefinitions: TaskSourceDefinitionBase[]; } export interface TaskInputDefinitionBase { aliases: string[]; defaultValue: string; groupName: string; helpMarkDown: string; label: string; name: string; options: { [key: string]: string; }; properties: { [key: string]: string; }; required: boolean; type: string; validation: TaskInputValidation; visibleRule: string; } export interface TaskInputValidation { /** * Conditional expression */ expression: string; /** * Message explaining how user can correct if validation fails */ message: string; } export interface TaskSourceDefinitionBase { authKey: string; endpoint: string; keySelector: string; selector: string; target: string; }