azure-devops-node-api
Version:
Node client for Azure DevOps and TFS REST APIs
2,057 lines • 103 kB
TypeScript
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. <remarks> Ignore current authentication state and force the user to authenticate again. This option should be used instead of Login. </remarks>
*/
FreshLogin = 3,
/**
* Force the user to login again with mfa. <remarks> Ignore current authentication state and force the user to authenticate again. This option should be used instead of Login, if MFA is required. </remarks>
*/
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. <br />Example: Code - refers to compilation errors <br />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;
/