func (client *ClientImpl) GetAgentQueue(ctx context.Context, args GetAgentQueueArgs) (*TaskAgentQueue, error) {
	routeValues := make(map[string]string)
	if args.Project != nil && *args.Project != "" {
		routeValues["project"] = *args.Project
	}
	if args.QueueId == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.QueueId"}
	}
	routeValues["queueId"] = strconv.Itoa(*args.QueueId)
	queryParams := url.Values{}
	if args.ActionFilter != nil {
		queryParams.Add("actionFilter", string(*args.ActionFilter))
	}
	locationId, _ := uuid.Parse("900fa995-c559-4923-aae7-f8424fe4fbea")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1-preview.1", routeValues, queryParams, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue TaskAgentQueue
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
[Preview API] Get information about an agent queue.
package taskagent
import (
	"bytes"
	"context"
	"encoding/json"
	"github.com/google/uuid"
	"github.com/microsoft/azure-devops-go-api/azuredevops"
	"net/http"
	"net/url"
	"strconv"
	"strings"
)
var ResourceAreaId, _ = uuid.Parse("a85b8835-c1a1-4aac-ae97-1c3d0ba72dbd")
type Client interface {
	AddAgent(context.Context, AddAgentArgs) (*TaskAgent, error)
	AddAgentCloud(context.Context, AddAgentCloudArgs) (*TaskAgentCloud, error)
	AddAgentPool(context.Context, AddAgentPoolArgs) (*TaskAgentPool, error)
	AddAgentQueue(context.Context, AddAgentQueueArgs) (*TaskAgentQueue, error)
	AddDeploymentGroup(context.Context, AddDeploymentGroupArgs) (*DeploymentGroup, error)
	AddTaskGroup(context.Context, AddTaskGroupArgs) (*TaskGroup, error)
	AddVariableGroup(context.Context, AddVariableGroupArgs) (*VariableGroup, error)
	DeleteAgent(context.Context, DeleteAgentArgs) error
	DeleteAgentCloud(context.Context, DeleteAgentCloudArgs) (*TaskAgentCloud, error)
	DeleteAgentPool(context.Context, DeleteAgentPoolArgs) error
	DeleteAgentQueue(context.Context, DeleteAgentQueueArgs) error
	DeleteDeploymentGroup(context.Context, DeleteDeploymentGroupArgs) error
	DeleteDeploymentTarget(context.Context, DeleteDeploymentTargetArgs) error
	DeleteTaskGroup(context.Context, DeleteTaskGroupArgs) error
	DeleteVariableGroup(context.Context, DeleteVariableGroupArgs) error
	GetAgent(context.Context, GetAgentArgs) (*TaskAgent, error)
	GetAgentCloud(context.Context, GetAgentCloudArgs) (*TaskAgentCloud, error)
	GetAgentCloudRequests(context.Context, GetAgentCloudRequestsArgs) (*[]TaskAgentCloudRequest, error)
	GetAgentClouds(context.Context, GetAgentCloudsArgs) (*[]TaskAgentCloud, error)
	GetAgentCloudTypes(context.Context, GetAgentCloudTypesArgs) (*[]TaskAgentCloudType, error)
	GetAgentPool(context.Context, GetAgentPoolArgs) (*TaskAgentPool, error)
	GetAgentPools(context.Context, GetAgentPoolsArgs) (*[]TaskAgentPool, error)
	GetAgentPoolsByIds(context.Context, GetAgentPoolsByIdsArgs) (*[]TaskAgentPool, error)
	GetAgentQueue(context.Context, GetAgentQueueArgs) (*TaskAgentQueue, error)
	GetAgentQueues(context.Context, GetAgentQueuesArgs) (*[]TaskAgentQueue, error)
	GetAgentQueuesByIds(context.Context, GetAgentQueuesByIdsArgs) (*[]TaskAgentQueue, error)
	GetAgentQueuesByNames(context.Context, GetAgentQueuesByNamesArgs) (*[]TaskAgentQueue, error)
	GetAgents(context.Context, GetAgentsArgs) (*[]TaskAgent, error)
	GetDeploymentGroup(context.Context, GetDeploymentGroupArgs) (*DeploymentGroup, error)
	GetDeploymentGroups(context.Context, GetDeploymentGroupsArgs) (*GetDeploymentGroupsResponseValue, error)
	GetDeploymentTarget(context.Context, GetDeploymentTargetArgs) (*DeploymentMachine, error)
	GetDeploymentTargets(context.Context, GetDeploymentTargetsArgs) (*GetDeploymentTargetsResponseValue, error)
	GetTaskGroups(context.Context, GetTaskGroupsArgs) (*[]TaskGroup, error)
	GetVariableGroup(context.Context, GetVariableGroupArgs) (*VariableGroup, error)
	GetVariableGroups(context.Context, GetVariableGroupsArgs) (*[]VariableGroup, error)
	GetVariableGroupsById(context.Context, GetVariableGroupsByIdArgs) (*[]VariableGroup, error)
	GetYamlSchema(context.Context, GetYamlSchemaArgs) (interface{}, error)
	ReplaceAgent(context.Context, ReplaceAgentArgs) (*TaskAgent, error)
	UpdateAgent(context.Context, UpdateAgentArgs) (*TaskAgent, error)
	UpdateAgentPool(context.Context, UpdateAgentPoolArgs) (*TaskAgentPool, error)
	UpdateDeploymentGroup(context.Context, UpdateDeploymentGroupArgs) (*DeploymentGroup, error)
	UpdateDeploymentTargets(context.Context, UpdateDeploymentTargetsArgs) (*[]DeploymentMachine, error)
	UpdateTaskGroup(context.Context, UpdateTaskGroupArgs) (*TaskGroup, error)
	UpdateVariableGroup(context.Context, UpdateVariableGroupArgs) (*VariableGroup, error)
}
type ClientImpl struct {
	Client azuredevops.Client
}
func NewClient(ctx context.Context, connection *azuredevops.Connection) (Client, error) {
	client, err := connection.GetClientByResourceAreaId(ctx, ResourceAreaId)
	if err != nil {
		return nil, err
	}
	return &ClientImpl{
		Client: *client,
	}, nil
}
func (client *ClientImpl) AddAgent(ctx context.Context, args AddAgentArgs) (*TaskAgent, error) {
	if args.Agent == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.Agent"}
	}
	routeValues := make(map[string]string)
	if args.PoolId == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.PoolId"}
	}
	routeValues["poolId"] = strconv.Itoa(*args.PoolId)
	body, marshalErr := json.Marshal(*args.Agent)
	if marshalErr != nil {
		return nil, marshalErr
	}
	locationId, _ := uuid.Parse("e298ef32-5878-4cab-993c-043836571f42")
	resp, err := client.Client.Send(ctx, http.MethodPost, locationId, "5.1", routeValues, nil, bytes.NewReader(body), "application/json", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue TaskAgent
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type AddAgentArgs struct {
	Agent *TaskAgent
	PoolId *int
}
func (client *ClientImpl) AddAgentCloud(ctx context.Context, args AddAgentCloudArgs) (*TaskAgentCloud, error) {
	if args.AgentCloud == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.AgentCloud"}
	}
	body, marshalErr := json.Marshal(*args.AgentCloud)
	if marshalErr != nil {
		return nil, marshalErr
	}
	locationId, _ := uuid.Parse("bfa72b3d-0fc6-43fb-932b-a7f6559f93b9")
	resp, err := client.Client.Send(ctx, http.MethodPost, locationId, "5.1-preview.1", nil, nil, bytes.NewReader(body), "application/json", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue TaskAgentCloud
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type AddAgentCloudArgs struct {
	AgentCloud *TaskAgentCloud
}
func (client *ClientImpl) AddAgentPool(ctx context.Context, args AddAgentPoolArgs) (*TaskAgentPool, error) {
	if args.Pool == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.Pool"}
	}
	body, marshalErr := json.Marshal(*args.Pool)
	if marshalErr != nil {
		return nil, marshalErr
	}
	locationId, _ := uuid.Parse("a8c47e17-4d56-4a56-92bb-de7ea7dc65be")
	resp, err := client.Client.Send(ctx, http.MethodPost, locationId, "5.1", nil, nil, bytes.NewReader(body), "application/json", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue TaskAgentPool
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type AddAgentPoolArgs struct {
	Pool *TaskAgentPool
}
func (client *ClientImpl) AddAgentQueue(ctx context.Context, args AddAgentQueueArgs) (*TaskAgentQueue, error) {
	if args.Queue == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.Queue"}
	}
	routeValues := make(map[string]string)
	if args.Project != nil && *args.Project != "" {
		routeValues["project"] = *args.Project
	}
	queryParams := url.Values{}
	if args.AuthorizePipelines != nil {
		queryParams.Add("authorizePipelines", strconv.FormatBool(*args.AuthorizePipelines))
	}
	body, marshalErr := json.Marshal(*args.Queue)
	if marshalErr != nil {
		return nil, marshalErr
	}
	locationId, _ := uuid.Parse("900fa995-c559-4923-aae7-f8424fe4fbea")
	resp, err := client.Client.Send(ctx, http.MethodPost, locationId, "5.1-preview.1", routeValues, queryParams, bytes.NewReader(body), "application/json", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue TaskAgentQueue
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type AddAgentQueueArgs struct {
	Queue *TaskAgentQueue
	Project *string
	AuthorizePipelines *bool
}
func (client *ClientImpl) AddDeploymentGroup(ctx context.Context, args AddDeploymentGroupArgs) (*DeploymentGroup, error) {
	if args.DeploymentGroup == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.DeploymentGroup"}
	}
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	body, marshalErr := json.Marshal(*args.DeploymentGroup)
	if marshalErr != nil {
		return nil, marshalErr
	}
	locationId, _ := uuid.Parse("083c4d89-ab35-45af-aa11-7cf66895c53e")
	resp, err := client.Client.Send(ctx, http.MethodPost, locationId, "5.1-preview.1", routeValues, nil, bytes.NewReader(body), "application/json", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue DeploymentGroup
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type AddDeploymentGroupArgs struct {
	DeploymentGroup *DeploymentGroupCreateParameter
	Project *string
}
func (client *ClientImpl) AddTaskGroup(ctx context.Context, args AddTaskGroupArgs) (*TaskGroup, error) {
	if args.TaskGroup == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.TaskGroup"}
	}
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	body, marshalErr := json.Marshal(*args.TaskGroup)
	if marshalErr != nil {
		return nil, marshalErr
	}
	locationId, _ := uuid.Parse("6c08ffbf-dbf1-4f9a-94e5-a1cbd47005e7")
	resp, err := client.Client.Send(ctx, http.MethodPost, locationId, "5.1-preview.1", routeValues, nil, bytes.NewReader(body), "application/json", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue TaskGroup
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type AddTaskGroupArgs struct {
	TaskGroup *TaskGroupCreateParameter
	Project *string
}
func (client *ClientImpl) AddVariableGroup(ctx context.Context, args AddVariableGroupArgs) (*VariableGroup, error) {
	if args.Group == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.Group"}
	}
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	body, marshalErr := json.Marshal(*args.Group)
	if marshalErr != nil {
		return nil, marshalErr
	}
	locationId, _ := uuid.Parse("f5b09dd5-9d54-45a1-8b5a-1c8287d634cc")
	resp, err := client.Client.Send(ctx, http.MethodPost, locationId, "5.1-preview.1", routeValues, nil, bytes.NewReader(body), "application/json", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue VariableGroup
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type AddVariableGroupArgs struct {
	Group *VariableGroupParameters
	Project *string
}
func (client *ClientImpl) DeleteAgent(ctx context.Context, args DeleteAgentArgs) error {
	routeValues := make(map[string]string)
	if args.PoolId == nil {
		return &azuredevops.ArgumentNilError{ArgumentName: "args.PoolId"}
	}
	routeValues["poolId"] = strconv.Itoa(*args.PoolId)
	if args.AgentId == nil {
		return &azuredevops.ArgumentNilError{ArgumentName: "args.AgentId"}
	}
	routeValues["agentId"] = strconv.Itoa(*args.AgentId)
	locationId, _ := uuid.Parse("e298ef32-5878-4cab-993c-043836571f42")
	_, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return err
	}
	return nil
}
type DeleteAgentArgs struct {
	PoolId *int
	AgentId *int
}
func (client *ClientImpl) DeleteAgentCloud(ctx context.Context, args DeleteAgentCloudArgs) (*TaskAgentCloud, error) {
	routeValues := make(map[string]string)
	if args.AgentCloudId == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.AgentCloudId"}
	}
	routeValues["agentCloudId"] = strconv.Itoa(*args.AgentCloudId)
	locationId, _ := uuid.Parse("bfa72b3d-0fc6-43fb-932b-a7f6559f93b9")
	resp, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1-preview.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue TaskAgentCloud
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type DeleteAgentCloudArgs struct {
	AgentCloudId *int
}
func (client *ClientImpl) DeleteAgentPool(ctx context.Context, args DeleteAgentPoolArgs) error {
	routeValues := make(map[string]string)
	if args.PoolId == nil {
		return &azuredevops.ArgumentNilError{ArgumentName: "args.PoolId"}
	}
	routeValues["poolId"] = strconv.Itoa(*args.PoolId)
	locationId, _ := uuid.Parse("a8c47e17-4d56-4a56-92bb-de7ea7dc65be")
	_, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return err
	}
	return nil
}
type DeleteAgentPoolArgs struct {
	PoolId *int
}
func (client *ClientImpl) DeleteAgentQueue(ctx context.Context, args DeleteAgentQueueArgs) error {
	routeValues := make(map[string]string)
	if args.Project != nil && *args.Project != "" {
		routeValues["project"] = *args.Project
	}
	if args.QueueId == nil {
		return &azuredevops.ArgumentNilError{ArgumentName: "args.QueueId"}
	}
	routeValues["queueId"] = strconv.Itoa(*args.QueueId)
	locationId, _ := uuid.Parse("900fa995-c559-4923-aae7-f8424fe4fbea")
	_, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1-preview.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return err
	}
	return nil
}
type DeleteAgentQueueArgs struct {
	QueueId *int
	Project *string
}
func (client *ClientImpl) DeleteDeploymentGroup(ctx context.Context, args DeleteDeploymentGroupArgs) error {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.DeploymentGroupId == nil {
		return &azuredevops.ArgumentNilError{ArgumentName: "args.DeploymentGroupId"}
	}
	routeValues["deploymentGroupId"] = strconv.Itoa(*args.DeploymentGroupId)
	locationId, _ := uuid.Parse("083c4d89-ab35-45af-aa11-7cf66895c53e")
	_, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1-preview.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return err
	}
	return nil
}
type DeleteDeploymentGroupArgs struct {
	Project *string
	DeploymentGroupId *int
}
func (client *ClientImpl) DeleteDeploymentTarget(ctx context.Context, args DeleteDeploymentTargetArgs) error {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.DeploymentGroupId == nil {
		return &azuredevops.ArgumentNilError{ArgumentName: "args.DeploymentGroupId"}
	}
	routeValues["deploymentGroupId"] = strconv.Itoa(*args.DeploymentGroupId)
	if args.TargetId == nil {
		return &azuredevops.ArgumentNilError{ArgumentName: "args.TargetId"}
	}
	routeValues["targetId"] = strconv.Itoa(*args.TargetId)
	locationId, _ := uuid.Parse("2f0aa599-c121-4256-a5fd-ba370e0ae7b6")
	_, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1-preview.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return err
	}
	return nil
}
type DeleteDeploymentTargetArgs struct {
	Project *string
	DeploymentGroupId *int
	TargetId *int
}
func (client *ClientImpl) DeleteTaskGroup(ctx context.Context, args DeleteTaskGroupArgs) error {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.TaskGroupId == nil {
		return &azuredevops.ArgumentNilError{ArgumentName: "args.TaskGroupId"}
	}
	routeValues["taskGroupId"] = (*args.TaskGroupId).String()
	queryParams := url.Values{}
	if args.Comment != nil {
		queryParams.Add("comment", *args.Comment)
	}
	locationId, _ := uuid.Parse("6c08ffbf-dbf1-4f9a-94e5-a1cbd47005e7")
	_, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1-preview.1", routeValues, queryParams, nil, "", "application/json", nil)
	if err != nil {
		return err
	}
	return nil
}
type DeleteTaskGroupArgs struct {
	Project *string
	TaskGroupId *uuid.UUID
	Comment *string
}
func (client *ClientImpl) DeleteVariableGroup(ctx context.Context, args DeleteVariableGroupArgs) error {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.GroupId == nil {
		return &azuredevops.ArgumentNilError{ArgumentName: "args.GroupId"}
	}
	routeValues["groupId"] = strconv.Itoa(*args.GroupId)
	locationId, _ := uuid.Parse("f5b09dd5-9d54-45a1-8b5a-1c8287d634cc")
	_, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1-preview.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return err
	}
	return nil
}
type DeleteVariableGroupArgs struct {
	Project *string
	GroupId *int
}
func (client *ClientImpl) GetAgent(ctx context.Context, args GetAgentArgs) (*TaskAgent, error) {
	routeValues := make(map[string]string)
	if args.PoolId == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.PoolId"}
	}
	routeValues["poolId"] = strconv.Itoa(*args.PoolId)
	if args.AgentId == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.AgentId"}
	}
	routeValues["agentId"] = strconv.Itoa(*args.AgentId)
	queryParams := url.Values{}
	if args.IncludeCapabilities != nil {
		queryParams.Add("includeCapabilities", strconv.FormatBool(*args.IncludeCapabilities))
	}
	if args.IncludeAssignedRequest != nil {
		queryParams.Add("includeAssignedRequest", strconv.FormatBool(*args.IncludeAssignedRequest))
	}
	if args.IncludeLastCompletedRequest != nil {
		queryParams.Add("includeLastCompletedRequest", strconv.FormatBool(*args.IncludeLastCompletedRequest))
	}
	if args.PropertyFilters != nil {
		listAsString := strings.Join((*args.PropertyFilters)[:], ",")
		queryParams.Add("propertyFilters", listAsString)
	}
	locationId, _ := uuid.Parse("e298ef32-5878-4cab-993c-043836571f42")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", routeValues, queryParams, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue TaskAgent
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetAgentArgs struct {
	PoolId *int
	AgentId *int
	IncludeCapabilities *bool
	IncludeAssignedRequest *bool
	IncludeLastCompletedRequest *bool
	PropertyFilters *[]string
}
func (client *ClientImpl) GetAgentCloud(ctx context.Context, args GetAgentCloudArgs) (*TaskAgentCloud, error) {
	routeValues := make(map[string]string)
	if args.AgentCloudId == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.AgentCloudId"}
	}
	routeValues["agentCloudId"] = strconv.Itoa(*args.AgentCloudId)
	locationId, _ := uuid.Parse("bfa72b3d-0fc6-43fb-932b-a7f6559f93b9")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1-preview.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue TaskAgentCloud
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetAgentCloudArgs struct {
	AgentCloudId *int
}
func (client *ClientImpl) GetAgentCloudRequests(ctx context.Context, args GetAgentCloudRequestsArgs) (*[]TaskAgentCloudRequest, error) {
	routeValues := make(map[string]string)
	if args.AgentCloudId == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.AgentCloudId"}
	}
	routeValues["agentCloudId"] = strconv.Itoa(*args.AgentCloudId)
	locationId, _ := uuid.Parse("20189bd7-5134-49c2-b8e9-f9e856eea2b2")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1-preview.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue []TaskAgentCloudRequest
	err = client.Client.UnmarshalCollectionBody(resp, &responseValue)
	return &responseValue, err
}
type GetAgentCloudRequestsArgs struct {
	AgentCloudId *int
}
func (client *ClientImpl) GetAgentClouds(ctx context.Context, args GetAgentCloudsArgs) (*[]TaskAgentCloud, error) {
	locationId, _ := uuid.Parse("bfa72b3d-0fc6-43fb-932b-a7f6559f93b9")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1-preview.1", nil, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue []TaskAgentCloud
	err = client.Client.UnmarshalCollectionBody(resp, &responseValue)
	return &responseValue, err
}
type GetAgentCloudsArgs struct {
}
func (client *ClientImpl) GetAgentCloudTypes(ctx context.Context, args GetAgentCloudTypesArgs) (*[]TaskAgentCloudType, error) {
	locationId, _ := uuid.Parse("5932e193-f376-469d-9c3e-e5588ce12cb5")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1-preview.1", nil, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue []TaskAgentCloudType
	err = client.Client.UnmarshalCollectionBody(resp, &responseValue)
	return &responseValue, err
}
type GetAgentCloudTypesArgs struct {
}
func (client *ClientImpl) GetAgentPool(ctx context.Context, args GetAgentPoolArgs) (*TaskAgentPool, error) {
	routeValues := make(map[string]string)
	if args.PoolId == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.PoolId"}
	}
	routeValues["poolId"] = strconv.Itoa(*args.PoolId)
	queryParams := url.Values{}
	if args.Properties != nil {
		listAsString := strings.Join((*args.Properties)[:], ",")
		queryParams.Add("properties", listAsString)
	}
	if args.ActionFilter != nil {
		queryParams.Add("actionFilter", string(*args.ActionFilter))
	}
	locationId, _ := uuid.Parse("a8c47e17-4d56-4a56-92bb-de7ea7dc65be")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", routeValues, queryParams, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue TaskAgentPool
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetAgentPoolArgs struct {
	PoolId *int
	Properties *[]string
	ActionFilter *TaskAgentPoolActionFilter
}
func (client *ClientImpl) GetAgentPools(ctx context.Context, args GetAgentPoolsArgs) (*[]TaskAgentPool, error) {
	queryParams := url.Values{}
	if args.PoolName != nil {
		queryParams.Add("poolName", *args.PoolName)
	}
	if args.Properties != nil {
		listAsString := strings.Join((*args.Properties)[:], ",")
		queryParams.Add("properties", listAsString)
	}
	if args.PoolType != nil {
		queryParams.Add("poolType", string(*args.PoolType))
	}
	if args.ActionFilter != nil {
		queryParams.Add("actionFilter", string(*args.ActionFilter))
	}
	locationId, _ := uuid.Parse("a8c47e17-4d56-4a56-92bb-de7ea7dc65be")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", nil, queryParams, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue []TaskAgentPool
	err = client.Client.UnmarshalCollectionBody(resp, &responseValue)
	return &responseValue, err
}
type GetAgentPoolsArgs struct {
	PoolName *string
	Properties *[]string
	PoolType *TaskAgentPoolType
	ActionFilter *TaskAgentPoolActionFilter
}
func (client *ClientImpl) GetAgentPoolsByIds(ctx context.Context, args GetAgentPoolsByIdsArgs) (*[]TaskAgentPool, error) {
	queryParams := url.Values{}
	if args.PoolIds == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "poolIds"}
	}
	var stringList []string
	for _, item := range *args.PoolIds {
		stringList = append(stringList, strconv.Itoa(item))
	}
	listAsString := strings.Join((stringList)[:], ",")
	queryParams.Add("poolIds", listAsString)
	if args.ActionFilter != nil {
		queryParams.Add("actionFilter", string(*args.ActionFilter))
	}
	locationId, _ := uuid.Parse("a8c47e17-4d56-4a56-92bb-de7ea7dc65be")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", nil, queryParams, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue []TaskAgentPool
	err = client.Client.UnmarshalCollectionBody(resp, &responseValue)
	return &responseValue, err
}
type GetAgentPoolsByIdsArgs struct {
	PoolIds *[]int
	ActionFilter *TaskAgentPoolActionFilter
}