UNPKG

13.1 kBTypeScriptView Raw
1import IdentitiesInterfaces = require("../interfaces/IdentitiesInterfaces");
2import VSSInterfaces = require("../interfaces/common/VSSInterfaces");
3export interface CategorizedWebApiTeams {
4 /**
5 * Teams that the user is a member of.
6 */
7 myTeams?: WebApiTeam[];
8 /**
9 * Teams that the user can read but is not member of.
10 */
11 otherReadableTeams?: WebApiTeam[];
12}
13export declare enum ConnectedServiceKind {
14 /**
15 * Custom or unknown service
16 */
17 Custom = 0,
18 /**
19 * Azure Subscription
20 */
21 AzureSubscription = 1,
22 /**
23 * Chef Connection
24 */
25 Chef = 2,
26 /**
27 * Generic Connection
28 */
29 Generic = 3
30}
31export interface IdentityData {
32 identityIds?: string[];
33}
34export interface Process extends ProcessReference {
35 _links?: any;
36 description?: string;
37 id?: string;
38 isDefault?: boolean;
39 type?: ProcessType;
40}
41/**
42 * Type of process customization on a collection.
43 */
44export declare enum ProcessCustomizationType {
45 /**
46 * Process customization can't be computed.
47 */
48 Unknown = -1,
49 /**
50 * Customization based on project-scoped xml customization
51 */
52 Xml = 0,
53 /**
54 * Customization based on process inheritance
55 */
56 Inherited = 1
57}
58export interface ProcessReference {
59 name?: string;
60 url?: string;
61}
62export declare enum ProcessType {
63 System = 0,
64 Custom = 1,
65 Inherited = 2
66}
67/**
68 * Contains the image data for project avatar.
69 */
70export interface ProjectAvatar {
71 /**
72 * The avatar image represented as a byte array.
73 */
74 image?: number[];
75}
76export declare enum ProjectChangeType {
77 Modified = 0,
78 Deleted = 1,
79 Added = 2
80}
81/**
82 * Contains information describing a project.
83 */
84export interface ProjectInfo {
85 /**
86 * The abbreviated name of the project.
87 */
88 abbreviation?: string;
89 /**
90 * The description of the project.
91 */
92 description?: string;
93 /**
94 * The id of the project.
95 */
96 id?: string;
97 /**
98 * The time that this project was last updated.
99 */
100 lastUpdateTime?: Date;
101 /**
102 * The name of the project.
103 */
104 name?: string;
105 /**
106 * A set of name-value pairs storing additional property data related to the project.
107 */
108 properties?: ProjectProperty[];
109 /**
110 * The current revision of the project.
111 */
112 revision?: number;
113 /**
114 * The current state of the project.
115 */
116 state?: any;
117 /**
118 * A Uri that can be used to refer to this project.
119 */
120 uri?: string;
121 /**
122 * The version number of the project.
123 */
124 version?: number;
125 /**
126 * Indicates whom the project is visible to.
127 */
128 visibility?: ProjectVisibility;
129}
130export interface ProjectMessage {
131 project?: ProjectInfo;
132 projectChangeType?: ProjectChangeType;
133 shouldInvalidateSystemStore?: boolean;
134}
135export interface ProjectProperties {
136 /**
137 * The team project Id
138 */
139 projectId?: string;
140 /**
141 * The collection of team project properties
142 */
143 properties?: ProjectProperty[];
144}
145/**
146 * A named value associated with a project.
147 */
148export interface ProjectProperty {
149 /**
150 * The name of the property.
151 */
152 name?: string;
153 /**
154 * The value of the property.
155 */
156 value?: any;
157}
158export declare enum ProjectVisibility {
159 Unchanged = -1,
160 /**
161 * The project is only visible to users with explicit access.
162 */
163 Private = 0,
164 /**
165 * Enterprise level project visibility
166 */
167 Organization = 1,
168 /**
169 * The project is visible to all.
170 */
171 Public = 2,
172 SystemPrivate = 3
173}
174export interface Proxy {
175 authorization?: ProxyAuthorization;
176 /**
177 * This is a description string
178 */
179 description?: string;
180 /**
181 * The friendly name of the server
182 */
183 friendlyName?: string;
184 globalDefault?: boolean;
185 /**
186 * This is a string representation of the site that the proxy server is located in (e.g. "NA-WA-RED")
187 */
188 site?: string;
189 siteDefault?: boolean;
190 /**
191 * The URL of the proxy server
192 */
193 url?: string;
194}
195export interface ProxyAuthorization {
196 /**
197 * Gets or sets the endpoint used to obtain access tokens from the configured token service.
198 */
199 authorizationUrl?: string;
200 /**
201 * Gets or sets the client identifier for this proxy.
202 */
203 clientId?: string;
204 /**
205 * Gets or sets the user identity to authorize for on-prem.
206 */
207 identity?: IdentitiesInterfaces.IdentityDescriptor;
208 /**
209 * Gets or sets the public key used to verify the identity of this proxy. Only specify on hosted.
210 */
211 publicKey?: VSSInterfaces.PublicKey;
212}
213export declare enum SourceControlTypes {
214 Tfvc = 1,
215 Git = 2
216}
217/**
218 * The Team Context for an operation.
219 */
220export interface TeamContext {
221 /**
222 * The team project Id or name. Ignored if ProjectId is set.
223 */
224 project?: string;
225 /**
226 * The Team Project ID. Required if Project is not set.
227 */
228 projectId?: string;
229 /**
230 * The Team Id or name. Ignored if TeamId is set.
231 */
232 team?: string;
233 /**
234 * The Team Id
235 */
236 teamId?: string;
237}
238/**
239 * Represents a Team Project object.
240 */
241export interface TeamProject extends TeamProjectReference {
242 /**
243 * The links to other objects related to this object.
244 */
245 _links?: any;
246 /**
247 * Set of capabilities this project has (such as process template & version control).
248 */
249 capabilities?: {
250 [key: string]: {
251 [key: string]: string;
252 };
253 };
254 /**
255 * The shallow ref to the default team.
256 */
257 defaultTeam?: WebApiTeamRef;
258}
259/**
260 * Data contract for a TeamProjectCollection.
261 */
262export interface TeamProjectCollection extends TeamProjectCollectionReference {
263 /**
264 * The links to other objects related to this object.
265 */
266 _links?: any;
267 /**
268 * Project collection description.
269 */
270 description?: string;
271 /**
272 * Process customization type on this collection. It can be Xml or Inherited.
273 */
274 processCustomizationType?: ProcessCustomizationType;
275 /**
276 * Project collection state.
277 */
278 state?: string;
279}
280/**
281 * Reference object for a TeamProjectCollection.
282 */
283export interface TeamProjectCollectionReference {
284 /**
285 * Collection avatar Url.
286 */
287 avatarUrl?: string;
288 /**
289 * Collection Id.
290 */
291 id?: string;
292 /**
293 * Collection Name.
294 */
295 name?: string;
296 /**
297 * Collection REST Url.
298 */
299 url?: string;
300}
301/**
302 * Represents a shallow reference to a TeamProject.
303 */
304export interface TeamProjectReference {
305 /**
306 * Project abbreviation.
307 */
308 abbreviation?: string;
309 /**
310 * Url to default team identity image.
311 */
312 defaultTeamImageUrl?: string;
313 /**
314 * The project's description (if any).
315 */
316 description?: string;
317 /**
318 * Project identifier.
319 */
320 id?: string;
321 /**
322 * Project last update time.
323 */
324 lastUpdateTime?: Date;
325 /**
326 * Project name.
327 */
328 name?: string;
329 /**
330 * Project revision.
331 */
332 revision?: number;
333 /**
334 * Project state.
335 */
336 state?: any;
337 /**
338 * Url to the full version of the object.
339 */
340 url?: string;
341 /**
342 * Project visibility.
343 */
344 visibility?: ProjectVisibility;
345}
346/**
347 * A data transfer object that stores the metadata associated with the creation of temporary data.
348 */
349export interface TemporaryDataCreatedDTO extends TemporaryDataDTO {
350 /**
351 * Temporary data expiration date.
352 */
353 expirationDate?: Date;
354 /**
355 * Temporary data id.
356 */
357 id?: string;
358 /**
359 * Rest url for the temporary data.
360 */
361 url?: string;
362}
363/**
364 * A data transfer object that stores the metadata associated with the temporary data.
365 */
366export interface TemporaryDataDTO {
367 /**
368 * Temporary data expire in seconds
369 */
370 expirationSeconds?: number;
371 /**
372 * Temporary data origin
373 */
374 origin?: string;
375 /**
376 * Temporary data.
377 */
378 value?: any;
379}
380/**
381 * Updateable properties for a WebApiTeam.
382 */
383export interface UpdateTeam {
384 /**
385 * New description for the team.
386 */
387 description?: string;
388 /**
389 * New name for the team.
390 */
391 name?: string;
392}
393export interface WebApiConnectedService extends WebApiConnectedServiceRef {
394 /**
395 * The user who did the OAuth authentication to created this service
396 */
397 authenticatedBy?: VSSInterfaces.IdentityRef;
398 /**
399 * Extra description on the service.
400 */
401 description?: string;
402 /**
403 * Friendly Name of service connection
404 */
405 friendlyName?: string;
406 /**
407 * Id/Name of the connection service. For Ex: Subscription Id for Azure Connection
408 */
409 id?: string;
410 /**
411 * The kind of service.
412 */
413 kind?: string;
414 /**
415 * The project associated with this service
416 */
417 project?: TeamProjectReference;
418 /**
419 * Optional uri to connect directly to the service such as https://windows.azure.com
420 */
421 serviceUri?: string;
422}
423export interface WebApiConnectedServiceDetails extends WebApiConnectedServiceRef {
424 /**
425 * Meta data for service connection
426 */
427 connectedServiceMetaData?: WebApiConnectedService;
428 /**
429 * Credential info
430 */
431 credentialsXml?: string;
432 /**
433 * Optional uri to connect directly to the service such as https://windows.azure.com
434 */
435 endPoint?: string;
436}
437export interface WebApiConnectedServiceRef {
438 id?: string;
439 url?: string;
440}
441/**
442 * The representation of data needed to create a tag definition which is sent across the wire.
443 */
444export interface WebApiCreateTagRequestData {
445 /**
446 * Name of the tag definition that will be created.
447 */
448 name: string;
449}
450export interface WebApiProject extends TeamProjectReference {
451 /**
452 * Set of capabilities this project has
453 */
454 capabilities?: {
455 [key: string]: {
456 [key: string]: string;
457 };
458 };
459 /**
460 * Reference to collection which contains this project
461 */
462 collection?: WebApiProjectCollectionRef;
463 /**
464 * Default team for this project
465 */
466 defaultTeam?: WebApiTeamRef;
467}
468export interface WebApiProjectCollection extends WebApiProjectCollectionRef {
469 /**
470 * Project collection description
471 */
472 description?: string;
473 /**
474 * Project collection state
475 */
476 state?: string;
477}
478export interface WebApiProjectCollectionRef {
479 /**
480 * Collection Tfs Url (Host Url)
481 */
482 collectionUrl?: string;
483 /**
484 * Collection Guid
485 */
486 id?: string;
487 /**
488 * Collection Name
489 */
490 name?: string;
491 /**
492 * Collection REST Url
493 */
494 url?: string;
495}
496/**
497 * The representation of a tag definition which is sent across the wire.
498 */
499export interface WebApiTagDefinition {
500 /**
501 * Whether or not the tag definition is active.
502 */
503 active?: boolean;
504 /**
505 * ID of the tag definition.
506 */
507 id?: string;
508 /**
509 * The name of the tag definition.
510 */
511 name?: string;
512 /**
513 * Resource URL for the Tag Definition.
514 */
515 url?: string;
516}
517export interface WebApiTeam extends WebApiTeamRef {
518 /**
519 * Team description
520 */
521 description?: string;
522 /**
523 * Team identity.
524 */
525 identity?: IdentitiesInterfaces.Identity;
526 /**
527 * Identity REST API Url to this team
528 */
529 identityUrl?: string;
530 projectId?: string;
531 projectName?: string;
532}
533export interface WebApiTeamRef {
534 /**
535 * Team (Identity) Guid. A Team Foundation ID.
536 */
537 id?: string;
538 /**
539 * Team name
540 */
541 name?: string;
542 /**
543 * Team REST API Url
544 */
545 url?: string;
546}
547export declare var TypeInfo: {
548 ConnectedServiceKind: {
549 enumValues: {
550 custom: number;
551 azureSubscription: number;
552 chef: number;
553 generic: number;
554 };
555 };
556 Process: any;
557 ProcessCustomizationType: {
558 enumValues: {
559 unknown: number;
560 xml: number;
561 inherited: number;
562 };
563 };
564 ProcessType: {
565 enumValues: {
566 system: number;
567 custom: number;
568 inherited: number;
569 };
570 };
571 ProjectChangeType: {
572 enumValues: {
573 modified: number;
574 deleted: number;
575 added: number;
576 };
577 };
578 ProjectInfo: any;
579 ProjectMessage: any;
580 ProjectVisibility: {
581 enumValues: {
582 private: number;
583 organization: number;
584 public: number;
585 };
586 };
587 SourceControlTypes: {
588 enumValues: {
589 tfvc: number;
590 git: number;
591 };
592 };
593 TeamProject: any;
594 TeamProjectCollection: any;
595 TeamProjectReference: any;
596 TemporaryDataCreatedDTO: any;
597 WebApiConnectedService: any;
598 WebApiConnectedServiceDetails: any;
599 WebApiProject: any;
600};