import DistributedTaskCommonInterfaces = require("../interfaces/DistributedTaskCommonInterfaces");
import FormInputInterfaces = require("../interfaces/common/FormInputInterfaces");
import VSSInterfaces = require("../interfaces/common/VSSInterfaces");
export declare enum AadLoginPromptOption {
/**
* Do not provide a prompt option
*/
NoOption = 0,
/**
* Force the user to login again.
*/
Login = 1,
/**
* Force the user to select which account they are logging in with instead of automatically picking the user up from the session state. NOTE: This does not work for switching between the variants of a dual-homed user.
*/
SelectAccount = 2,
/**
* Force the user to login again. Ignore current authentication state and force the user to authenticate again. This option should be used instead of Login.
*/
FreshLogin = 3,
/**
* Force the user to login again with mfa. Ignore current authentication state and force the user to authenticate again. This option should be used instead of Login, if MFA is required.
*/
FreshLoginWithMfa = 4
}
export interface AadOauthTokenRequest {
refresh?: boolean;
resource?: string;
tenantId?: string;
token?: string;
}
export interface AadOauthTokenResult {
accessToken?: string;
refreshTokenCache?: string;
}
export interface AgentChangeEvent {
agent?: TaskAgent;
eventType?: string;
pool?: TaskAgentPoolReference;
poolId?: number;
timeStamp?: Date;
}
export interface AgentJobRequestMessage extends JobRequestMessage {
lockedUntil?: Date;
lockToken?: string;
requestId?: number;
tasks?: TaskInstance[];
}
export interface AgentPoolEvent {
eventType?: string;
pool?: TaskAgentPool;
}
export interface AgentQueueEvent {
eventType?: string;
queue?: TaskAgentQueue;
}
export interface AgentQueuesEvent {
eventType?: string;
queues?: TaskAgentQueue[];
}
export interface AgentRefreshMessage {
agentId?: number;
targetVersion?: string;
timeout?: any;
}
export declare enum AuditAction {
Add = 1,
Update = 2,
Delete = 3,
Undelete = 4
}
export interface AuthenticationSchemeReference {
inputs?: {
[key: string]: string;
};
type?: string;
}
export interface AuthorizationHeader {
/**
* Gets or sets the name of authorization header.
*/
name?: string;
/**
* Gets or sets the value of authorization header.
*/
value?: string;
}
export interface AzureKeyVaultPermission extends AzureResourcePermission {
vault?: string;
}
export interface AzureKeyVaultVariableGroupProviderData extends VariableGroupProviderData {
lastRefreshedOn?: Date;
serviceEndpointId?: string;
vault?: string;
}
export interface AzureKeyVaultVariableValue extends VariableValue {
contentType?: string;
enabled?: boolean;
expires?: Date;
}
/**
* Azure Management Group
*/
export interface AzureManagementGroup {
/**
* Display name of azure management group
*/
displayName?: string;
/**
* Id of azure management group
*/
id?: string;
/**
* Azure management group name
*/
name?: string;
/**
* Id of tenant from which azure management group belongs
*/
tenantId?: string;
}
/**
* Azure management group query result
*/
export interface AzureManagementGroupQueryResult {
/**
* Error message in case of an exception
*/
errorMessage?: string;
/**
* List of azure management groups
*/
value?: AzureManagementGroup[];
}
export interface AzurePermission {
provisioned?: boolean;
resourceProvider?: string;
}
export interface AzureResourcePermission extends AzurePermission {
resourceGroup?: string;
}
export interface AzureRoleAssignmentPermission extends AzurePermission {
roleAssignmentId?: string;
}
export interface AzureSpnOperationStatus {
state?: string;
statusMessage?: string;
}
export interface AzureSubscription {
displayName?: string;
subscriptionId?: string;
subscriptionTenantId?: string;
subscriptionTenantName?: string;
}
export interface AzureSubscriptionQueryResult {
errorMessage?: string;
value?: AzureSubscription[];
}
export interface ClientCertificate {
/**
* Gets or sets the value of client certificate.
*/
value?: string;
}
export interface CounterVariable {
prefix?: string;
seed?: number;
value?: number;
}
export interface DataSource {
authenticationScheme?: AuthenticationSchemeReference;
endpointUrl?: string;
headers?: AuthorizationHeader[];
name?: string;
resourceUrl?: string;
resultSelector?: string;
}
export interface DataSourceBinding extends DistributedTaskCommonInterfaces.DataSourceBindingBase {
}
export interface DataSourceDetails {
dataSourceName?: string;
dataSourceUrl?: string;
headers?: AuthorizationHeader[];
parameters?: {
[key: string]: string;
};
resourceUrl?: string;
resultSelector?: string;
}
export interface Demand {
name?: string;
value?: string;
}
export interface DemandEquals extends Demand {
}
export interface DemandExists extends Demand {
}
export interface DemandMinimumVersion extends Demand {
source?: DemandSource;
}
export interface DemandSource {
sourceName?: string;
sourceType?: DemandSourceType;
sourceVersion?: string;
}
export declare enum DemandSourceType {
Task = 0,
Feature = 1
}
export interface DependencyBinding {
key?: string;
value?: string;
}
export interface DependencyData {
input?: string;
map?: {
key: string;
value: {
key: string;
value: string;
}[];
}[];
}
export interface DependsOn {
input?: string;
map?: DependencyBinding[];
}
export interface DeploymentGatesChangeEvent {
gateNames?: string[];
}
/**
* Deployment group.
*/
export interface DeploymentGroup extends DeploymentGroupReference {
/**
* Description of the deployment group.
*/
description?: string;
/**
* Number of deployment targets in the deployment group.
*/
machineCount?: number;
/**
* List of deployment targets in the deployment group.
*/
machines?: DeploymentMachine[];
/**
* List of unique tags across all deployment targets in the deployment group.
*/
machineTags?: string[];
}
/**
* This is useful in getting a list of deployment groups, filtered for which caller has permissions to take a particular action.
*/
export declare enum DeploymentGroupActionFilter {
/**
* All deployment groups.
*/
None = 0,
/**
* Only deployment groups for which caller has **manage** permission.
*/
Manage = 2,
/**
* Only deployment groups for which caller has **use** permission.
*/
Use = 16
}
/**
* Properties to create Deployment group.
*/
export interface DeploymentGroupCreateParameter {
/**
* Description of the deployment group.
*/
description?: string;
/**
* Name of the deployment group.
*/
name?: string;
/**
* Deployment pool in which deployment agents are registered. This is obsolete. Kept for compatibility. Will be marked obsolete explicitly by M132.
*/
pool?: DeploymentGroupCreateParameterPoolProperty;
/**
* Identifier of the deployment pool in which deployment agents are registered.
*/
poolId?: number;
}
/**
* Properties of Deployment pool to create Deployment group.
*/
export interface DeploymentGroupCreateParameterPoolProperty {
/**
* Deployment pool identifier.
*/
id?: number;
}
/**
* Properties to be included or expanded in deployment group objects. This is useful when getting a single or list of deployment grouops.
*/
export declare enum DeploymentGroupExpands {
/**
* No additional properties.
*/
None = 0,
/**
* Deprecated: Include all the deployment targets.
*/
Machines = 2,
/**
* Include unique list of tags across all deployment targets.
*/
Tags = 4
}
/**
* Deployment group metrics.
*/
export interface DeploymentGroupMetrics {
/**
* List of deployment group properties. And types of metrics provided for those properties.
*/
columnsHeader?: MetricsColumnsHeader;
/**
* Deployment group.
*/
deploymentGroup?: DeploymentGroupReference;
/**
* Values of properties and the metrics. E.g. 1: total count of deployment targets for which 'TargetState' is 'offline'. E.g. 2: Average time of deployment to the deployment targets for which 'LastJobStatus' is 'passed' and 'TargetState' is 'online'.
*/
rows?: MetricsRow[];
}
/**
* Deployment group reference. This is useful for referring a deployment group in another object.
*/
export interface DeploymentGroupReference {
/**
* Deployment group identifier.
*/
id?: number;
/**
* Name of the deployment group.
*/
name?: string;
/**
* Deployment pool in which deployment agents are registered.
*/
pool?: TaskAgentPoolReference;
/**
* Project to which the deployment group belongs.
*/
project?: ProjectReference;
}
/**
* Deployment group update parameter.
*/
export interface DeploymentGroupUpdateParameter {
/**
* Description of the deployment group.
*/
description?: string;
/**
* Name of the deployment group.
*/
name?: string;
}
/**
* Deployment target.
*/
export interface DeploymentMachine {
/**
* Deployment agent.
*/
agent?: TaskAgent;
/**
* Deployment target Identifier.
*/
id?: number;
/**
* Properties of the deployment target.
*/
properties?: any;
/**
* Tags of the deployment target.
*/
tags?: string[];
}
export interface DeploymentMachineChangedData extends DeploymentMachine {
addedTags?: string[];
deletedTags?: string[];
}
export declare enum DeploymentMachineExpands {
None = 0,
Capabilities = 2,
AssignedRequest = 4
}
export interface DeploymentMachineGroup extends DeploymentMachineGroupReference {
machines?: DeploymentMachine[];
size?: number;
}
export interface DeploymentMachineGroupReference {
id?: number;
name?: string;
pool?: TaskAgentPoolReference;
project?: ProjectReference;
}
export interface DeploymentMachinesChangeEvent {
machineGroupReference?: DeploymentGroupReference;
machines?: DeploymentMachineChangedData[];
}
/**
* Deployment pool summary.
*/
export interface DeploymentPoolSummary {
/**
* List of deployment groups referring to the deployment pool.
*/
deploymentGroups?: DeploymentGroupReference[];
/**
* Number of deployment agents that are offline.
*/
offlineAgentsCount?: number;
/**
* Number of deployment agents that are online.
*/
onlineAgentsCount?: number;
/**
* Deployment pool.
*/
pool?: TaskAgentPoolReference;
/**
* Virtual machine Resource referring in pool.
*/
resource?: EnvironmentResourceReference;
}
/**
* Properties to be included or expanded in deployment pool summary objects. This is useful when getting a single or list of deployment pool summaries.
*/
export declare enum DeploymentPoolSummaryExpands {
/**
* No additional properties
*/
None = 0,
/**
* Include deployment groups referring to the deployment pool.
*/
DeploymentGroups = 2,
/**
* Include Resource referring to the deployment pool.
*/
Resource = 4
}
/**
* Properties to be included or expanded in deployment target objects. This is useful when getting a single or list of deployment targets.
*/
export declare enum DeploymentTargetExpands {
/**
* No additional properties.
*/
None = 0,
/**
* Include capabilities of the deployment agent.
*/
Capabilities = 2,
/**
* Include the job request assigned to the deployment agent.
*/
AssignedRequest = 4,
/**
* Include the last completed job request of the deployment agent.
*/
LastCompletedRequest = 8
}
/**
* Deployment target update parameter.
*/
export interface DeploymentTargetUpdateParameter {
/**
* Identifier of the deployment target.
*/
id?: number;
tags?: string[];
}
export interface DiagnosticLogMetadata {
agentId?: number;
agentName?: string;
fileName?: string;
phaseName?: string;
phaseResult?: string;
poolId?: number;
}
export interface ElasticAgentPoolResizedEvent {
newSize?: number;
poolId?: number;
poolName?: string;
previousSize?: number;
resourceId?: string;
}
export declare enum ElasticAgentState {
None = 0,
Enabled = 1,
Online = 2,
Assigned = 4
}
export declare enum ElasticComputeState {
None = 0,
Healthy = 1,
Creating = 2,
Deleting = 3,
Failed = 4,
Stopped = 5,
Reimaging = 6,
UnhealthyVm = 7,
UnhealthyVmssVm = 8
}
/**
* Data and settings for an elastic node
*/
export interface ElasticNode {
/**
* Distributed Task's Agent Id
*/
agentId?: number;
/**
* Summary of the state of the agent
*/
agentState?: ElasticAgentState;
/**
* Compute Id. VMSS's InstanceId
*/
computeId?: string;
/**
* State of the compute host
*/
computeState?: ElasticComputeState;
/**
* Users can force state changes to specific states (ToReimage, ToDelete, Save)
*/
desiredState?: ElasticNodeState;
/**
* Unique identifier since the agent and/or VM may be null
*/
id?: number;
/**
* Computer name. Used to match a scaleset VM with an agent
*/
name?: string;
/**
* Pool Id that this node belongs to
*/
poolId?: number;
/**
* Last job RequestId assigned to this agent
*/
requestId?: number;
/**
* State of the ElasticNode
*/
state?: ElasticNodeState;
/**
* Last state change. Only updated by SQL.
*/
stateChangedOn?: Date;
}
/**
* Class used for updating an elastic node where only certain members are populated
*/
export interface ElasticNodeSettings {
/**
* State of the ElasticNode
*/
state?: ElasticNodeState;
}
export declare enum ElasticNodeState {
None = 0,
New = 1,
CreatingCompute = 2,
StartingAgent = 3,
Idle = 4,
Assigned = 5,
Offline = 6,
PendingReimage = 7,
PendingDelete = 8,
Saved = 9,
DeletingCompute = 10,
Deleted = 11,
Lost = 12,
ReimagingCompute = 13,
RestartingAgent = 14,
FailedToStartPendingDelete = 15,
FailedToRestartPendingDelete = 16,
FailedVMPendingDelete = 17,
AssignedPendingDelete = 18,
RetryDelete = 19,
UnhealthyVm = 20,
UnhealthyVmPendingDelete = 21
}
/**
* Data and settings for an elastic pool
*/
export interface ElasticPool {
/**
* Set whether agents should be configured to run with interactive UI
*/
agentInteractiveUI?: boolean;
/**
* Azure string representing to location of the resource
*/
azureId?: string;
/**
* Number of agents to have ready waiting for jobs
*/
desiredIdle?: number;
/**
* The desired size of the pool
*/
desiredSize?: number;
/**
* Maximum number of nodes that will exist in the elastic pool
*/
maxCapacity?: number;
/**
* Keep nodes in the pool on failure for investigation
*/
maxSavedNodeCount?: number;
/**
* Timestamp the pool was first detected to be offline
*/
offlineSince?: Date;
/**
* Operating system type of the nodes in the pool
*/
orchestrationType?: OrchestrationType;
/**
* Operating system type of the nodes in the pool
*/
osType?: OperatingSystemType;
/**
* Id of the associated TaskAgentPool
*/
poolId?: number;
/**
* Discard node after each job completes
*/
recycleAfterEachUse?: boolean;
/**
* Id of the Service Endpoint used to connect to Azure
*/
serviceEndpointId?: string;
/**
* Scope the Service Endpoint belongs to
*/
serviceEndpointScope?: string;
/**
* The number of sizing attempts executed while trying to achieve a desired size
*/
sizingAttempts?: number;
/**
* State of the pool
*/
state?: ElasticPoolState;
/**
* The minimum time in minutes to keep idle agents alive
*/
timeToLiveMinutes?: number;
}
/**
* Returned result from creating a new elastic pool
*/
export interface ElasticPoolCreationResult {
/**
* Created agent pool
*/
agentPool?: TaskAgentPool;
/**
* Created agent queue
*/
agentQueue?: TaskAgentQueue;
/**
* Created elastic pool
*/
elasticPool?: ElasticPool;
}
/**
* Log data for an Elastic Pool
*/
export interface ElasticPoolLog {
/**
* Log Id
*/
id?: number;
/**
* E.g. error, warning, info
*/
level?: LogLevel;
/**
* Log contents
*/
message?: string;
/**
* Operation that triggered the message being logged
*/
operation?: OperationType;
/**
* Id of the associated TaskAgentPool
*/
poolId?: number;
/**
* Datetime that the log occurred
*/
timestamp?: Date;
}
/**
* Class used for updating an elastic pool where only certain members are populated
*/
export interface ElasticPoolSettings {
/**
* Set whether agents should be configured to run with interactive UI
*/
agentInteractiveUI?: boolean;
/**
* Azure string representing to location of the resource
*/
azureId?: string;
/**
* Number of machines to have ready waiting for jobs
*/
desiredIdle?: number;
/**
* Maximum number of machines that will exist in the elastic pool
*/
maxCapacity?: number;
/**
* Keep machines in the pool on failure for investigation
*/
maxSavedNodeCount?: number;
/**
* Operating system type of the machines in the pool
*/
orchestrationType?: OrchestrationType;
/**
* Operating system type of the machines in the pool
*/
osType?: OperatingSystemType;
/**
* Discard machines after each job completes
*/
recycleAfterEachUse?: boolean;
/**
* Id of the Service Endpoint used to connect to Azure
*/
serviceEndpointId?: string;
/**
* Scope the Service Endpoint belongs to
*/
serviceEndpointScope?: string;
/**
* The minimum time in minutes to keep idle agents alive
*/
timeToLiveMinutes?: number;
}
export declare enum ElasticPoolState {
/**
* Online and healthy
*/
Online = 0,
Offline = 1,
Unhealthy = 2,
New = 3
}
export interface EndpointAuthorization {
/**
* Gets or sets the parameters for the selected authorization scheme.
*/
parameters?: {
[key: string]: string;
};
/**
* Gets or sets the scheme used for service endpoint authentication.
*/
scheme?: string;
}
/**
* Represents url of the service endpoint.
*/
export interface EndpointUrl {
/**
* Gets or sets the dependency bindings.
*/
dependsOn?: DependsOn;
/**
* Gets or sets the display name of service endpoint url.
*/
displayName?: string;
/**
* Gets or sets the help text of service endpoint url.
*/
helpText?: string;
/**
* Gets or sets the visibility of service endpoint url.
*/
isVisible?: string;
/**
* Gets or sets the value of service endpoint url.
*/
value?: string;
}
/**
* This is useful in getting a list of Environments, filtered for which caller has permissions to take a particular action.
*/
export declare enum EnvironmentActionFilter {
/**
* All environments for which user has **view** permission.
*/
None = 0,
/**
* Only environments for which caller has **manage** permission.
*/
Manage = 2,
/**
* Only environments for which caller has **use** permission.
*/
Use = 16
}
/**
* Properties to create Environment.
*/
export interface EnvironmentCreateParameter {
/**
* Description of the environment.
*/
description?: string;
/**
* Name of the environment.
*/
name?: string;
}
/**
* EnvironmentDeploymentExecutionRecord.
*/
export interface EnvironmentDeploymentExecutionRecord {
/**
* Definition of the environment deployment execution owner
*/
definition?: TaskOrchestrationOwner;
/**
* Id of the Environment
*/
environmentId?: number;
/**
* Finish time of the environment deployment execution
*/
finishTime?: Date;
/**
* Id of the Environment deployment execution history record
*/
id?: number;
/**
* Job Attempt
*/
jobAttempt?: number;
/**
* Job name
*/
jobName?: string;
/**
* Owner of the environment deployment execution record
*/
owner?: TaskOrchestrationOwner;
/**
* Plan Id
*/
planId?: string;
/**
* Plan type of the environment deployment execution record
*/
planType?: string;
/**
* Queue time of the environment deployment execution
*/
queueTime?: Date;
/**
* Request identifier of the Environment deployment execution history record
*/
requestIdentifier?: string;
/**
* Resource Id
*/
resourceId?: number;
/**
* Result of the environment deployment execution
*/
result?: TaskResult;
/**
* Project Id
*/
scopeId?: string;
/**
* Service owner Id
*/
serviceOwner?: string;
/**
* Stage Attempt
*/
stageAttempt?: number;
/**
* Stage name
*/
stageName?: string;
/**
* Start time of the environment deployment execution
*/
startTime?: Date;
}
/**
* Properties to be included or expanded in environment objects. This is useful when getting a single environment.
*/
export declare enum EnvironmentExpands {
/**
* No additional properties
*/
None = 0,
/**
* Include resource references referring to the environment.
*/
ResourceReferences = 1
}
/**
* Environment.
*/
export interface EnvironmentInstance {
/**
* Identity reference of the user who created the Environment.
*/
createdBy?: VSSInterfaces.IdentityRef;
/**
* Creation time of the Environment
*/
createdOn?: Date;
/**
* Description of the Environment.
*/
description?: string;
/**
* Id of the Environment
*/
id?: number;
/**
* Identity reference of the user who last modified the Environment.
*/
lastModifiedBy?: VSSInterfaces.IdentityRef;
/**
* Last modified time of the Environment
*/
lastModifiedOn?: Date;
/**
* Name of the Environment.
*/
name?: string;
/**
* Project information for environment.
*/
project?: ProjectReference;
resources?: EnvironmentResourceReference[];
}
/**
* EnvironmentLinkedResourceReference.
*/
export interface EnvironmentLinkedResourceReference {
/**
* Id of the resource.
*/
id?: string;
/**
* Type of resource.
*/
typeName?: string;
}
export interface EnvironmentReference {
id?: number;
name?: string;
}
export interface EnvironmentResource {
createdBy?: VSSInterfaces.IdentityRef;
createdOn?: Date;
environmentReference?: EnvironmentReference;
id?: number;
lastModifiedBy?: VSSInterfaces.IdentityRef;
lastModifiedOn?: Date;
name?: string;
/**
* Tags of the Environment Resource.
*/
tags?: string[];
/**
* Environment resource type
*/
type?: EnvironmentResourceType;
}
/**
* EnvironmentResourceDeploymentExecutionRecord.
*/
export interface EnvironmentResourceDeploymentExecutionRecord {
/**
* Id of the Environment
*/
environmentId?: number;
/**
* Finish time of the environment resource deployment execution
*/
finishTime?: Date;
/**
* Id of the Environment deployment execution history record
*/
requestId?: number;
/**
* Resource Id
*/
resourceId?: number;
/**
* Result of the environment deployment execution
*/
result?: TaskResult;
/**
* Start time of the environment resource deployment execution
*/
startTime?: Date;
}
/**
* EnvironmentResourceReference.
*/
export interface EnvironmentResourceReference {
/**
* Id of the resource.
*/
id?: number;
/**
* Name of the resource.
*/
name?: string;
/**
* Tags of the Environment Resource Reference.
*/
tags?: string[];
/**
* Type of the resource.
*/
type?: EnvironmentResourceType;
}
/**
* EnvironmentResourceType.
*/
export declare enum EnvironmentResourceType {
Undefined = 0,
/**
* Unknown resource type
*/
Generic = 1,
/**
* Virtual machine resource type
*/
VirtualMachine = 2,
/**
* Kubernetes resource type
*/
Kubernetes = 4
}
/**
* Properties to update Environment.
*/
export interface EnvironmentUpdateParameter {
/**
* Description of the environment.
*/
description?: string;
/**
* Name of the environment.
*/
name?: string;
}
export interface EventsConfig {
}
export declare enum ExclusiveLockType {
RunLatest = 0,
Sequential = 1,
BranchRunLatest = 2,
Parallel = 3
}
export interface ExpressionValidationItem extends ValidationItem {
}
export interface HelpLink {
text?: string;
url?: string;
}
export interface InputBindingContext {
/**
* Value of the input
*/
value?: string;
}
export interface InputValidationItem extends ValidationItem {
/**
* Provides binding context for the expression to evaluate
*/
context?: InputBindingContext;
}
export interface InputValidationRequest {
inputs?: {
[key: string]: ValidationItem;
};
}
/**
* An issue (error, warning) associated with a pipeline run.
*/
export interface Issue {
/**
* The category of the issue.
Example: Code - refers to compilation errors
Example: General - refers to generic errors
*/
category?: string;
/**
* A dictionary containing details about the issue.
*/
data?: {
[key: string]: string;
};
/**
* A description of issue.
*/
message?: string;
/**
* The type (error, warning) of the issue.
*/
type?: IssueType;
}
/**
* The type of issue based on severity.
*/
export declare enum IssueType {
Error = 1,
Warning = 2
}
export interface JobAssignedEvent extends JobEvent {
/**
* A pipeline job request for an agent.
*/
request?: TaskAgentJobRequest;
}
export interface JobCanceledEvent extends JobEvent {
/**
* The reason for job cancellation.
*/
reason?: string;
/**
* The job's timeout interval.
*/
timeout?: any;
}
export interface JobCancelMessage {
jobId?: string;
timeout?: any;
}
export interface JobCompletedEvent extends JobEvent {
/**
* Indicates whether the agent is in the process of shutting down.
*/
agentShuttingDown?: boolean;
/**
* The ID of the request.
*/
requestId?: number;
/**
* The result of the request.
*/
result?: TaskResult;
}
/**
* Represents the context of variables and vectors for a job request.
*/
export interface JobEnvironment {
endpoints?: ServiceEndpoint[];
mask?: MaskHint[];
options?: {
[key: string]: JobOption;
};
secureFiles?: SecureFile[];
/**
* Gets or sets the endpoint used for communicating back to the calling service.
*/
systemConnection?: ServiceEndpoint;
variables?: {
[key: string]: string;
};
}
/**
* A pipeline job event to be processed by the execution plan.
*/
export interface JobEvent {
/**
* The ID of the pipeline job affected by the event.
*/
jobId?: string;
/**
* The name of the pipeline job event.
*/
name?: string;
}
export interface JobEventConfig {
timeout?: string;
}
export interface JobEventsConfig extends EventsConfig {
jobAssigned?: JobEventConfig;
jobCompleted?: JobEventConfig;
jobStarted?: JobEventConfig;
}
export interface JobMetadataEvent extends JobEvent {
/**
* A message to be sent to an agent currently running the job.
*/
message?: JobMetadataMessage;
}
/**
* A message to be sent to an agent currently running the job.
*/
export interface JobMetadataMessage {
/**
* The id of the job.
*/
jobId?: string;
/**
* The agent's frequency of posting lines to the logs console expressed in milliseconds. There are 2 modes: Slow (10 seconds) and Fast (half a second).
*/
postLinesFrequencyMillis?: number;
}
/**
* Represents an option that may affect the way an agent runs the job.
*/
export interface JobOption {
data?: {
[key: string]: string;
};
/**
* Gets the id of the option.
*/
id?: string;
}
export interface JobRequestMessage {
environment?: JobEnvironment;
jobId?: string;
jobName?: string;
jobRefName?: string;
messageType?: string;
plan?: TaskOrchestrationPlanReference;
timeline?: TimelineReference;
}
export interface JobStartedEvent extends JobEvent {
}
export interface KubernetesResource extends EnvironmentResource {
clusterName?: string;
namespace?: string;
serviceEndpointId?: string;
}
export interface KubernetesResourceCreateParameters {
clusterName?: string;
name?: string;
namespace?: string;
/**
* Tags of the kubernetes resource.
*/
tags?: string[];
}
export interface KubernetesResourceCreateParametersExistingEndpoint extends KubernetesResourceCreateParameters {
serviceEndpointId?: string;
}
export interface KubernetesResourceCreateParametersNewEndpoint extends KubernetesResourceCreateParameters {
endpoint?: ServiceEndpoint;
}
export interface KubernetesResourcePatchParameters {
authorizationParameters?: {
[key: string]: string;
};
/**
* Provider type (CustomProvider or AzureKubernetesServiceProvider) of the resource to be updated
*/
providerType?: string;
resourceId?: number;
}
export declare enum LogLevel {
Error = 0,
Warning = 1,
Info = 2
}
export declare enum MachineGroupActionFilter {
None = 0,
Manage = 2,
Use = 16
}
/**
* Represents a purchase of resource units in a secondary marketplace.
*/
export interface MarketplacePurchasedLicense {
/**
* The Marketplace display name.
*/
marketplaceName?: string;
/**
* The name of the identity making the purchase as seen by the marketplace
*/
purchaserName?: string;
/**
* The quantity purchased.
*/
purchaseUnitCount?: number;
}
export interface MaskHint {
type?: MaskType;
value?: string;
}
export declare enum MaskType {
Variable = 1,
Regex = 2
}
/**
* Meta data for a metrics column.
*/
export interface MetricsColumnMetaData {
/**
* Name.
*/
columnName?: string;
/**
* Data type.
*/
columnValueType?: string;
}
/**
* Metrics columns header
*/
export interface MetricsColumnsHeader {
/**
* Properties of deployment group for which metrics are provided. E.g. 1: LastJobStatus E.g. 2: TargetState
*/
dimensions?: MetricsColumnMetaData[];
/**
* The types of metrics. E.g. 1: total count of deployment targets. E.g. 2: Average time of deployment to the deployment targets.
*/
metrics?: MetricsColumnMetaData[];
}
/**
* Metrics row.
*/
export interface MetricsRow {
/**
* The values of the properties mentioned as 'Dimensions' in column header. E.g. 1: For a property 'LastJobStatus' - metrics will be provided for 'passed', 'failed', etc. E.g. 2: For a property 'TargetState' - metrics will be provided for 'online', 'offline' targets.
*/
dimensions?: string[];
/**
* Metrics in serialized format. Should be deserialized based on the data type provided in header.
*/
metrics?: string[];
}
export declare enum OperatingSystemType {
Windows = 0,
Linux = 1
}
export declare enum OperationType {
ConfigurationJob = 0,
SizingJob = 1,
IncreaseCapacity = 2,
Reimage = 3,
DeleteVMs = 4
}
export declare enum OrchestrationType {
Uniform = 0,
Flexible = 1
}
/**
* Represents a downloadable package.
*/
export interface PackageMetadata {
/**
* The date the package was created
*/
createdOn?: Date;
/**
* A direct link to download the package.
*/
downloadUrl?: string;
/**
* The UI uses this to display instructions, i.e. "unzip MyAgent.zip"
*/
filename?: string;
/**
* MD5 hash as a base64 string
*/
hashValue?: string;
/**
* A link to documentation
*/
infoUrl?: string;
/**
* The platform (win7, linux, etc.)
*/
platform?: string;
/**
* The type of package (e.g. "agent")
*/
type?: string;
/**
* The package version.
*/
version?: PackageVersion;
}
export interface PackageVersion {
major?: number;
minor?: number;
patch?: number;
}
export interface PlanEnvironment {
mask?: MaskHint[];
options?: {
[key: string]: JobOption;
};
variables?: {
[key: string]: string;
};
}
export declare enum PlanGroupStatus {
Running = 1,
Queued = 2,
All = 3
}
export declare enum PlanGroupStatusFilter {
Running = 1,
Queued = 2,
All = 3
}
export interface ProjectReference {
id?: string;
name?: string;
}
export interface PublishTaskGroupMetadata {
comment?: string;
parentDefinitionRevision?: number;
preview?: boolean;
taskGroupId?: string;
taskGroupRevision?: number;
}
export interface ResourceFilterOptions {
identities?: VSSInterfaces.IdentityRef[];
resourceTypes?: string[];
}
export interface ResourceFilters {
createdBy?: string[];
resourceType?: string[];
searchText?: string;
}
/**
* Resources include Service Connections, Variable Groups and Secure Files.
*/
export interface ResourceItem {
/**
* Gets or sets the identity who created the resource.
*/
createdBy?: VSSInterfaces.IdentityRef;
/**
* Gets or sets description of the resource.
*/
description?: string;
/**
* Gets or sets icon url of the resource.
*/
iconUrl?: string;
/**
* Gets or sets Id of the resource.
*/
id?: string;
/**
* Indicates whether resource is outdated or not.
*/
isOutdated?: boolean;
/**
* Indicates whether resource is shared with other projects or not.
*/
isShared?: boolean;
/**
* Gets or sets name of the resource.
*/
name?: string;
/**
* Gets or sets internal properties of the resource.
*/
properties?: {
[key: string]: string;
};
/**
* Gets or sets resource type.
*/
resourceType?: string;
}
export interface ResourceLimit {
failedToReachAllProviders?: boolean;
hostId?: string;
isHosted?: boolean;
isPremium?: boolean;
parallelismTag?: string;
resourceLimitsData?: {
[key: string]: string;
};
totalCount?: number;
totalMinutes?: number;
}
/**
* A request for a resource's exclusive lock
*/
export interface ResourceLockRequest {
/**
* The date/time this request was assigned.
*/
assignTime?: Date;
/**
* The branch the lock belongs to. It's used only by RunLatest exclusive locks of persisted stages.
*/
branch?: string;
/**
* The ID of the check run waiting on this request
*/
checkRunId?: string;
/**
* The ID of the pipeline that requested this resource
*/
definitionId?: number;
/**
* The date/time this request was finished.
*/
finishTime?: Date;
/**
* The behavior this request should exhibit in relation to other lock requests
*/
lockType?: ExclusiveLockType;
/**
* Attempt of the graph node
*/
nodeAttempt?: number;
/**
* Name of the graph node (currently stage) requesting this resource
*/
nodeName?: string;
/**
* Internal ID for the orchestration plan connected with this request.
*/
planId?: string;
/**
* The ID of the project of the check run and definition exist in
*/
projectId?: string;
/**
* The date/time this request was queued.
*/
queueTime?: Date;
/**
* ID of the request.
*/
requestId?: number;
/**
* The id of the resource
*/
resourceId?: string;
/**
* The type of the resource
*/
resourceType?: string;
/**
* The result of this request.
*/
status?: ResourceLockStatus;
}
export declare enum ResourceLockStatus {
Queued = 0,
InUse = 1,
Finished = 2,
TimedOut = 3,
Canceled = 4,
Abandoned = 5,
WaitingOnChecks = 6
}
export interface ResourcesHubData {
continuationToken?: string;
hasProjectLevelManagePermission?: boolean;
resourceFilterOptions?: ResourceFilterOptions;
resourceFilters?: ResourceFilters;
resourceItems?: ResourceItem[];
}
export interface ResourceUsage {
resourceLimit?: ResourceLimit;
runningRequests?: TaskAgentJobRequest[];
usedCount?: number;
usedMinutes?: number;
}
export interface ResultTransformationDetails {
resultTemplate?: string;
}
export interface SecureFile {
createdBy?: VSSInterfaces.IdentityRef;
createdOn?: Date;
id?: string;
modifiedBy?: VSSInterfaces.IdentityRef;
modifiedOn?: Date;
name?: string;
properties?: {
[key: string]: string;
};
ticket?: string;
}
export declare enum SecureFileActionFilter {
None = 0,
Manage = 2,
Use = 16
}
export interface SecureFileEvent {
eventType?: string;
projectId?: string;
secureFiles?: SecureFile[];
}
export interface SendJobResponse {
events?: JobEventsConfig;
variables?: {
[key: string]: string;
};
}
export interface ServerExecutionDefinition {
events?: EventsConfig;
handlerName?: string;
}
export interface ServerTaskRequestMessage extends JobRequestMessage {
taskDefinition?: TaskDefinition;
taskInstance?: TaskInstance;
}
/**
* Represents an endpoint which may be used by an orchestration job.
*/
export interface ServiceEndpoint {
/**
* Gets or sets the identity reference for the administrators group of the service endpoint.
*/
administratorsGroup?: VSSInterfaces.IdentityRef;
/**
* Gets or sets the authorization data for talking to the endpoint.
*/
authorization?: EndpointAuthorization;
/**
* Gets or sets the identity reference for the user who created the Service endpoint.
*/
createdBy?: VSSInterfaces.IdentityRef;
data?: {
[key: string]: string;
};
/**
* Gets or sets the description of endpoint.
*/
description?: string;
groupScopeId?: string;
/**
* Gets or sets the identifier of this endpoint.
*/
id?: string;
/**
* If this endpoint is disabled.
*/
isDisabled?: boolean;
/**
* EndPoint state indicator
*/
isReady?: boolean;
/**
* Indicates whether service endpoint is shared with other projects or not.
*/
isShared?: boolean;
/**
* Gets or sets the friendly name of the endpoint.
*/
name?: string;
/**
* Error message during creation/deletion of endpoint
*/
operationStatus?: any;
/**
* Gets or sets the owner of the endpoint.
*/
owner?: string;
/**
* Gets or sets the identity reference for the readers group of the service endpoint.
*/
readersGroup?: VSSInterfaces.IdentityRef;
/**
* Gets or sets the type of the endpoint.
*/
type?: string;
/**
* Gets or sets the url of the endpoint.
*/
url?: string;
}
export interface ServiceEndpointAuthenticationScheme {
/**
* Gets or sets the authorization headers of service endpoint authentication scheme.
*/
authorizationHeaders?: AuthorizationHeader[];
/**
* Gets or sets the certificates of service endpoint authentication scheme.
*/
clientCertificates?: ClientCertificate[];
/**
* Gets or sets the display name for the service endpoint authentication scheme.
*/
displayName?: string;
/**
* Gets or sets the input descriptors for the service endpoint authentication scheme.
*/
inputDescriptors?: FormInputInterfaces.InputDescriptor[];
/**
* Gets or sets the scheme for service endpoint authentication.
*/
scheme?: string;
}
export interface ServiceEndpointDetails {
authorization?: EndpointAuthorization;
data?: {
[key: string]: string;
};
type?: string;
url?: string;
}
/**
* Represents service endpoint execution data.
*/
export interface ServiceEndpointExecutionData {
/**
* Gets the definition of service endpoint execution owner.
*/
definition?: TaskOrchestrationOwner;
/**
* Gets the finish time of service endpoint execution.
*/
finishTime?: Date;
/**
* Gets the Id of service endpoint execution data.
*/
id?: number;
/**
* Gets the owner of service endpoint execution data.
*/
owner?: TaskOrchestrationOwner;
/**
* Gets the plan type of service endpoint execution data.
*/
planType?: string;
/**
* Gets the result of service endpoint execution.
*/
result?: TaskResult;
/**
* Gets the start time of service endpoint execution.
*/
startTime?: Date;
}
export interface ServiceEndpointExecutionRecord {
/**
* Gets the execution data of service endpoint execution.
*/
data?: ServiceEndpointExecutionData;
/**
* Gets the Id of service endpoint.
*/
endpointId?: string;
}
export interface ServiceEndpointExecutionRecordsInput {
data?: ServiceEndpointExecutionData;
endpointIds?: string[];
}
export interface ServiceEndpointRequest {
dataSourceDetails?: DataSourceDetails;
resultTransformationDetails?: ResultTransformationDetails;
serviceEndpointDetails?: ServiceEndpointDetails;
}
export interface ServiceEndpointRequestResult {
errorMessage?: string;
result?: any;
statusCode?: string;
}
/**
* Represents type of the service endpoint.
*/
export interface ServiceEndpointType {
/**
* Authentication scheme of service endpoint type.
*/
authenticationSchemes?: ServiceEndpointAuthenticationScheme[];
/**
* Data sources of service endpoint type.
*/
dataSources?: DataSource[];
/**
* Dependency data of service endpoint type.
*/
dependencyData?: DependencyData[];
/**
* Gets or sets the description of service endpoint type.
*/
description?: string;
/**
* Gets or sets the display name of service endpoint type.
*/
displayName?: string;
/**
* Gets or sets the endpoint url of service endpoint type.
*/
endpointUrl?: EndpointUrl;
/**
* Gets or sets the help link of service endpoint type.
*/
helpLink?: HelpLink;
helpMarkDown?: string;
/**
* Gets or sets the icon url of service endpoint type.
*/
iconUrl?: string;
/**
* Input descriptor of service endpoint type.
*/
inputDescriptors?: FormInputInterfaces.InputDescriptor[];
/**
* Gets or sets the name of service endpoint type.
*/
name?: string;
/**
* Trusted hosts of a service endpoint type.
*/
trustedHosts?: string[];
/**
* Gets or sets the ui contribution id of service endpoint type.
*/
uiContributionId?: string;
}
/**
* A task agent.
*/
export interface TaskAgent extends TaskAgentReference {
/**
* The agent cloud request that's currently associated with this agent.
*/
assignedAgentCloudRequest?: TaskAgentCloudRequest;
/**
* The request which is currently assigned to this agent.
*/
assignedRequest?: TaskAgentJobRequest;
/**
* Authorization information for this agent.
*/
authorization?: TaskAgentAuthorization;
/**
* Date on which this agent was created.
*/
createdOn?: Date;
/**
* The last request which was completed by this agent.
*/
lastCompletedRequest?: TaskAgentJobRequest;
/**
* Maximum job parallelism allowed for this agent.
*/
maxParallelism?: number;
/**
* Pending update for this agent.
*/
pendingUpdate?: TaskAgentUpdate;
properties?: any;
/**
* Date on which the last connectivity status change occurred.
*/
statusChangedOn?: Date;
/**
* System-defined capabilities supported by this agent's host. Warning: To set capabilities use the PUT method, PUT will completely overwrite existing capabilities.
*/
systemCapabilities?: {
[key: string]: string;
};
/**
* User-defined capabilities supported by this agent's host. Warning: To set capabilities use the PUT method, PUT will completely overwrite existing capabilities.
*/
userCapabilities?: {
[key: string]: string;
};
}
/**
* Provides data necessary for authorizing the agent using OAuth 2.0 authentication flows.
*/
export interface TaskAgentAuthorization {
/**
* Endpoint used to obtain access tokens from the configured token service.
*/
authorizationUrl?: string;
/**
* Client identifier for this agent.
*/
clientId?: string;
/**
* Public key used to verify the identity of this agent.
*/
publicKey?: TaskAgentPublicKey;
}
export interface TaskAgentCloud {
/**
* Gets or sets a AcquireAgentEndpoint using which a request can be made to acquire new agent
*/
acquireAgentEndpoint?: string;
acquisitionTimeout?: number;
agentCloudId?: number;
getAccountParallelismEndpoint?: string;
getAgentDefinitionEndpoint?: string;
getAgentRequestStatusEndpoint?: string;
id?: string;
/**
* Signifies that this Agent Cloud is internal and should not be user-manageable
*/
internal?: boolean;
maxParallelism?: number;
name?: string;
releaseAgentEndpoint?: string;
sharedSecret?: string;
/**
* Gets or sets the type of the endpoint.
*/
type?: string;
}
export interface TaskAgentCloudRequest {
agent?: TaskAgentReference;
agentCloudId?: number;
agentConnectedTime?: Date;
agentData?: any;
agentSpecification?: any;
pool?: TaskAgentPoolReference;
provisionedTime?: Date;
provisionRequestTime?: Date;
releaseRequestTime?: Date;
requestId?: string;
}
export interface TaskAgentCloudType {
/**
* Gets or sets the display name of agent cloud type.
*/
displayName?: string;
/**
* Gets or sets the input descriptors
*/
inputDescriptors?: FormInputInterfaces.InputDescriptor[];
/**
* Gets or sets the name of agent cloud type.
*/
name?: string;
}
export interface TaskAgentDowngrade extends TaskAgentUpdateReason {
}
export interface TaskAgentJob {
container?: string;
id?: string;
name?: string;
sidecarContainers?: {
[key: string]: string;
};
steps?: TaskAgentJobStep[];
variables?: TaskAgentJobVariable[];
}
/**
* A job request for an agent.
*/
export interface TaskAgentJobRequest {
agentSpecification?: any;
/**
* The date/time this request was assigned.
*/
assignTime?: Date;
/**
* Additional data about the request.
*/
data?: {
[key: string]: string;
};
/**
* The pipeline definition associated with this request
*/
definition?: TaskOrchestrationOwner;
/**
* A list of demands required to fulfill this request.
*/
demands?: Demand[];
/**
* The date/time this request was finished.
*/
finishTime?: Date;
/**
* The host which triggered this request.
*/
hostId?: string;
/**
* ID of the job resulting from this request.
*/
jobId?: string;
/**
* Name of the job resulting from this request.
*/
jobName?: string;
/**
* The deadline for the agent to renew the lock.
*/
lockedUntil?: Date;
matchedAgents?: TaskAgentReference[];
matchesAllAgentsInPool?: boolean;
orchestrationId?: string;
/**
* The pipeline associated with this request
*/
owner?: TaskOrchestrationOwner;
planGroup?: string;
/**
* Internal ID for the orchestration plan connected with this request.
*/
planId?: string;
/**
* Internal detail representing the type of orchestration plan.
*/
planType?: string;
/**
* The ID of the pool this request targets
*/
poolId?: number;
priority?: number;
/**
* The ID of the queue this request targets
*/
queueId?: number;
/**
* The date/time this request was queued.
*/
queueTime?: Date;
/**
* The date/time this request was receieved by an agent.
*/
receiveTime?: Date;
/**
* ID of the request.
*/
requestId?: number;
/**
* The agent allocated for this request.
*/
reservedAgent?: TaskAgentReference;
/**
* The result of this request.
*/
result?: TaskResult;
/**
* Scope of the pipeline; matches the project ID.
*/
scopeId?: string;
/**
* The service which owns this request.
*/
serviceOwner?: string;
statusMessage?: string;
userDelayed?: boolean;
}
/**
* This is useful in getting a list of deployment targets, filtered by the result of their last job.
*/
export declare enum TaskAgentJobResultFilter {
/**
* Only those deployment targets on which last job failed (**Abandoned**, **Canceled**, **Failed**, **Skipped**).
*/
Failed = 1,
/**
* Only those deployment targets on which last job Passed (**Succeeded**, **Succeeded with issues**).
*/
Passed = 2,
/**
* Only those deployment targets that never executed a job.
*/
NeverDeployed = 4,
/**
* All deployment targets.
*/
All = 7
}
export interface TaskAgentJobStep {
condition?: string;
continueOnError?: boolean;
enabled?: boolean;
env?: {
[key: string]: string;
};
id?: string;
inputs?: {
[key: string]: string;
};
name?: string;
retryCountOnTaskFailure?: number;
task?: TaskAgentJobTask;
timeoutInMinutes?: number;
type?: TaskAgentJobStepType;
}
export declare enum TaskAgentJobStepType {
Task = 1,
Action = 2
}
export interface TaskAgentJobTask {
id?: string;
name?: string;
version?: string;
}
export interface TaskAgentJobVariable {
name?: string;
secret?: boolean;
value?: string;
}
export interface TaskAgentManualUpdate extends TaskAgentUpdateReason {
}
/**
* Provides a contract for receiving messages from the task orchestrator.
*/
export interface TaskAgentMessage {
/**
* Gets or sets the body of the message. If the IV property is provided the body will need to be decrypted using the TaskAgentSession.EncryptionKey value in addition to the IV.
*/
body?: string;
/**
* Gets or sets the initialization vector used to encrypt this message.
*/
iV?: number[];
/**
* Gets or sets the message identifier.
*/
messageId?: number;
/**
* Gets or sets the message type, describing the data contract found in TaskAgentMessage.Body.
*/
messageType?: string;
}
export interface TaskAgentMinAgentVersionRequiredUpdate extends TaskAgentUpdateReason {
jobDefinition?: TaskOrchestrationOwner;
jobOwner?: TaskOrchestrationOwner;
minAgentVersion?: Demand;
}
/**
* An organization-level grouping of agents.
*/
export interface TaskAgentPool extends TaskAgentPoolReference {
/**
* The ID of the associated agent cloud.
*/
agentCloudId?: number;
/**
* Whether or not a queue should be automatically provisioned for each project collection.
*/
autoProvision?: boolean;
/**
* Whether or not the pool should autosize itself based on the Agent Cloud Provider settings.
*/
autoSize?: boolean;
/**
* Whether or not agents in this pool are allowed to automatically update
*/
autoUpdate?: boolean;
/**
* Creator of the pool. The creator of the pool is automatically added into the administrators group for the pool on creation.
*/
createdBy?: VSSInterfaces.IdentityRef;
/**
* The date/time of the pool creation.
*/
createdOn?: Date;
/**
* Owner or administrator of the pool.
*/
owner?: VSSInterfaces.IdentityRef;
properties?: any;
/**
* Target parallelism - Only applies to agent pools that are backed by pool providers. It will be null for regular pools.
*/
targetSize?: number;
}
/**
* Filters pools based on whether the calling user has permission to use or manage the pool.
*/
export declare enum TaskAgentPoolActionFilter {
None = 0,
Manage = 2,
Use = 16
}
export interface TaskAgentPoolMaintenanceDefinition {
/**
* Enable maintenance
*/
enabled?: boolean;
/**
* Id
*/
id?: number;
/**
* Maintenance job timeout per agent
*/
jobTimeoutInMinutes?: number;
/**
* Max percentage of agents within a pool running maintenance job at given time
*/
maxConcurrentAgentsPercentage?: number;
options?: TaskAgentPoolMaintenanceOptions;
/**
* Pool reference for the maintenance definition
*/
pool?: TaskAgentPoolReference;
retentionPolicy?: TaskAgentPoolMaintenanceRetentionPolicy;
scheduleSetting?: TaskAgentPoolMaintenanceSchedule;
}
export interface TaskAgentPoolMaintenanceJob {
/**
* The maintenance definition for the maintenance job
*/
definitionId?: number;
/**
* The total error counts during the maintenance job
*/
errorCount?: number;
/**
* Time that the maintenance job was completed
*/
finishTime?: Date;
/**
* Id of the maintenance job
*/
jobId?: number;
/**
* The log download url for the maintenance job
*/
logsDownloadUrl?: string;
/**
* Orchestration/Plan Id for the maintenance job
*/
orchestrationId?: string;
/**
* Pool reference for the maintenance job
*/
pool?: TaskAgentPoolReference;
/**
* Time that the maintenance job was queued
*/
queueTime?: Date;
/**
* The identity that queued the maintenance job
*/
requestedBy?: VSSInterfaces.IdentityRef;
/**
* The maintenance job result
*/
result?: TaskAgentPoolMaintenanceJobResult;
/**
* Time that the maintenance job was started
*/
startTime?: Date;
/**
* Status of the maintenance job
*/
status?: TaskAgentPoolMaintenanceJobStatus;
targetAgents?: TaskAgentPoolMaintenanceJobTargetAgent[];
/**
* The total warning counts during the maintenance job
*/
warningCount?: number;
}
export declare enum TaskAgentPoolMaintenanceJobResult {
Succeeded = 1,
Failed = 2,
Canceled = 4
}
export declare enum TaskAgentPoolMaintenanceJobStatus {
InProgress = 1,
Completed = 2,
Cancelling = 4,
Queued = 8
}
export interface TaskAgentPoolMaintenanceJobTargetAgent {
agent?: TaskAgentReference;
jobId?: number;
result?: TaskAgentPoolMaintenanceJobResult;
status?: TaskAgentPoolMaintenanceJobStatus;
}
export interface TaskAgentPoolMaintenanceOptions {
/**
* time to consider a System.DefaultWorkingDirectory is stale
*/
workingDirectoryExpirationInDays?: number;
}
export interface TaskAgentPoolMaintenanceRetentionPolicy {
/**
* Number of records to keep for maintenance job executed with this definition.
*/
numberOfHistoryRecordsToKeep?: number;
}
export interface TaskAgentPoolMaintenanceSchedule {
/**
* Days for a build (flags enum for days of the week)
*/
daysToBuild?: TaskAgentPoolMaintenanceScheduleDays;
/**
* The Job Id of the Scheduled job that will queue the pool maintenance job.
*/
scheduleJobId?: string;
/**
* Local timezone hour to start
*/
startHours?: number;
/**
* Local timezone minute to start
*/
startMinutes?: number;
/**
* Time zone of the build schedule (string representation of the time zone id)
*/
timeZoneId?: string;
}
export declare enum TaskAgentPoolMaintenanceScheduleDays {
/**
* Do not run.
*/
None = 0,
/**
* Run on Monday.
*/
Monday = 1,
/**
* Run on Tuesday.
*/
Tuesday = 2,
/**
* Run on Wednesday.
*/
Wednesday = 4,
/**
* Run on Thursday.
*/
Thursday = 8,
/**
* Run on Friday.
*/
Friday = 16,
/**
* Run on Saturday.
*/
Saturday = 32,
/**
* Run on Sunday.
*/
Sunday = 64,
/**
* Run on all days of the week.
*/
All = 127
}
/**
* Additional settings and descriptors for a TaskAgentPool
*/
export declare enum TaskAgentPoolOptions {
None = 0,
/**
* TaskAgentPool backed by the Elastic pool service
*/
ElasticPool = 1,
/**
* Set to true if agents are re-imaged after each TaskAgentJobRequest
*/
SingleUseAgents = 2,
/**
* Set to true if agents are held for investigation after a TaskAgentJobRequest failure
*/
PreserveAgentOnJobFailure = 4
}
export interface TaskAgentPoolReference {
id?: number;
/**
* Gets or sets a value indicating whether or not this pool is managed by the service.
*/
isHosted?: boolean;
/**
* Determines whether the pool is legacy.
*/
isLegacy?: boolean;
name?: string;
/**
* Additional pool settings and details
*/
options?: TaskAgentPoolOptions;
/**
* Gets or sets the type of the pool
*/
poolType?: TaskAgentPoolType;
scope?: string;
/**
* Gets the current size of the pool.
*/
size?: number;
}
export interface TaskAgentPoolStatus extends TaskAgentPoolReference {
/**
* Number of requests queued and assigned to an agent. Not running yet.
*/
assignedRequestCount?: number;
/**
* Number of queued requests which are not assigned to any agents
*/
queuedRequestCount?: number;
/**
* Number of currently running requests
*/
runningRequestCount?: number;
}
export interface TaskAgentPoolSummary {
columnsHeader?: MetricsColumnsHeader;
deploymentGroups?: DeploymentGroupReference[];
pool?: TaskAgentPoolReference;
queues?: TaskAgentQueue[];
rows?: MetricsRow[];
}
/**
* The type of agent pool.
*/
export declare enum TaskAgentPoolType {
/**
* A typical pool of task agents
*/
Automation = 1,
/**
* A deployment pool
*/
Deployment = 2
}
/**
* Represents the public key portion of an RSA asymmetric key.
*/
export interface TaskAgentPublicKey {
/**
* Gets or sets the exponent for the public key.
*/
exponent?: number[];
/**
* Gets or sets the modulus for the public key.
*/
modulus?: number[];
}
/**
* An agent queue.
*/
export interface TaskAgentQueue {
/**
* ID of the queue
*/
id?: number;
/**
* Name of the queue
*/
name?: string;
/**
* Pool reference for this queue
*/
pool?: TaskAgentPoolReference;
/**
* Project ID
*/
projectId?: string;
}
/**
* Filters queues based on whether the calling user has permission to use or manage the queue.
*/
export declare enum TaskAgentQueueActionFilter {
None = 0,
Manage = 2,
Use = 16
}
/**
* A reference to an agent.
*/
export interface TaskAgentReference {
_links?: any;
/**
* This agent's access point.
*/
accessPoint?: string;
/**
* Whether or not this agent should run jobs.
*/
enabled?: boolean;
/**
* Identifier of the agent.
*/
id?: number;
/**
* Name of the agent.
*/
name?: string;
/**
* Agent OS.
*/
oSDescription?: string;
/**
* Provisioning state of this agent.
*/
provisioningState?: string;
/**
* Whether or not the agent is online.
*/
status?: TaskAgentStatus;
/**
* Agent version.
*/
version?: string;
}
export declare enum TaskAgentRequestUpdateOptions {
None = 0,
BumpRequestToTop = 1
}
/**
* Represents a session for performing message exchanges from an agent.
*/
export interface TaskAgentSession {
/**
* Gets or sets the agent which is the target of the session.
*/
agent?: TaskAgentReference;
/**
* Gets the key used to encrypt message traffic for this session.
*/
encryptionKey?: TaskAgentSessionKey;
/**
* Gets or sets the owner name of this session. Generally this will be the machine of origination.
*/
ownerName?: string;
/**
* Gets the unique identifier for this session.
*/
sessionId?: string;
systemCapabilities?: {
[key: string]: string;
};
}
/**
* Represents a symmetric key used for message-level encryption for communication sent to an agent.
*/
export interface TaskAgentSessionKey {
/**
* Gets or sets a value indicating whether or not the key value is encrypted. If this value is true, the Value property should be decrypted using the RSA key exchanged with the server during registration.
*/
encrypted?: boolean;
/**
* Gets or sets the symmetric key value.
*/
value?: number[];
}
export declare enum TaskAgentStatus {
Offline = 1,
Online = 2
}
/**
* This is useful in getting a list of deployment targets, filtered by the deployment agent status.
*/
export declare enum TaskAgentStatusFilter {
/**
* Only deployment targets that are offline.
*/
Offline = 1,
/**
* Only deployment targets that are online.
*/
Online = 2,
/**
* All deployment targets.
*/
All = 3
}
/**
* Details about an agent update.
*/
export interface TaskAgentUpdate {
/**
* Current state of this agent update.
*/
currentState?: string;
/**
* Reason for this update.
*/
reason?: TaskAgentUpdateReason;
/**
* Identity which requested this update.
*/
requestedBy?: VSSInterfaces.IdentityRef;
/**
* Date on which this update was requested.
*/
requestTime?: Date;
/**
* Source agent version of the update.
*/
sourceVersion?: PackageVersion;
/**
* Target agent version of the update.
*/
targetVersion?: PackageVersion;
}
export interface TaskAgentUpdateReason {
code?: TaskAgentUpdateReasonType;
}
export declare enum TaskAgentUpdateReasonType {
Manual = 1,
MinAgentVersionRequired = 2,
Downgrade = 3
}
export interface TaskAssignedEvent extends TaskEvent {
}
export interface TaskAttachment {
_links?: any;
createdOn?: Date;
lastChangedBy?: string;
lastChangedOn?: Date;
name?: string;
recordId?: string;
timelineId?: string;
type?: string;
}
export declare enum TaskCommandMode {
Any = 0,
Restricted = 1
}
export interface TaskCommandRestrictions {
mode?: TaskCommandMode;
}
export interface TaskCompletedEvent extends TaskEvent {
/**
* The api request was no delivered successfully
*/
deliveryFailed?: boolean;
/**
* The result of the task.
*/
result?: TaskResult;
}
export interface TaskDefinition {
_buildConfigMapping?: {
[key: string]: string;
};
agentExecution?: TaskExecution;
author?: string;
category?: string;
contentsUploaded?: boolean;
contributionIdentifier?: string;
contributionVersion?: string;
dataSourceBindings?: DataSourceBinding[];
definitionType?: string;
demands?: Demand[];
deprecated?: boolean;
description?: string;
disabled?: boolean;
ecosystem?: string;
execution?: {
[key: string]: any;
};
friendlyName?: string;
groups?: TaskGroupDefinition[];
helpMarkDown?: string;
helpUrl?: string;
hostType?: string;
iconUrl?: string;
id?: string;
inputs?: TaskInputDefinition[];
instanceNameFormat?: string;
minimumAgentVersion?: string;
name?: string;
outputVariables?: TaskOutputVariable[];
packageLocation?: string;
packageType?: string;
postJobExecution?: {
[key: string]: any;
};
preJobExecution?: {
[key: string]: any;
};
preview?: boolean;
releaseNotes?: string;
restrictions?: TaskRestrictions;
runsOn?: string[];
satisfies?: string[];
serverOwned?: boolean;
showEnvironmentVariables?: boolean;
sourceDefinitions?: TaskSourceDefinition[];
sourceLocation?: string;
version?: TaskVersion;
visibility?: string[];
}
export interface TaskDefinitionEndpoint {
/**
* An ID that identifies a service connection to be used for authenticating endpoint requests.
*/
connectionId?: string;
/**
* An Json based keyselector to filter response returned by fetching the endpoint Url.A Json based keyselector must be prefixed with "jsonpath:". KeySelector can be used to specify the filter to get the keys for the values specified with Selector. The following keyselector defines an Json for extracting nodes named 'ServiceName'. endpoint.KeySelector = "jsonpath://ServiceName";
*/
keySelector?: string;
/**
* The scope as understood by Connected Services. Essentially, a project-id for now.
*/
scope?: string;
/**
* An XPath/Json based selector to filter response returned by fetching the endpoint Url. An XPath based selector must be prefixed with the string "xpath:". A Json based selector must be prefixed with "jsonpath:". The following selector defines an XPath for extracting nodes named 'ServiceName'. endpoint.Selector = "xpath://ServiceName";
*/
selector?: string;
/**
* TaskId that this endpoint belongs to.
*/
taskId?: string;
/**
* URL to GET.
*/
url?: string;
}
export interface TaskDefinitionReference {
/**
* Gets or sets the definition type. Values can be 'task' or 'metaTask'.
*/
definitionType: string;
/**
* Gets or sets the unique identifier of task.
*/
id: string;
/**
* Gets or sets the version specification of task.
*/
versionSpec: string;
}
export declare enum TaskDefinitionStatus {
Preinstalled = 1,
ReceivedInstallOrUpdate = 2,
Installed = 3,
ReceivedUninstall = 4,
Uninstalled = 5,
RequestedUpdate = 6,
Updated = 7,
AlreadyUpToDate = 8,
InlineUpdateReceived = 9
}
export interface TaskEvent extends JobEvent {
/**
* The ID of the task definition.
*/
taskId?: string;
}
export interface TaskExecution {
/**
* The utility task to run. Specifying this means that this task definition is simply a meta task to call another task. This is useful for tasks that call utility tasks like powershell and commandline
*/
execTask?: TaskReference;
/**
* If a task is going to run code, then this provides the type/script etc... information by platform. For example, it might look like. net45: { typeName: "Microsoft.TeamFoundation.Automation.Tasks.PowerShellTask", assemblyName: "Microsoft.TeamFoundation.Automation.Tasks.PowerShell.dll" } net20: { typeName: "Microsoft.TeamFoundation.Automation.Tasks.PowerShellTask", assemblyName: "Microsoft.TeamFoundation.Automation.Tasks.PowerShell.dll" } java: { jar: "powershelltask.tasks.automation.teamfoundation.microsoft.com", } node: { script: "powershellhost.js", }
*/
platformInstructions?: {
[key: string]: {
[key: string]: string;
};
};
}
export interface TaskGroup extends TaskDefinition {
/**
* Gets or sets comment.
*/
comment?: string;
/**
* Gets or sets the identity who created.
*/
createdBy?: VSSInterfaces.IdentityRef;
/**
* Gets or sets date on which it got created.
*/
createdOn?: Date;
/**
* Gets or sets as 'true' to indicate as deleted, 'false' otherwise.
*/
deleted?: boolean;
/**
* Gets or sets the identity who modified.
*/
modifiedBy?: VSSInterfaces.IdentityRef;
/**
* Gets or sets date on which it got modified.
*/
modifiedOn?: Date;
/**
* Gets or sets the owner.
*/
owner?: string;
/**
* Gets or sets parent task group Id. This is used while creating a draft task group.
*/
parentDefinitionId?: string;
/**
* Gets or sets revision.
*/
revision?: number;
/**
* Gets or sets the tasks.
*/
tasks?: TaskGroupStep[];
}
export interface TaskGroupCreateParameter {
/**
* Sets author name of the task group.
*/
author?: string;
/**
* Sets category of the task group.
*/
category?: string;
/**
* Sets description of the task group.
*/
description?: string;
/**
* Sets friendly name of the task group.
*/
friendlyName?: string;
/**
* Sets url icon of the task group.
*/
iconUrl?: string;
/**
* Sets input for the task group.
*/
inputs?: TaskInputDefinition[];
/**
* Sets display name of the task group.
*/
instanceNameFormat?: string;
/**
* Sets name of the task group.
*/
name?: string;
/**
* Sets parent task group Id. This is used while creating a draft task group.
*/
parentDefinitionId?: string;
/**
* Sets RunsOn of the task group. Value can be 'Agent', 'Server' or 'DeploymentGroup'.
*/
runsOn?: string[];
/**
* Sets tasks for the task group.
*/
tasks?: TaskGroupStep[];
/**
* Sets version of the task group.
*/
version?: TaskVersion;
}
export interface TaskGroupDefinition {
displayName?: string;
isExpanded?: boolean;
name?: string;
tags?: string[];
visibleRule?: string;
}
export declare enum TaskGroupExpands {
None = 0,
Tasks = 2
}
export interface TaskGroupPublishPreviewParameter extends TaskGroupUpdatePropertiesBase {
/**
* This is to disable previous versions of task group upon publish
*/
disablePriorVersions?: boolean;
/**
* Denotes if task group is in preview
*/
preview?: boolean;
/**
* This is the revision of task group that is getting published
*/
revision?: number;
/**
* This is the version of task group that is getting published
*/
version?: TaskVersion;
}
/**
* Specifies the desired ordering of taskGroups.
*/
export declare enum TaskGroupQueryOrder {
/**
* Order by createdon ascending.
*/
CreatedOnAscending = 0,
/**
* Order by createdon descending.
*/
CreatedOnDescending = 1
}
export interface TaskGroupRestoreParameter extends TaskGroupUpdatePropertiesBase {
/**
* This is to restore deleted Task Group
*/
restore?: boolean;
}
export interface TaskGroupRevision {
changedBy?: VSSInterfaces.IdentityRef;
changedDate?: Date;
changeType?: AuditAction;
comment?: string;
fileId?: number;
majorVersion?: number;
revision?: number;
taskGroupId?: string;
}
/**
* Represents tasks in the task group.
*/
export interface TaskGroupStep {
/**
* Gets or sets as 'true' to run the task always, 'false' otherwise.
*/
alwaysRun?: boolean;
/**
* Gets or sets condition for the task.
*/
condition?: string;
/**
* Gets or sets as 'true' to continue on error, 'false' otherwise.
*/
continueOnError?: boolean;
/**
* Gets or sets the display name.
*/
displayName?: string;
/**
* Gets or sets as task is enabled or not.
*/
enabled?: boolean;
/**
* Gets dictionary of environment variables.
*/
environment?: {
[key: string]: string;
};
/**
* Gets or sets dictionary of inputs.
*/
inputs?: {
[key: string]: string;
};
/**
* Gets or sets the maximum number of retries
*/
retryCountOnTaskFailure?: number;
/**
* Gets or sets the reference of the task.
*/
task?: TaskDefinitionReference;
/**
* Gets or sets the maximum time, in minutes, that a task is allowed to execute on agent before being cancelled by server. A zero value indicates an infinite timeout.
*/
timeoutInMinutes?: number;
}
export interface TaskGroupUpdateParameter {
/**
* Sets author name of the task group.
*/
author?: string;
/**
* Sets category of the task group.
*/
category?: string;
/**
* Sets comment of the task group.
*/
comment?: string;
/**
* Sets description of the task group.
*/
description?: string;
/**
* Sets friendly name of the task group.
*/
friendlyName?: string;
/**
* Sets url icon of the task group.
*/
iconUrl?: string;
/**
* Sets the unique identifier of this field.
*/
id?: string;
/**
* Sets input for the task group.
*/
inputs?: TaskInputDefinition[];
/**
* Sets display name of the task group.
*/
instanceNameFormat?: string;
/**
* Sets name of the task group.
*/
name?: string;
/**
* Gets or sets parent task group Id. This is used while creating a draft task group.
*/
parentDefinitionId?: string;
/**
* Sets revision of the task group.
*/
revision?: number;
/**
* Sets RunsOn of the task group. Value can be 'Agent', 'Server' or 'DeploymentGroup'.
*/
runsOn?: string[];
/**
* Sets tasks for the task group.
*/
tasks?: TaskGroupStep[];
/**
* Sets version of the task group.
*/
version?: TaskVersion;
}
export interface TaskGroupUpdatePropertiesBase {
/**
* Comment for this update request
*/
comment?: string;
}
export interface TaskHubLicenseDetails {
enterpriseUsersCount?: number;
failedToReachAllProviders?: boolean;
freeHostedLicenseCount?: number;
freeLicenseCount?: number;
hasLicenseCountEverUpdated?: boolean;
hostedAgentMinutesFreeCount?: number;
hostedAgentMinutesUsedCount?: number;
hostedLicensesArePremium?: boolean;
msdnUsersCount?: number;
/**
* Microsoft-hosted licenses purchased from VSTS directly.
*/
purchasedHostedLicenseCount?: number;
/**
* Self-hosted licenses purchased from VSTS directly.
*/
purchasedLicenseCount?: number;
totalHostedLicenseCount?: number;
totalLicenseCount?: number;
totalPrivateLicenseCount?: number;
}
export interface TaskHubOidcToken {
oidcToken?: string;
}
export interface TaskInputDefinition extends DistributedTaskCommonInterfaces.TaskInputDefinitionBase {
}
export interface TaskInstance extends TaskReference {
alwaysRun?: boolean;
condition?: string;
continueOnError?: boolean;
displayName?: string;
enabled?: boolean;
environment?: {
[key: string]: string;
};
instanceId?: string;
refName?: string;
retryCountOnTaskFailure?: number;
timeoutInMinutes?: number;
}
/**
* A task log connected to a timeline record.
*/
export interface TaskLog extends TaskLogReference {
/**
* The time of the task log creation.
*/
createdOn?: Date;
/**
* The REST URL of the task log when indexed.
*/
indexLocation?: string;
/**
* The time of the last modification of the task log.
*/
lastChangedOn?: Date;
/**
* The number of the task log lines.
*/
lineCount?: number;
/**
* The path of the task log.
*/
path?: string;
}
/**
* A reference to a task log. This class contains information about the output printed to the timeline record's logs console during pipeline run.
*/
export interface TaskLogReference {
/**
* The ID of the task log.
*/
id?: number;
/**
* The REST URL of the task log.
*/
location?: string;
}
export interface TaskOrchestrationContainer extends TaskOrchestrationItem {
children?: TaskOrchestrationItem[];
continueOnError?: boolean;
data?: {
[key: string]: string;
};
maxConcurrency?: number;
parallel?: boolean;
rollback?: TaskOrchestrationContainer;
}
export interface TaskOrchestrationItem {
itemType?: TaskOrchestrationItemType;
}
export declare enum TaskOrchestrationItemType {
Container = 0,
Job = 1
}
export interface TaskOrchestrationJob extends TaskOrchestrationItem {
demands?: Demand[];
executeAs?: VSSInterfaces.IdentityRef;
executionMode?: string;
executionTimeout?: any;
instanceId?: string;
name?: string;
refName?: string;
tasks?: TaskInstance[];
variables?: {
[key: string]: string;
};
}
export interface TaskOrchestrationOwner {
_links?: any;
id?: number;
name?: string;
}
export interface TaskOrchestrationPlan extends TaskOrchestrationPlanReference {
environment?: PlanEnvironment;
expandedYaml?: TaskLogReference;
finishTime?: Date;
implementation?: TaskOrchestrationContainer;
initializationLog?: TaskLogReference;
requestedById?: string;
requestedForId?: string;
result?: TaskResult;
resultCode?: string;
startTime?: Date;
state?: TaskOrchestrationPlanState;
timeline?: TimelineReference;
}
export interface TaskOrchestrationPlanGroup {
planGroup?: string;
project?: ProjectReference;
runningRequests?: TaskAgentJobRequest[];
}
export interface TaskOrchestrationPlanGroupsQueueMetrics {
count?: number;
status?: PlanGroupStatus;
}
export interface TaskOrchestrationPlanReference {
artifactLocation?: string;
artifactUri?: string;
definition?: TaskOrchestrationOwner;
owner?: TaskOrchestrationOwner;
planGroup?: string;
planId?: string;
planType?: string;
scopeIdentifier?: string;
version?: number;
}
export declare enum TaskOrchestrationPlanState {
InProgress = 1,
Queued = 2,
Completed = 4,
Throttled = 8
}
export interface TaskOrchestrationQueuedPlan {
assignTime?: Date;
definition?: TaskOrchestrationOwner;
owner?: TaskOrchestrationOwner;
planGroup?: string;
planId?: string;
poolId?: number;
queuePosition?: number;
queueTime?: Date;
scopeIdentifier?: string;
}
export interface TaskOrchestrationQueuedPlanGroup {
definition?: TaskOrchestrationOwner;
owner?: TaskOrchestrationOwner;
planGroup?: string;
plans?: TaskOrchestrationQueuedPlan[];
project?: ProjectReference;
queuePosition?: number;
}
export interface TaskOutputVariable {
description?: string;
name?: string;
}
export interface TaskPackageMetadata {
/**
* Gets the name of the package.
*/
type?: string;
/**
* Gets the url of the package.
*/
url?: string;
/**
* Gets the version of the package.
*/
version?: string;
}
/**
* A reference to a task.
*/
export interface TaskReference {
/**
* The ID of the task definition. Corresponds to the id value of task.json file.
Example: CmdLineV2 { "id": "D9BAFED4-0B18-4F58-968D-86655B4D2CE9" }
*/
id?: string;
/**
* A dictionary of inputs specific to a task definition. Corresponds to inputs value of task.json file.
*/
inputs?: {
[key: string]: string;
};
/**
* The name of the task definition. Corresponds to the name value of task.json file.
Example: CmdLineV2 { "name": "CmdLine" }
*/
name?: string;
/**
* The version of the task definition. Corresponds to the version value of task.json file.
Example: CmdLineV2 { "version": { "Major": 2, "Minor": 212, "Patch": 0 } }
*/
version?: string;
}
export interface TaskRestrictions {
commands?: TaskCommandRestrictions;
settableVariables?: TaskVariableRestrictions;
}
/**
* The result of an operation tracked by a timeline record.
*/
export declare enum TaskResult {
Succeeded = 0,
SucceededWithIssues = 1,
Failed = 2,
Canceled = 3,
Skipped = 4,
Abandoned = 5
}
export interface TaskSourceDefinition extends DistributedTaskCommonInterfaces.TaskSourceDefinitionBase {
}
export interface TaskStartedEvent extends TaskEvent {
}
export interface TaskVariableRestrictions {
allowed?: string[];
}
export interface TaskVersion {
isTest?: boolean;
major?: number;
minor?: number;
patch?: number;
}
export interface Timeline extends TimelineReference {
lastChangedBy?: string;
lastChangedOn?: Date;
records?: TimelineRecord[];
}
/**
* An attempt to update a TimelineRecord.
*/
export interface TimelineAttempt {
/**
* The attempt of the record.
*/
attempt?: number;
/**
* The unique identifier for the record.
*/
identifier?: string;
/**
* The record identifier located within the specified timeline.
*/
recordId?: string;
/**
* The timeline identifier which owns the record representing this attempt.
*/
timelineId?: string;
}
/**
* Detailed information about the execution of different operations during pipeline run.
*/
export interface TimelineRecord {
/**
* The specification of an agent running a pipeline job, in binary format. Applicable when record is of type Job.
Example: { "VMImage" : "windows-2019" }
*/
agentSpecification?: any;
/**
* The number of record attempts.
*/
attempt?: number;
/**
* The ID connecting all records updated at the same time. This value is taken from timeline's ChangeId.
*/
changeId?: number;
/**
* A string that indicates the current operation.
*/
currentOperation?: string;
/**
* A reference to a sub-timeline.
*/
details?: TimelineReference;
/**
* The number of errors produced by this operation.
*/
errorCount?: number;
/**
* The finish time of the record.
*/
finishTime?: Date;
/**
* The ID of the record.
*/
id?: string;
/**
* String identifier that is consistent across attempts.
*/
identifier?: string;
/**
* The list of issues produced by this operation.
*/
issues?: Issue[];
/**
* The time the record was last modified.
*/
lastModified?: Date;
/**
* The REST URL of the record.
*/
location?: string;
/**
* A reference to the log produced by this operation.
*/
log?: TaskLogReference;
/**
* The name of the record.
*/
name?: string;
/**
* An ordinal value relative to other records within the timeline.
*/
order?: number;
/**
* The ID of the record's parent.
Example: Stage is a parent of a Phase, Phase is a parent of a Job, Job is a parent of a Task.
*/
parentId?: string;
/**
* The percentage of record completion.
*/
percentComplete?: number;
/**
* The previous record attempts.
*/
previousAttempts?: TimelineAttempt[];
/**
* The ID of the queue which connects projects to agent pools on which the operation ran on. Applicable when record is of type Job.
*/
queueId?: number;
/**
* Name of the referenced record.
*/
refName?: string;
/**
* The result of the record.
*/
result?: TaskResult;
/**
* Evaluation of predefined conditions upon completion of record's operation.
Example: Evaluating `succeeded()`, Result = True
Example: Evaluating `and(succeeded(), eq(variables['system.debug'], False))`, Result = False
*/
resultCode?: string;
/**
* The start time of the record.
*/
startTime?: Date;
/**
* The state of the record.
*/
state?: TimelineRecordState;
/**
* A reference to the task. Applicable when record is of type Task.
*/
task?: TaskReference;
/**
* The type of operation being tracked by the record.
Example: Stage, Phase, Job, Task...
*/
type?: string;
/**
* The variables of the record.
*/
variables?: {
[key: string]: VariableValue;
};
/**
* The number of warnings produced by this operation.
*/
warningCount?: number;
/**
* The name of the agent running the operation. Applicable when record is of type Job.
*/
workerName?: string;
}
export interface TimelineRecordFeedLinesWrapper {
count?: number;
endLine?: number;
startLine?: number;
stepId?: string;
value?: string[];
}
/**
* A reference to a timeline record.
*/
export interface TimelineRecordReference {
/**
* The ID of the record.
*/
id?: string;
/**
* String identifier that is consistent across attempts.
*/
identifier?: string;
/**
* The state of the record.
*/
state?: TimelineRecordState;
}
/**
* The state of the timeline record.
*/
export declare enum TimelineRecordState {
Pending = 0,
InProgress = 1,
Completed = 2
}
/**
* A reference to a timeline.
*/
export interface TimelineReference {
/**
* The change ID.
*/
changeId?: number;
/**
* The ID of the timeline.
*/
id?: string;
/**
* The REST URL of the timeline.
*/
location?: string;
}
export interface ValidationItem {
/**
* Tells whether the current input is valid or not
*/
isValid?: boolean;
/**
* Reason for input validation failure
*/
reason?: string;
/**
* Type of validation item
*/
type?: string;
/**
* Value to validate. The conditional expression to validate for the input for "expression" type Eg:eq(variables['Build.SourceBranch'], 'refs/heads/master');eq(value, 'refs/heads/master')
*/
value?: string;
}
/**
* A variable group is a collection of related variables.
*/
export interface VariableGroup {
/**
* Gets or sets the identity who created the variable group.
*/
createdBy?: VSSInterfaces.IdentityRef;
/**
* Gets or sets the time when variable group was created.
*/
createdOn?: Date;
/**
* Gets or sets description of the variable group.
*/
description?: string;
/**
* Gets or sets id of the variable group.
*/
id?: number;
/**
* Indicates whether variable group is shared with other projects or not.
*/
isShared?: boolean;
/**
* Gets or sets the identity who modified the variable group.
*/
modifiedBy?: VSSInterfaces.IdentityRef;
/**
* Gets or sets the time when variable group was modified
*/
modifiedOn?: Date;
/**
* Gets or sets name of the variable group.
*/
name?: string;
/**
* Gets or sets provider data.
*/
providerData?: VariableGroupProviderData;
/**
* Gets or sets type of the variable group.
*/
type?: string;
/**
* all project references where the variable group is shared with other projects.
*/
variableGroupProjectReferences?: VariableGroupProjectReference[];
/**
* Gets or sets variables contained in the variable group.
*/
variables?: {
[key: string]: VariableValue;
};
}
export declare enum VariableGroupActionFilter {
None = 0,
Manage = 2,
Use = 16
}
export interface VariableGroupParameters {
/**
* Sets description of the variable group.
*/
description?: string;
/**
* Sets name of the variable group.
*/
name?: string;
/**
* Sets provider data.
*/
providerData?: VariableGroupProviderData;
/**
* Sets type of the variable group.
*/
type?: string;
variableGroupProjectReferences?: VariableGroupProjectReference[];
/**
* Sets variables contained in the variable group.
*/
variables?: {
[key: string]: VariableValue;
};
}
/**
* A variable group reference is a shallow reference to variable group.
*/
export interface VariableGroupProjectReference {
/**
* Gets or sets description of the variable group.
*/
description?: string;
/**
* Gets or sets name of the variable group.
*/
name?: string;
/**
* Gets or sets project reference of the variable group.
*/
projectReference?: ProjectReference;
}
/**
* Defines provider data of the variable group.
*/
export interface VariableGroupProviderData {
}
/**
* Specifies the desired ordering of variableGroups.
*/
export declare enum VariableGroupQueryOrder {
/**
* Order by id ascending.
*/
IdAscending = 0,
/**
* Order by id descending.
*/
IdDescending = 1
}
/**
* A wrapper class for a generic variable.
*/
export interface VariableValue {
/**
* Indicates whether the variable can be changed during script's execution runtime.
*/
isReadOnly?: boolean;
/**
* Indicates whether the variable should be encrypted at rest.
*/
isSecret?: boolean;
/**
* The value of the variable.
*/
value?: string;
}
export interface VirtualMachine {
agent?: TaskAgent;
id?: number;
tags?: string[];
}
export interface VirtualMachineGroup extends EnvironmentResource {
poolId?: number;
}
export interface VirtualMachineGroupCreateParameters {
name?: string;
}
export interface VirtualMachineResource extends EnvironmentResource {
agent?: TaskAgent;
}
export interface VirtualMachineResourceCreateParameters {
virtualMachineResource?: VirtualMachineResource;
}
export declare var TypeInfo: {
AadLoginPromptOption: {
enumValues: {
noOption: number;
login: number;
selectAccount: number;
freshLogin: number;
freshLoginWithMfa: number;
};
};
AgentChangeEvent: any;
AgentJobRequestMessage: any;
AgentPoolEvent: any;
AgentQueueEvent: any;
AgentQueuesEvent: any;
AuditAction: {
enumValues: {
add: number;
update: number;
delete: number;
undelete: number;
};
};
AzureKeyVaultVariableGroupProviderData: any;
AzureKeyVaultVariableValue: any;
DemandMinimumVersion: any;
DemandSource: any;
DemandSourceType: {
enumValues: {
task: number;
feature: number;
};
};
DeploymentGroup: any;
DeploymentGroupActionFilter: {
enumValues: {
none: number;
manage: number;
use: number;
};
};
DeploymentGroupExpands: {
enumValues: {
none: number;
machines: number;
tags: number;
};
};
DeploymentGroupMetrics: any;
DeploymentGroupReference: any;
DeploymentMachine: any;
DeploymentMachineChangedData: any;
DeploymentMachineExpands: {
enumValues: {
none: number;
capabilities: number;
assignedRequest: number;
};
};
DeploymentMachineGroup: any;
DeploymentMachineGroupReference: any;
DeploymentMachinesChangeEvent: any;
DeploymentPoolSummary: any;
DeploymentPoolSummaryExpands: {
enumValues: {
none: number;
deploymentGroups: number;
resource: number;
};
};
DeploymentTargetExpands: {
enumValues: {
none: number;
capabilities: number;
assignedRequest: number;
lastCompletedRequest: number;
};
};
ElasticAgentState: {
enumValues: {
none: number;
enabled: number;
online: number;
assigned: number;
};
};
ElasticComputeState: {
enumValues: {
none: number;
healthy: number;
creating: number;
deleting: number;
failed: number;
stopped: number;
reimaging: number;
unhealthyVm: number;
unhealthyVmssVm: number;
};
};
ElasticNode: any;
ElasticNodeSettings: any;
ElasticNodeState: {
enumValues: {
none: number;
new: number;
creatingCompute: number;
startingAgent: number;
idle: number;
assigned: number;
offline: number;
pendingReimage: number;
pendingDelete: number;
saved: number;
deletingCompute: number;
deleted: number;
lost: number;
reimagingCompute: number;
restartingAgent: number;
failedToStartPendingDelete: number;
failedToRestartPendingDelete: number;
failedVMPendingDelete: number;
assignedPendingDelete: number;
retryDelete: number;
unhealthyVm: number;
unhealthyVmPendingDelete: number;
};
};
ElasticPool: any;
ElasticPoolCreationResult: any;
ElasticPoolLog: any;
ElasticPoolSettings: any;
ElasticPoolState: {
enumValues: {
online: number;
offline: number;
unhealthy: number;
new: number;
};
};
EnvironmentActionFilter: {
enumValues: {
none: number;
manage: number;
use: number;
};
};
EnvironmentDeploymentExecutionRecord: any;
EnvironmentExpands: {
enumValues: {
none: number;
resourceReferences: number;
};
};
EnvironmentInstance: any;
EnvironmentResource: any;
EnvironmentResourceDeploymentExecutionRecord: any;
EnvironmentResourceReference: any;
EnvironmentResourceType: {
enumValues: {
undefined: number;
generic: number;
virtualMachine: number;
kubernetes: number;
};
};
ExclusiveLockType: {
enumValues: {
runLatest: number;
sequential: number;
branchRunLatest: number;
parallel: number;
};
};
Issue: any;
IssueType: {
enumValues: {
error: number;
warning: number;
};
};
JobAssignedEvent: any;
JobCompletedEvent: any;
JobEnvironment: any;
JobRequestMessage: any;
KubernetesResource: any;
LogLevel: {
enumValues: {
error: number;
warning: number;
info: number;
};
};
MachineGroupActionFilter: {
enumValues: {
none: number;
manage: number;
use: number;
};
};
MaskHint: any;
MaskType: {
enumValues: {
variable: number;
regex: number;
};
};
OperatingSystemType: {
enumValues: {
windows: number;
linux: number;
};
};
OperationType: {
enumValues: {
configurationJob: number;
sizingJob: number;
increaseCapacity: number;
reimage: number;
deleteVMs: number;
};
};
OrchestrationType: {
enumValues: {
uniform: number;
flexible: number;
};
};
PackageMetadata: any;
PlanEnvironment: any;
PlanGroupStatus: {
enumValues: {
running: number;
queued: number;
all: number;
};
};
PlanGroupStatusFilter: {
enumValues: {
running: number;
queued: number;
all: number;
};
};
ResourceLockRequest: any;
ResourceLockStatus: {
enumValues: {
queued: number;
inUse: number;
finished: number;
timedOut: number;
canceled: number;
abandoned: number;
waitingOnChecks: number;
};
};
ResourceUsage: any;
SecureFile: any;
SecureFileActionFilter: {
enumValues: {
none: number;
manage: number;
use: number;
};
};
SecureFileEvent: any;
ServerTaskRequestMessage: any;
ServiceEndpointAuthenticationScheme: any;
ServiceEndpointExecutionData: any;
ServiceEndpointExecutionRecord: any;
ServiceEndpointExecutionRecordsInput: any;
ServiceEndpointRequestResult: any;
ServiceEndpointType: any;
TaskAgent: any;
TaskAgentCloudRequest: any;
TaskAgentCloudType: any;
TaskAgentDowngrade: any;
TaskAgentJob: any;
TaskAgentJobRequest: any;
TaskAgentJobResultFilter: {
enumValues: {
failed: number;
passed: number;
neverDeployed: number;
all: number;
};
};
TaskAgentJobStep: any;
TaskAgentJobStepType: {
enumValues: {
task: number;
action: number;
};
};
TaskAgentManualUpdate: any;
TaskAgentMinAgentVersionRequiredUpdate: any;
TaskAgentPool: any;
TaskAgentPoolActionFilter: {
enumValues: {
none: number;
manage: number;
use: number;
};
};
TaskAgentPoolMaintenanceDefinition: any;
TaskAgentPoolMaintenanceJob: any;
TaskAgentPoolMaintenanceJobResult: {
enumValues: {
succeeded: number;
failed: number;
canceled: number;
};
};
TaskAgentPoolMaintenanceJobStatus: {
enumValues: {
inProgress: number;
completed: number;
cancelling: number;
queued: number;
};
};
TaskAgentPoolMaintenanceJobTargetAgent: any;
TaskAgentPoolMaintenanceSchedule: any;
TaskAgentPoolMaintenanceScheduleDays: {
enumValues: {
none: number;
monday: number;
tuesday: number;
wednesday: number;
thursday: number;
friday: number;
saturday: number;
sunday: number;
all: number;
};
};
TaskAgentPoolOptions: {
enumValues: {
none: number;
elasticPool: number;
singleUseAgents: number;
preserveAgentOnJobFailure: number;
};
};
TaskAgentPoolReference: any;
TaskAgentPoolStatus: any;
TaskAgentPoolSummary: any;
TaskAgentPoolType: {
enumValues: {
automation: number;
deployment: number;
};
};
TaskAgentQueue: any;
TaskAgentQueueActionFilter: {
enumValues: {
none: number;
manage: number;
use: number;
};
};
TaskAgentReference: any;
TaskAgentRequestUpdateOptions: {
enumValues: {
none: number;
bumpRequestToTop: number;
};
};
TaskAgentSession: any;
TaskAgentStatus: {
enumValues: {
offline: number;
online: number;
};
};
TaskAgentStatusFilter: {
enumValues: {
offline: number;
online: number;
all: number;
};
};
TaskAgentUpdate: any;
TaskAgentUpdateReason: any;
TaskAgentUpdateReasonType: {
enumValues: {
manual: number;
minAgentVersionRequired: number;
downgrade: number;
};
};
TaskAttachment: any;
TaskCommandMode: {
enumValues: {
any: number;
restricted: number;
};
};
TaskCommandRestrictions: any;
TaskCompletedEvent: any;
TaskDefinition: any;
TaskDefinitionStatus: {
enumValues: {
preinstalled: number;
receivedInstallOrUpdate: number;
installed: number;
receivedUninstall: number;
uninstalled: number;
requestedUpdate: number;
updated: number;
alreadyUpToDate: number;
inlineUpdateReceived: number;
};
};
TaskGroup: any;
TaskGroupExpands: {
enumValues: {
none: number;
tasks: number;
};
};
TaskGroupQueryOrder: {
enumValues: {
createdOnAscending: number;
createdOnDescending: number;
};
};
TaskGroupRevision: any;
TaskLog: any;
TaskOrchestrationContainer: any;
TaskOrchestrationItem: any;
TaskOrchestrationItemType: {
enumValues: {
container: number;
job: number;
};
};
TaskOrchestrationJob: any;
TaskOrchestrationPlan: any;
TaskOrchestrationPlanGroup: any;
TaskOrchestrationPlanGroupsQueueMetrics: any;
TaskOrchestrationPlanState: {
enumValues: {
inProgress: number;
queued: number;
completed: number;
throttled: number;
};
};
TaskOrchestrationQueuedPlan: any;
TaskOrchestrationQueuedPlanGroup: any;
TaskRestrictions: any;
TaskResult: {
enumValues: {
succeeded: number;
succeededWithIssues: number;
failed: number;
canceled: number;
skipped: number;
abandoned: number;
};
};
Timeline: any;
TimelineRecord: any;
TimelineRecordReference: any;
TimelineRecordState: {
enumValues: {
pending: number;
inProgress: number;
completed: number;
};
};
VariableGroup: any;
VariableGroupActionFilter: {
enumValues: {
none: number;
manage: number;
use: number;
};
};
VariableGroupQueryOrder: {
enumValues: {
idAscending: number;
idDescending: number;
};
};
VirtualMachine: any;
VirtualMachineGroup: any;
VirtualMachineResource: any;
VirtualMachineResourceCreateParameters: any;
};