import IdentitiesInterfaces = require("../interfaces/IdentitiesInterfaces");
import VSSInterfaces = require("../interfaces/common/VSSInterfaces");
export interface AccessMapping {
accessPoint?: string;
displayName?: string;
moniker?: string;
/**
* The service which owns this access mapping e.g. TFS, ELS, etc.
*/
serviceOwner?: string;
/**
* Part of the access mapping which applies context after the access point of the server.
*/
virtualDirectory?: string;
}
/**
* Data transfer class that holds information needed to set up a connection with a VSS server.
*/
export interface ConnectionData {
/**
* The Id of the authenticated user who made this request. More information about the user can be obtained by passing this Id to the Identity service
*/
authenticatedUser?: IdentitiesInterfaces.Identity;
/**
* The Id of the authorized user who made this request. More information about the user can be obtained by passing this Id to the Identity service
*/
authorizedUser?: IdentitiesInterfaces.Identity;
/**
* The id for the server.
*/
deploymentId?: string;
/**
* The type for the server Hosted/OnPremises.
*/
deploymentType?: VSSInterfaces.DeploymentFlags;
/**
* The instance id for this host.
*/
instanceId?: string;
/**
* The last user access for this instance. Null if not requested specifically.
*/
lastUserAccess?: Date;
/**
* Data that the location service holds.
*/
locationServiceData?: LocationServiceData;
/**
* The virtual directory of the host we are talking to.
*/
webApplicationRelativeDirectory?: string;
}
export declare enum InheritLevel {
None = 0,
Deployment = 1,
Account = 2,
Collection = 4,
All = 7
}
export interface LocationMapping {
accessMappingMoniker?: string;
location?: string;
}
/**
* Data transfer class used to transfer data about the location service data over the web service.
*/
export interface LocationServiceData {
/**
* Data about the access mappings contained by this location service.
*/
accessMappings?: AccessMapping[];
/**
* Data that the location service holds.
*/
clientCacheFresh?: boolean;
/**
* The time to live on the location service cache.
*/
clientCacheTimeToLive?: number;
/**
* The default access mapping moniker for the server.
*/
defaultAccessMappingMoniker?: string;
/**
* The obsolete id for the last change that took place on the server (use LastChangeId64).
*/
lastChangeId?: number;
/**
* The non-truncated 64-bit id for the last change that took place on the server.
*/
lastChangeId64?: number;
/**
* Data about the service definitions contained by this location service.
*/
serviceDefinitions?: ServiceDefinition[];
/**
* The identifier of the deployment which is hosting this location data (e.g. SPS, TFS, ELS, Napa, etc.)
*/
serviceOwner?: string;
}
export declare enum RelativeToSetting {
Context = 0,
WebApplication = 2,
FullyQualified = 3
}
export interface ResourceAreaInfo {
id?: string;
locationUrl?: string;
name?: string;
}
export interface ServiceDefinition {
description?: string;
displayName?: string;
identifier?: string;
inheritLevel?: InheritLevel;
locationMappings?: LocationMapping[];
/**
* Maximum api version that this resource supports (current server version for this resource). Copied from ApiResourceLocation.
*/
maxVersion?: string;
/**
* Minimum api version that this resource supports. Copied from ApiResourceLocation.
*/
minVersion?: string;
parentIdentifier?: string;
parentServiceType?: string;
properties?: any;
relativePath?: string;
relativeToSetting?: RelativeToSetting;
/**
* The latest version of this resource location that is in "Release" (non-preview) mode. Copied from ApiResourceLocation.
*/
releasedVersion?: string;
/**
* The current resource version supported by this resource location. Copied from ApiResourceLocation.
*/
resourceVersion?: number;
/**
* The service which owns this definition e.g. TFS, ELS, etc.
*/
serviceOwner?: string;
serviceType?: string;
status?: ServiceStatus;
toolId?: string;
}
export declare enum ServiceStatus {
Assigned = 0,
Active = 1,
Moving = 2
}
export declare var TypeInfo: {
ConnectionData: any;
InheritLevel: {
enumValues: {
none: number;
deployment: number;
account: number;
collection: number;
all: number;
};
};
LocationServiceData: any;
RelativeToSetting: {
enumValues: {
context: number;
webApplication: number;
fullyQualified: number;
};
};
ServiceDefinition: any;
ServiceStatus: {
enumValues: {
assigned: number;
active: number;
moving: number;
};
};
};