UNPKG

azure-devops-node-api

Version:
2,057 lines 103 kB
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; /