elastic

package
v7.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2023 License: MIT Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ElasticAgentStateValues = elasticAgentStateValuesType{
	None:     "none",
	Enabled:  "enabled",
	Online:   "online",
	Assigned: "assigned",
}
View Source
var ElasticComputeStateValues = elasticComputeStateValuesType{
	None:      "none",
	Healthy:   "healthy",
	Creating:  "creating",
	Deleting:  "deleting",
	Failed:    "failed",
	Stopped:   "stopped",
	Reimaging: "reimaging",
}
View Source
var ElasticNodeStateValues = elasticNodeStateValuesType{
	None:                         "none",
	New:                          "new",
	CreatingCompute:              "creatingCompute",
	StartingAgent:                "startingAgent",
	Idle:                         "idle",
	Assigned:                     "assigned",
	Offline:                      "offline",
	PendingReimage:               "pendingReimage",
	PendingDelete:                "pendingDelete",
	Saved:                        "saved",
	DeletingCompute:              "deletingCompute",
	Deleted:                      "deleted",
	Lost:                         "lost",
	ReimagingCompute:             "reimagingCompute",
	RestartingAgent:              "restartingAgent",
	FailedToStartPendingDelete:   "failedToStartPendingDelete",
	FailedToRestartPendingDelete: "failedToRestartPendingDelete",
	FailedVMPendingDelete:        "failedVMPendingDelete",
	AssignedPendingDelete:        "assignedPendingDelete",
	RetryDelete:                  "retryDelete",
}
View Source
var ElasticPoolStateValues = elasticPoolStateValuesType{

	Online:    "online",
	Offline:   "offline",
	Unhealthy: "unhealthy",
	New:       "new",
}
View Source
var LogLevelValues = logLevelValuesType{
	Error:   "error",
	Warning: "warning",
	Info:    "info",
}
View Source
var OperatingSystemTypeValues = operatingSystemTypeValuesType{
	Windows: "windows",
	Linux:   "linux",
}
View Source
var OperationTypeValues = operationTypeValuesType{
	ConfigurationJob: "configurationJob",
	SizingJob:        "sizingJob",
	IncreaseCapacity: "increaseCapacity",
	Reimage:          "reimage",
	DeleteVMs:        "deleteVMs",
}
View Source
var OrchestrationTypeValues = orchestrationTypeValuesType{
	Uniform:  "uniform",
	Flexible: "flexible",
}
View Source
var TaskAgentPoolOptionsValues = taskAgentPoolOptionsValuesType{
	None: "none",

	ElasticPool: "elasticPool",

	SingleUseAgents: "singleUseAgents",

	PreserveAgentOnJobFailure: "preserveAgentOnJobFailure",
}
View Source
var TaskAgentPoolTypeValues = taskAgentPoolTypeValuesType{

	Automation: "automation",

	Deployment: "deployment",
}
View Source
var TaskResultValues = taskResultValuesType{
	Succeeded:           "succeeded",
	SucceededWithIssues: "succeededWithIssues",
	Failed:              "failed",
	Canceled:            "canceled",
	Skipped:             "skipped",
	Abandoned:           "abandoned",
}

Functions

This section is empty.

Types

type Client

type Client interface {
	// [Preview API] Create a new elastic pool. This will create a new TaskAgentPool at the organization level. If a project id is provided, this will create a new TaskAgentQueue in the specified project.
	CreateElasticPool(context.Context, CreateElasticPoolArgs) (*ElasticPoolCreationResult, error)
	// [Preview API] Get a list of ElasticNodes currently in the ElasticPool
	GetElasticNodes(context.Context, GetElasticNodesArgs) (*[]ElasticNode, error)
	// [Preview API] Returns the Elastic Pool with the specified Pool Id.
	GetElasticPool(context.Context, GetElasticPoolArgs) (*ElasticPool, error)
	// [Preview API] Get elastic pool diagnostics logs for a specified Elastic Pool.
	GetElasticPoolLogs(context.Context, GetElasticPoolLogsArgs) (*[]ElasticPoolLog, error)
	// [Preview API] Get a list of all Elastic Pools.
	GetElasticPools(context.Context, GetElasticPoolsArgs) (*[]ElasticPool, error)
	// [Preview API] Update properties on a specified ElasticNode
	UpdateElasticNode(context.Context, UpdateElasticNodeArgs) (*ElasticNode, error)
	// [Preview API] Update settings on a specified Elastic Pool.
	UpdateElasticPool(context.Context, UpdateElasticPoolArgs) (*ElasticPool, error)
}

func NewClient

func NewClient(ctx context.Context, connection *azuredevops.Connection) Client

type ClientImpl

type ClientImpl struct {
	Client azuredevops.Client
}

func (*ClientImpl) CreateElasticPool

func (client *ClientImpl) CreateElasticPool(ctx context.Context, args CreateElasticPoolArgs) (*ElasticPoolCreationResult, error)

[Preview API] Create a new elastic pool. This will create a new TaskAgentPool at the organization level. If a project id is provided, this will create a new TaskAgentQueue in the specified project.

func (*ClientImpl) GetElasticNodes

func (client *ClientImpl) GetElasticNodes(ctx context.Context, args GetElasticNodesArgs) (*[]ElasticNode, error)

[Preview API] Get a list of ElasticNodes currently in the ElasticPool

func (*ClientImpl) GetElasticPool

func (client *ClientImpl) GetElasticPool(ctx context.Context, args GetElasticPoolArgs) (*ElasticPool, error)

[Preview API] Returns the Elastic Pool with the specified Pool Id.

func (*ClientImpl) GetElasticPoolLogs

func (client *ClientImpl) GetElasticPoolLogs(ctx context.Context, args GetElasticPoolLogsArgs) (*[]ElasticPoolLog, error)

[Preview API] Get elastic pool diagnostics logs for a specified Elastic Pool.

func (*ClientImpl) GetElasticPools

func (client *ClientImpl) GetElasticPools(ctx context.Context, args GetElasticPoolsArgs) (*[]ElasticPool, error)

[Preview API] Get a list of all Elastic Pools.

func (*ClientImpl) UpdateElasticNode

func (client *ClientImpl) UpdateElasticNode(ctx context.Context, args UpdateElasticNodeArgs) (*ElasticNode, error)

[Preview API] Update properties on a specified ElasticNode

func (*ClientImpl) UpdateElasticPool

func (client *ClientImpl) UpdateElasticPool(ctx context.Context, args UpdateElasticPoolArgs) (*ElasticPool, error)

[Preview API] Update settings on a specified Elastic Pool.

type CreateElasticPoolArgs

type CreateElasticPoolArgs struct {
	// (required) Elastic pool to create. Contains the properties necessary for configuring a new ElasticPool.
	ElasticPool *ElasticPool
	// (required) Name to use for the new TaskAgentPool
	PoolName *string
	// (optional) Setting to determine if all pipelines are authorized to use this TaskAgentPool by default.
	AuthorizeAllPipelines *bool
	// (optional) Setting to automatically provision TaskAgentQueues in every project for the new pool.
	AutoProvisionProjectPools *bool
	// (optional) Optional: If provided, a new TaskAgentQueue will be created in the specified project.
	ProjectId *uuid.UUID
}

Arguments for the CreateElasticPool function

type ElasticAgentState

type ElasticAgentState string

[Flags]

type ElasticComputeState

type ElasticComputeState string

type ElasticNode

type ElasticNode struct {
	// Distributed Task's Agent Id
	AgentId *int `json:"agentId,omitempty"`
	// Summary of the state of the agent
	AgentState *ElasticAgentState `json:"agentState,omitempty"`
	// Compute Id.  VMSS's InstanceId
	ComputeId *string `json:"computeId,omitempty"`
	// State of the compute host
	ComputeState *ElasticComputeState `json:"computeState,omitempty"`
	// Users can force state changes to specific states (ToReimage, ToDelete, Save)
	DesiredState *ElasticNodeState `json:"desiredState,omitempty"`
	// Unique identifier since the agent and/or VM may be null
	Id *int `json:"id,omitempty"`
	// Computer name. Used to match a scaleset VM with an agent
	Name *string `json:"name,omitempty"`
	// Pool Id that this node belongs to
	PoolId *int `json:"poolId,omitempty"`
	// Last job RequestId assigned to this agent
	RequestId *uint64 `json:"requestId,omitempty"`
	// State of the ElasticNode
	State *ElasticNodeState `json:"state,omitempty"`
	// Last state change. Only updated by SQL.
	StateChangedOn *azuredevops.Time `json:"stateChangedOn,omitempty"`
}

Data and settings for an elastic node

type ElasticNodeSettings

type ElasticNodeSettings struct {
	// State of the ElasticNode
	State *ElasticNodeState `json:"state,omitempty"`
}

Class used for updating an elastic node where only certain members are populated

type ElasticNodeState

type ElasticNodeState string

type ElasticPool

type ElasticPool struct {
	// Set whether agents should be configured to run with interactive UI
	AgentInteractiveUI *bool `json:"agentInteractiveUI,omitempty"`
	// Azure string representing to location of the resource
	AzureId *string `json:"azureId,omitempty"`
	// Number of agents to have ready waiting for jobs
	DesiredIdle *int `json:"desiredIdle,omitempty"`
	// The desired size of the pool
	DesiredSize *int `json:"desiredSize,omitempty"`
	// Maximum number of nodes that will exist in the elastic pool
	MaxCapacity *int `json:"maxCapacity,omitempty"`
	// Keep nodes in the pool on failure for investigation
	MaxSavedNodeCount *int `json:"maxSavedNodeCount,omitempty"`
	// Timestamp the pool was first detected to be offline
	OfflineSince *azuredevops.Time `json:"offlineSince,omitempty"`
	// Operating system type of the nodes in the pool
	OrchestrationType *OrchestrationType `json:"orchestrationType,omitempty"`
	// Operating system type of the nodes in the pool
	OsType *OperatingSystemType `json:"osType,omitempty"`
	// Id of the associated TaskAgentPool
	PoolId *int `json:"poolId,omitempty"`
	// Discard node after each job completes
	RecycleAfterEachUse *bool `json:"recycleAfterEachUse,omitempty"`
	// Id of the Service Endpoint used to connect to Azure
	ServiceEndpointId *uuid.UUID `json:"serviceEndpointId,omitempty"`
	// Scope the Service Endpoint belongs to
	ServiceEndpointScope *uuid.UUID `json:"serviceEndpointScope,omitempty"`
	// The number of sizing attempts executed while trying to achieve a desired size
	SizingAttempts *int `json:"sizingAttempts,omitempty"`
	// State of the pool
	State *ElasticPoolState `json:"state,omitempty"`
	// The minimum time in minutes to keep idle agents alive
	TimeToLiveMinutes *int `json:"timeToLiveMinutes,omitempty"`
}

Data and settings for an elastic pool

type ElasticPoolCreationResult

type ElasticPoolCreationResult struct {
	// Created agent pool
	AgentPool *TaskAgentPool `json:"agentPool,omitempty"`
	// Created agent queue
	AgentQueue *TaskAgentQueue `json:"agentQueue,omitempty"`
	// Created elastic pool
	ElasticPool *ElasticPool `json:"elasticPool,omitempty"`
}

Returned result from creating a new elastic pool

type ElasticPoolLog

type ElasticPoolLog struct {
	// Log Id
	Id *uint64 `json:"id,omitempty"`
	// E.g. error, warning, info
	Level *LogLevel `json:"level,omitempty"`
	// Log contents
	Message *string `json:"message,omitempty"`
	// Operation that triggered the message being logged
	Operation *OperationType `json:"operation,omitempty"`
	// Id of the associated TaskAgentPool
	PoolId *int `json:"poolId,omitempty"`
	// Datetime that the log occurred
	Timestamp *azuredevops.Time `json:"timestamp,omitempty"`
}

Log data for an Elastic Pool

type ElasticPoolSettings

type ElasticPoolSettings struct {
	// Set whether agents should be configured to run with interactive UI
	AgentInteractiveUI *bool `json:"agentInteractiveUI,omitempty"`
	// Azure string representing to location of the resource
	AzureId *string `json:"azureId,omitempty"`
	// Number of machines to have ready waiting for jobs
	DesiredIdle *int `json:"desiredIdle,omitempty"`
	// Maximum number of machines that will exist in the elastic pool
	MaxCapacity *int `json:"maxCapacity,omitempty"`
	// Keep machines in the pool on failure for investigation
	MaxSavedNodeCount *int `json:"maxSavedNodeCount,omitempty"`
	// Operating system type of the machines in the pool
	OrchestrationType *OrchestrationType `json:"orchestrationType,omitempty"`
	// Operating system type of the machines in the pool
	OsType *OperatingSystemType `json:"osType,omitempty"`
	// Discard machines after each job completes
	RecycleAfterEachUse *bool `json:"recycleAfterEachUse,omitempty"`
	// Id of the Service Endpoint used to connect to Azure
	ServiceEndpointId *uuid.UUID `json:"serviceEndpointId,omitempty"`
	// Scope the Service Endpoint belongs to
	ServiceEndpointScope *uuid.UUID `json:"serviceEndpointScope,omitempty"`
	// The minimum time in minutes to keep idle agents alive
	TimeToLiveMinutes *int `json:"timeToLiveMinutes,omitempty"`
}

Class used for updating an elastic pool where only certain members are populated

type ElasticPoolState

type ElasticPoolState string

type GetElasticNodesArgs

type GetElasticNodesArgs struct {
	// (required) Pool id of the ElasticPool
	PoolId *int
	// (optional) Optional: Filter to only retrieve ElasticNodes in the given ElasticNodeState
	State *ElasticNodeState
}

Arguments for the GetElasticNodes function

type GetElasticPoolArgs

type GetElasticPoolArgs struct {
	// (required) Pool Id of the associated TaskAgentPool
	PoolId *int
}

Arguments for the GetElasticPool function

type GetElasticPoolLogsArgs

type GetElasticPoolLogsArgs struct {
	// (required) Pool Id of the Elastic Pool
	PoolId *int
	// (optional) Number of elastic pool logs to retrieve
	Top *int
}

Arguments for the GetElasticPoolLogs function

type GetElasticPoolsArgs

type GetElasticPoolsArgs struct {
}

Arguments for the GetElasticPools function

type LogLevel

type LogLevel string

type OperatingSystemType

type OperatingSystemType string

type OperationType

type OperationType string

type OrchestrationType

type OrchestrationType string

type TaskAgentPool

type TaskAgentPool struct {
	Id *int `json:"id,omitempty"`
	// Gets or sets a value indicating whether or not this pool is managed by the service.
	IsHosted *bool `json:"isHosted,omitempty"`
	// Determines whether the pool is legacy.
	IsLegacy *bool   `json:"isLegacy,omitempty"`
	Name     *string `json:"name,omitempty"`
	// Additional pool settings and details
	Options *TaskAgentPoolOptions `json:"options,omitempty"`
	// Gets or sets the type of the pool
	PoolType *TaskAgentPoolType `json:"poolType,omitempty"`
	Scope    *uuid.UUID         `json:"scope,omitempty"`
	// Gets the current size of the pool.
	Size *int `json:"size,omitempty"`
	// The ID of the associated agent cloud.
	AgentCloudId *int `json:"agentCloudId,omitempty"`
	// Whether or not a queue should be automatically provisioned for each project collection.
	AutoProvision *bool `json:"autoProvision,omitempty"`
	// Whether or not the pool should autosize itself based on the Agent Cloud Provider settings.
	AutoSize *bool `json:"autoSize,omitempty"`
	// Whether or not agents in this pool are allowed to automatically update
	AutoUpdate *bool `json:"autoUpdate,omitempty"`
	// Creator of the pool. The creator of the pool is automatically added into the administrators group for the pool on creation.
	CreatedBy *webapi.IdentityRef `json:"createdBy,omitempty"`
	// The date/time of the pool creation.
	CreatedOn *azuredevops.Time `json:"createdOn,omitempty"`
	// Owner or administrator of the pool.
	Owner      *webapi.IdentityRef `json:"owner,omitempty"`
	Properties interface{}         `json:"properties,omitempty"`
	// Target parallelism - Only applies to agent pools that are backed by pool providers. It will be null for regular pools.
	TargetSize *int `json:"targetSize,omitempty"`
}

An organization-level grouping of agents.

type TaskAgentPoolOptions

type TaskAgentPoolOptions string

[Flags] Additional settings and descriptors for a TaskAgentPool

type TaskAgentPoolReference

type TaskAgentPoolReference struct {
	Id *int `json:"id,omitempty"`
	// Gets or sets a value indicating whether or not this pool is managed by the service.
	IsHosted *bool `json:"isHosted,omitempty"`
	// Determines whether the pool is legacy.
	IsLegacy *bool   `json:"isLegacy,omitempty"`
	Name     *string `json:"name,omitempty"`
	// Additional pool settings and details
	Options *TaskAgentPoolOptions `json:"options,omitempty"`
	// Gets or sets the type of the pool
	PoolType *TaskAgentPoolType `json:"poolType,omitempty"`
	Scope    *uuid.UUID         `json:"scope,omitempty"`
	// Gets the current size of the pool.
	Size *int `json:"size,omitempty"`
}

type TaskAgentPoolType

type TaskAgentPoolType string

The type of agent pool.

type TaskAgentQueue

type TaskAgentQueue struct {
	// ID of the queue
	Id *int `json:"id,omitempty"`
	// Name of the queue
	Name *string `json:"name,omitempty"`
	// Pool reference for this queue
	Pool *TaskAgentPoolReference `json:"pool,omitempty"`
	// Project ID
	ProjectId *uuid.UUID `json:"projectId,omitempty"`
}

An agent queue.

type TaskResult

type TaskResult string

The result of an operation tracked by a timeline record.

type UpdateElasticNodeArgs

type UpdateElasticNodeArgs struct {
	// (required)
	ElasticNodeSettings *ElasticNodeSettings
	// (required)
	PoolId *int
	// (required)
	ElasticNodeId *int
}

Arguments for the UpdateElasticNode function

type UpdateElasticPoolArgs

type UpdateElasticPoolArgs struct {
	// (required) New Elastic Pool settings data
	ElasticPoolSettings *ElasticPoolSettings
	// (required)
	PoolId *int
}

Arguments for the UpdateElasticPool function

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL