graphql

package
v0.0.0-...-c8ce297 Latest Latest
Warning

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

Go to latest
Published: May 1, 2024 License: Apache-2.0 Imports: 74 Imported by: 0

README

GraphQL Developer Guide

Modifying the GraphQL Schema
Fields

Add fields to .graphql files in the schema/ folder. When you run make gqlgen, these changes will be processed and a resolver will be generated.

You can also add models in gqlgen.yml. If a GraphQL object has a corresponding model definition in gqlgen.yml, then a resolver will not be generated. Instead you may have to edit the API models which are located in the rest/model/ folder.

Directives

Directives control access to certain mutations and queries. They are defined in schema/directives.graphql but their corresponding functions are not generated through make gqlgen. You will have to manually add or edit the directive functions in resolver.go.

Best Practices for GraphQL
Designing Mutations

When designing mutations, the input and payload should be objects. We often have to add new fields, and it is much easier to add backwards compatible changes if the existing fields are nested within an object.

In practice, this means you should prefer

  abortTask(opts: AbortTaskInput!): AbortTaskPayload

  AbortTaskInput {
    taskId: String!
  }

  AbortTaskPayload {
    task: Task
  }

over

  abortTask(taskId: String!): Task

See the Apollo GraphQL blogpost from which this was referenced.

Note that this guideline only applies to mutations, not queries.

Nullability

Nullability is controlled via the exclamation mark (!). If you put an exclamation mark on a field, it means that the field cannot be null.

In general, you can reference this guide for nullability. Some callouts from this guide:

  • Complex objects should be nullable due to the "bubbling up" effect.
  • Lists should be non-nullable, and items contained within lists should be non-nullable.
  • Booleans should be non-nullable. If you have a third state to represent, consider using an enum. You may also want to consider if the boolean field has the potential to evolve into an enum, such as in the example described here.

These principles apply generally, but you may encounter situations where you'll want to deviate from these rules. Think carefully about marking fields as non-nullable, because if we query for a non-nullable field and get null as a response it will break parts of the application.

Writing GraphQL tests

You can add tests to the tests/ directory. The folder is structured as the following:

.
├── ...
├── resolver/ # Folder representing a resolver, e.g. query
│ ├── field/ # Folder representing a field on a resolver, e.g. mainlineCommits
│ ├──── queries/ # Folder containing query files (.graphql)
│ ├──── data.json # Data for tests in this directory
│ └──── results.json # Results for tests in this directory
└── ...

The tests run via the test runner defined in integration_atomic_test_util.go. If you see some behavior in your tests that can't be explained by what you've added, it's a good idea to check the setup functions defined in this file.

Note: Do not add anything to the testdata/ directory. These tests will eventually be deprecated. They run via the test runner defined in integration_test_util.go.

Note: Tests for directives are located in directive_test.go.

Documentation

Overview

Package graphql provides Evergreen's GraphQL back end.

Code generated by graphql/redact_secrets_plugin.go DO NOT EDIT.

Index

Constants

View Source
const (
	CreateProjectMutation   = "CreateProject"
	CopyProjectMutation     = "CopyProject"
	DeleteProjectMutation   = "DeleteProject"
	SetLastRevisionMutation = "SetLastRevision"
)

Variables

Functions

func GenerateSecretFields

func GenerateSecretFields(cfg *config.Config) error

GenerateSecretFields generates a file that contains a list of fields that should be redacted in logs.

func Handler

func Handler(apiURL string) func(w http.ResponseWriter, r *http.Request)

Handler returns a gimlet http handler func used as the gql route handler

func MakeTestsInDirectory

func MakeTestsInDirectory(state *AtomicGraphQLState, pathToTests string) func(t *testing.T)

func MarshalStringMap

func MarshalStringMap(val map[string]string) graphql.Marshaler

MarshalStringMap handles marshaling StringMap

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

func RedactFieldsInMap

func RedactFieldsInMap(data map[string]interface{}, fieldsToRedact map[string]bool) map[string]interface{}

RedactFieldsInMap recursively searches for and redacts fields in a map. Assumes map structure like map[string]interface{} where interface{} can be another map, a slice, or a basic datatype.

func TestQueries

func TestQueries(t *testing.T, serverURL, pathToTests string)

func UnmarshalStringMap

func UnmarshalStringMap(v interface{}) (map[string]string, error)

UnmarshalStringMap handles unmarshaling StringMap

Types

type AbortInfo

type AbortInfo struct {
	BuildVariantDisplayName string `json:"buildVariantDisplayName"`
	NewVersion              string `json:"newVersion"`
	PrClosed                bool   `json:"prClosed"`
	TaskDisplayName         string `json:"taskDisplayName"`
	TaskID                  string `json:"taskID"`
	User                    string `json:"user"`
}

type AccessLevel

type AccessLevel string
const (
	AccessLevelAdmin AccessLevel = "ADMIN"
	AccessLevelEdit  AccessLevel = "EDIT"
	AccessLevelView  AccessLevel = "VIEW"
)

func (AccessLevel) IsValid

func (e AccessLevel) IsValid() bool

func (AccessLevel) MarshalGQL

func (e AccessLevel) MarshalGQL(w io.Writer)

func (AccessLevel) String

func (e AccessLevel) String() string

func (*AccessLevel) UnmarshalGQL

func (e *AccessLevel) UnmarshalGQL(v interface{}) error

type AnnotationResolver

type AnnotationResolver interface {
	WebhookConfigured(ctx context.Context, obj *model.APITaskAnnotation) (bool, error)
}

type Arch

type Arch string
const (
	ArchLinux64Bit    Arch = "LINUX_64_BIT"
	ArchLinuxArm64Bit Arch = "LINUX_ARM_64_BIT"
	ArchLinuxPpc64Bit Arch = "LINUX_PPC_64_BIT"
	ArchLinuxZseries  Arch = "LINUX_ZSERIES"
	ArchOsx64Bit      Arch = "OSX_64_BIT"
	ArchOsxArm64Bit   Arch = "OSX_ARM_64_BIT"
	ArchWindows64Bit  Arch = "WINDOWS_64_BIT"
)

func (Arch) IsValid

func (e Arch) IsValid() bool

func (Arch) MarshalGQL

func (e Arch) MarshalGQL(w io.Writer)

func (Arch) String

func (e Arch) String() string

func (*Arch) UnmarshalGQL

func (e *Arch) UnmarshalGQL(v interface{}) error

type AtomicGraphQLState

type AtomicGraphQLState struct {
	ServerURL      string
	ApiUser        string
	ApiKey         string
	Directory      string
	DBData         map[string]json.RawMessage
	TaskOutputData map[string]json.RawMessage
	Settings       *evergreen.Settings
}

type BootstrapMethod

type BootstrapMethod string
const (
	BootstrapMethodLegacySSH BootstrapMethod = "LEGACY_SSH"
	BootstrapMethodSSH       BootstrapMethod = "SSH"
	BootstrapMethodUserData  BootstrapMethod = "USER_DATA"
)

func (BootstrapMethod) IsValid

func (e BootstrapMethod) IsValid() bool

func (BootstrapMethod) MarshalGQL

func (e BootstrapMethod) MarshalGQL(w io.Writer)

func (BootstrapMethod) String

func (e BootstrapMethod) String() string

func (*BootstrapMethod) UnmarshalGQL

func (e *BootstrapMethod) UnmarshalGQL(v interface{}) error

type BootstrapSettingsInputResolver

type BootstrapSettingsInputResolver interface {
	Communication(ctx context.Context, obj *model.APIBootstrapSettings, data CommunicationMethod) error

	Method(ctx context.Context, obj *model.APIBootstrapSettings, data BootstrapMethod) error
}

type BootstrapSettingsResolver

type BootstrapSettingsResolver interface {
	Communication(ctx context.Context, obj *model.APIBootstrapSettings) (CommunicationMethod, error)

	Method(ctx context.Context, obj *model.APIBootstrapSettings) (BootstrapMethod, error)
}

type BuildBaron

type BuildBaron struct {
	BbTicketCreationDefined bool                         `json:"bbTicketCreationDefined"`
	BuildBaronConfigured    bool                         `json:"buildBaronConfigured"`
	SearchReturnInfo        *thirdparty.SearchReturnInfo `json:"searchReturnInfo,omitempty"`
}

Build Baron is a service that can be integrated into a project (see Confluence Wiki for more details). This type is returned from the buildBaron query, and contains information about Build Baron configurations and suggested tickets from JIRA for a given task on a given execution.

type BuildVariantOptions

type BuildVariantOptions struct {
	IncludeBaseTasks *bool    `json:"includeBaseTasks,omitempty"`
	Statuses         []string `json:"statuses,omitempty"`
	Tasks            []string `json:"tasks,omitempty"`
	Variants         []string `json:"variants,omitempty"`
}

BuildVariantOptions is an input to the mainlineCommits query. It stores values for statuses, tasks, and variants which are used to filter for matching versions.

type CommunicationMethod

type CommunicationMethod string
const (
	CommunicationMethodLegacySSH CommunicationMethod = "LEGACY_SSH"
	CommunicationMethodSSH       CommunicationMethod = "SSH"
	CommunicationMethodRPC       CommunicationMethod = "RPC"
)

func (CommunicationMethod) IsValid

func (e CommunicationMethod) IsValid() bool

func (CommunicationMethod) MarshalGQL

func (e CommunicationMethod) MarshalGQL(w io.Writer)

func (CommunicationMethod) String

func (e CommunicationMethod) String() string

func (*CommunicationMethod) UnmarshalGQL

func (e *CommunicationMethod) UnmarshalGQL(v interface{}) error

type ComplexityRoot

type ComplexityRoot struct {
	AWSConfig struct {
		MaxVolumeSizePerUser func(childComplexity int) int
		Pod                  func(childComplexity int) int
	}

	AWSPodConfig struct {
		ECS func(childComplexity int) int
	}

	AbortInfo struct {
		BuildVariantDisplayName func(childComplexity int) int
		NewVersion              func(childComplexity int) int
		PrClosed                func(childComplexity int) int
		TaskDisplayName         func(childComplexity int) int
		TaskID                  func(childComplexity int) int
		User                    func(childComplexity int) int
	}

	Annotation struct {
		CreatedIssues     func(childComplexity int) int
		Id                func(childComplexity int) int
		Issues            func(childComplexity int) int
		MetadataLinks     func(childComplexity int) int
		Note              func(childComplexity int) int
		SuspectedIssues   func(childComplexity int) int
		TaskExecution     func(childComplexity int) int
		TaskId            func(childComplexity int) int
		WebhookConfigured func(childComplexity int) int
	}

	BootstrapSettings struct {
		ClientDir             func(childComplexity int) int
		Communication         func(childComplexity int) int
		Env                   func(childComplexity int) int
		JasperBinaryDir       func(childComplexity int) int
		JasperCredentialsPath func(childComplexity int) int
		Method                func(childComplexity int) int
		PreconditionScripts   func(childComplexity int) int
		ResourceLimits        func(childComplexity int) int
		RootDir               func(childComplexity int) int
		ServiceUser           func(childComplexity int) int
		ShellPath             func(childComplexity int) int
	}

	Build struct {
		ActualMakespan    func(childComplexity int) int
		BuildVariant      func(childComplexity int) int
		Id                func(childComplexity int) int
		PredictedMakespan func(childComplexity int) int
		Status            func(childComplexity int) int
	}

	BuildBaron struct {
		BbTicketCreationDefined func(childComplexity int) int
		BuildBaronConfigured    func(childComplexity int) int
		SearchReturnInfo        func(childComplexity int) int
	}

	BuildBaronSettings struct {
		BFSuggestionFeaturesURL func(childComplexity int) int
		BFSuggestionPassword    func(childComplexity int) int
		BFSuggestionServer      func(childComplexity int) int
		BFSuggestionTimeoutSecs func(childComplexity int) int
		BFSuggestionUsername    func(childComplexity int) int
		TicketCreateIssueType   func(childComplexity int) int
		TicketCreateProject     func(childComplexity int) int
		TicketSearchProjects    func(childComplexity int) int
	}

	BuildVariantTuple struct {
		BuildVariant func(childComplexity int) int
		DisplayName  func(childComplexity int) int
	}

	ChildPatchAlias struct {
		Alias   func(childComplexity int) int
		PatchID func(childComplexity int) int
	}

	ClientBinary struct {
		Arch        func(childComplexity int) int
		DisplayName func(childComplexity int) int
		OS          func(childComplexity int) int
		URL         func(childComplexity int) int
	}

	ClientConfig struct {
		ClientBinaries func(childComplexity int) int
		LatestRevision func(childComplexity int) int
	}

	CloudProviderConfig struct {
		AWS func(childComplexity int) int
	}

	CommitQueue struct {
		Message   func(childComplexity int) int
		Owner     func(childComplexity int) int
		ProjectID func(childComplexity int) int
		Queue     func(childComplexity int) int
		Repo      func(childComplexity int) int
	}

	CommitQueueItem struct {
		EnqueueTime func(childComplexity int) int
		Issue       func(childComplexity int) int
		Modules     func(childComplexity int) int
		Patch       func(childComplexity int) int
		Source      func(childComplexity int) int
		Version     func(childComplexity int) int
	}

	CommitQueueParams struct {
		Enabled     func(childComplexity int) int
		MergeMethod func(childComplexity int) int
		MergeQueue  func(childComplexity int) int
		Message     func(childComplexity int) int
	}

	ContainerPool struct {
		Distro        func(childComplexity int) int
		Id            func(childComplexity int) int
		MaxContainers func(childComplexity int) int
		Port          func(childComplexity int) int
	}

	ContainerPoolsConfig struct {
		Pools func(childComplexity int) int
	}

	ContainerResources struct {
		CPU      func(childComplexity int) int
		MemoryMB func(childComplexity int) int
		Name     func(childComplexity int) int
	}

	DeleteDistroPayload struct {
		DeletedDistroID func(childComplexity int) int
	}

	Dependency struct {
		BuildVariant   func(childComplexity int) int
		MetStatus      func(childComplexity int) int
		Name           func(childComplexity int) int
		RequiredStatus func(childComplexity int) int
		TaskID         func(childComplexity int) int
	}

	DispatcherSettings struct {
		Version func(childComplexity int) int
	}

	Distro struct {
		AdminOnly             func(childComplexity int) int
		Aliases               func(childComplexity int) int
		Arch                  func(childComplexity int) int
		AuthorizedKeysFile    func(childComplexity int) int
		BootstrapSettings     func(childComplexity int) int
		ContainerPool         func(childComplexity int) int
		DisableShallowClone   func(childComplexity int) int
		Disabled              func(childComplexity int) int
		DispatcherSettings    func(childComplexity int) int
		Expansions            func(childComplexity int) int
		FinderSettings        func(childComplexity int) int
		HomeVolumeSettings    func(childComplexity int) int
		HostAllocatorSettings func(childComplexity int) int
		IcecreamSettings      func(childComplexity int) int
		IsCluster             func(childComplexity int) int
		IsVirtualWorkstation  func(childComplexity int) int
		Mountpoints           func(childComplexity int) int
		Name                  func(childComplexity int) int
		Note                  func(childComplexity int) int
		PlannerSettings       func(childComplexity int) int
		Provider              func(childComplexity int) int
		ProviderSettingsList  func(childComplexity int) int
		SSHOptions            func(childComplexity int) int
		Setup                 func(childComplexity int) int
		SetupAsSudo           func(childComplexity int) int
		User                  func(childComplexity int) int
		UserSpawnAllowed      func(childComplexity int) int
		ValidProjects         func(childComplexity int) int
		WarningNote           func(childComplexity int) int
		WorkDir               func(childComplexity int) int
	}

	DistroEvent struct {
		After     func(childComplexity int) int
		Before    func(childComplexity int) int
		Data      func(childComplexity int) int
		Timestamp func(childComplexity int) int
		User      func(childComplexity int) int
	}

	DistroEventsPayload struct {
		Count           func(childComplexity int) int
		EventLogEntries func(childComplexity int) int
	}

	DistroInfo struct {
		BootstrapMethod      func(childComplexity int) int
		Id                   func(childComplexity int) int
		IsVirtualWorkstation func(childComplexity int) int
		IsWindows            func(childComplexity int) int
		User                 func(childComplexity int) int
		WorkDir              func(childComplexity int) int
	}

	DistroPermissions struct {
		Admin func(childComplexity int) int
		Edit  func(childComplexity int) int
		View  func(childComplexity int) int
	}

	ECSConfig struct {
		MaxCPU      func(childComplexity int) int
		MaxMemoryMB func(childComplexity int) int
	}

	EnvVar struct {
		Key   func(childComplexity int) int
		Value func(childComplexity int) int
	}

	Expansion struct {
		Key   func(childComplexity int) int
		Value func(childComplexity int) int
	}

	ExternalLink struct {
		DisplayName func(childComplexity int) int
		Requesters  func(childComplexity int) int
		URLTemplate func(childComplexity int) int
	}

	ExternalLinkForMetadata struct {
		DisplayName func(childComplexity int) int
		URL         func(childComplexity int) int
	}

	File struct {
		Link       func(childComplexity int) int
		Name       func(childComplexity int) int
		URLParsley func(childComplexity int) int
		Visibility func(childComplexity int) int
	}

	FileDiff struct {
		Additions   func(childComplexity int) int
		Deletions   func(childComplexity int) int
		Description func(childComplexity int) int
		DiffLink    func(childComplexity int) int
		FileName    func(childComplexity int) int
	}

	FinderSettings struct {
		Version func(childComplexity int) int
	}

	GeneralSubscription struct {
		ID             func(childComplexity int) int
		OwnerType      func(childComplexity int) int
		RegexSelectors func(childComplexity int) int
		ResourceType   func(childComplexity int) int
		Selectors      func(childComplexity int) int
		Subscriber     func(childComplexity int) int
		Trigger        func(childComplexity int) int
		TriggerData    func(childComplexity int) int
	}

	GitTag struct {
		Pusher func(childComplexity int) int
		Tag    func(childComplexity int) int
	}

	GithubCheckSubscriber struct {
		Owner func(childComplexity int) int
		Ref   func(childComplexity int) int
		Repo  func(childComplexity int) int
	}

	GithubPRSubscriber struct {
		Owner    func(childComplexity int) int
		PRNumber func(childComplexity int) int
		Ref      func(childComplexity int) int
		Repo     func(childComplexity int) int
	}

	GithubProjectConflicts struct {
		CommitCheckIdentifiers func(childComplexity int) int
		CommitQueueIdentifiers func(childComplexity int) int
		PRTestingIdentifiers   func(childComplexity int) int
	}

	GithubUser struct {
		LastKnownAs func(childComplexity int) int
		UID         func(childComplexity int) int
	}

	GroupedBuildVariant struct {
		DisplayName func(childComplexity int) int
		Tasks       func(childComplexity int) int
		Variant     func(childComplexity int) int
	}

	GroupedFiles struct {
		Execution func(childComplexity int) int
		Files     func(childComplexity int) int
		TaskID    func(childComplexity int) int
		TaskName  func(childComplexity int) int
	}

	GroupedProjects struct {
		GroupDisplayName func(childComplexity int) int
		Projects         func(childComplexity int) int
		Repo             func(childComplexity int) int
	}

	GroupedTaskStatusCount struct {
		DisplayName  func(childComplexity int) int
		StatusCounts func(childComplexity int) int
		Variant      func(childComplexity int) int
	}

	HomeVolumeSettings struct {
		FormatCommand func(childComplexity int) int
	}

	Host struct {
		Ami                   func(childComplexity int) int
		AvailabilityZone      func(childComplexity int) int
		DisplayName           func(childComplexity int) int
		Distro                func(childComplexity int) int
		DistroID              func(childComplexity int) int
		Elapsed               func(childComplexity int) int
		Expiration            func(childComplexity int) int
		HomeVolume            func(childComplexity int) int
		HomeVolumeID          func(childComplexity int) int
		HostURL               func(childComplexity int) int
		Id                    func(childComplexity int) int
		InstanceTags          func(childComplexity int) int
		InstanceType          func(childComplexity int) int
		LastCommunicationTime func(childComplexity int) int
		NoExpiration          func(childComplexity int) int
		PersistentDNSName     func(childComplexity int) int
		Provider              func(childComplexity int) int
		RunningTask           func(childComplexity int) int
		SleepSchedule         func(childComplexity int) int
		StartedBy             func(childComplexity int) int
		Status                func(childComplexity int) int
		Tag                   func(childComplexity int) int
		TotalIdleTime         func(childComplexity int) int
		Uptime                func(childComplexity int) int
		User                  func(childComplexity int) int
		Volumes               func(childComplexity int) int
	}

	HostAllocatorSettings struct {
		AcceptableHostIdleTime func(childComplexity int) int
		FeedbackRule           func(childComplexity int) int
		FutureHostFraction     func(childComplexity int) int
		HostsOverallocatedRule func(childComplexity int) int
		MaximumHosts           func(childComplexity int) int
		MinimumHosts           func(childComplexity int) int
		RoundingRule           func(childComplexity int) int
		Version                func(childComplexity int) int
	}

	HostEventLogData struct {
		AgentBuild         func(childComplexity int) int
		AgentRevision      func(childComplexity int) int
		Duration           func(childComplexity int) int
		Execution          func(childComplexity int) int
		Hostname           func(childComplexity int) int
		JasperRevision     func(childComplexity int) int
		Logs               func(childComplexity int) int
		MonitorOp          func(childComplexity int) int
		NewStatus          func(childComplexity int) int
		OldStatus          func(childComplexity int) int
		ProvisioningMethod func(childComplexity int) int
		Successful         func(childComplexity int) int
		TaskId             func(childComplexity int) int
		TaskPid            func(childComplexity int) int
		TaskStatus         func(childComplexity int) int
		User               func(childComplexity int) int
	}

	HostEventLogEntry struct {
		Data         func(childComplexity int) int
		EventType    func(childComplexity int) int
		ID           func(childComplexity int) int
		ProcessedAt  func(childComplexity int) int
		ResourceId   func(childComplexity int) int
		ResourceType func(childComplexity int) int
		Timestamp    func(childComplexity int) int
	}

	HostEvents struct {
		Count           func(childComplexity int) int
		EventLogEntries func(childComplexity int) int
	}

	HostsResponse struct {
		FilteredHostsCount func(childComplexity int) int
		Hosts              func(childComplexity int) int
		TotalHostsCount    func(childComplexity int) int
	}

	IceCreamSettings struct {
		ConfigPath    func(childComplexity int) int
		SchedulerHost func(childComplexity int) int
	}

	InstanceTag struct {
		CanBeModified func(childComplexity int) int
		Key           func(childComplexity int) int
		Value         func(childComplexity int) int
	}

	IssueLink struct {
		ConfidenceScore func(childComplexity int) int
		IssueKey        func(childComplexity int) int
		JiraTicket      func(childComplexity int) int
		Source          func(childComplexity int) int
		URL             func(childComplexity int) int
	}

	JiraConfig struct {
		Email func(childComplexity int) int
		Host  func(childComplexity int) int
	}

	JiraField struct {
		DisplayText func(childComplexity int) int
		Field       func(childComplexity int) int
	}

	JiraIssueSubscriber struct {
		IssueType func(childComplexity int) int
		Project   func(childComplexity int) int
	}

	JiraStatus struct {
		Id   func(childComplexity int) int
		Name func(childComplexity int) int
	}

	JiraTicket struct {
		Fields func(childComplexity int) int
		Key    func(childComplexity int) int
	}

	LogMessage struct {
		Message   func(childComplexity int) int
		Severity  func(childComplexity int) int
		Timestamp func(childComplexity int) int
		Type      func(childComplexity int) int
		Version   func(childComplexity int) int
	}

	LogkeeperBuild struct {
		BuildNum      func(childComplexity int) int
		Builder       func(childComplexity int) int
		ID            func(childComplexity int) int
		Task          func(childComplexity int) int
		TaskExecution func(childComplexity int) int
		TaskID        func(childComplexity int) int
		Tests         func(childComplexity int) int
	}

	LogkeeperTest struct {
		BuildID       func(childComplexity int) int
		Command       func(childComplexity int) int
		ID            func(childComplexity int) int
		Name          func(childComplexity int) int
		Phase         func(childComplexity int) int
		TaskExecution func(childComplexity int) int
		TaskID        func(childComplexity int) int
	}

	MainlineCommitVersion struct {
		RolledUpVersions func(childComplexity int) int
		Version          func(childComplexity int) int
	}

	MainlineCommits struct {
		NextPageOrderNumber func(childComplexity int) int
		PrevPageOrderNumber func(childComplexity int) int
		Versions            func(childComplexity int) int
	}

	Manifest struct {
		Branch          func(childComplexity int) int
		ID              func(childComplexity int) int
		IsBase          func(childComplexity int) int
		ModuleOverrides func(childComplexity int) int
		Modules         func(childComplexity int) int
		Project         func(childComplexity int) int
		Revision        func(childComplexity int) int
	}

	MetadataLink struct {
		Source func(childComplexity int) int
		Text   func(childComplexity int) int
		URL    func(childComplexity int) int
	}

	Module struct {
		Issue  func(childComplexity int) int
		Module func(childComplexity int) int
	}

	ModuleCodeChange struct {
		BranchName func(childComplexity int) int
		FileDiffs  func(childComplexity int) int
		HTMLLink   func(childComplexity int) int
		RawLink    func(childComplexity int) int
	}

	Mutation struct {
		AbortTask                     func(childComplexity int, taskID string) int
		AddAnnotationIssue            func(childComplexity int, taskID string, execution int, apiIssue model.APIIssueLink, isIssue bool) int
		AddFavoriteProject            func(childComplexity int, identifier string) int
		AttachProjectToNewRepo        func(childComplexity int, project MoveProjectInput) int
		AttachProjectToRepo           func(childComplexity int, projectID string) int
		AttachVolumeToHost            func(childComplexity int, volumeAndHost VolumeHost) int
		BbCreateTicket                func(childComplexity int, taskID string, execution *int) int
		ClearMySubscriptions          func(childComplexity int) int
		CopyDistro                    func(childComplexity int, opts data.CopyDistroOpts) int
		CopyProject                   func(childComplexity int, project data.CopyProjectOpts, requestS3Creds *bool) int
		CreateDistro                  func(childComplexity int, opts CreateDistroInput) int
		CreateProject                 func(childComplexity int, project model.APIProjectRef, requestS3Creds *bool) int
		CreatePublicKey               func(childComplexity int, publicKeyInput PublicKeyInput) int
		DeactivateStepbackTask        func(childComplexity int, projectID string, buildVariantName string, taskName string) int
		DefaultSectionToRepo          func(childComplexity int, projectID string, section ProjectSettingsSection) int
		DeleteDistro                  func(childComplexity int, opts DeleteDistroInput) int
		DeleteProject                 func(childComplexity int, projectID string) int
		DeleteSubscriptions           func(childComplexity int, subscriptionIds []string) int
		DetachProjectFromRepo         func(childComplexity int, projectID string) int
		DetachVolumeFromHost          func(childComplexity int, volumeID string) int
		EditAnnotationNote            func(childComplexity int, taskID string, execution int, originalMessage string, newMessage string) int
		EditSpawnHost                 func(childComplexity int, spawnHost *EditSpawnHostInput) int
		EnqueuePatch                  func(childComplexity int, patchID string, commitMessage *string) int
		ForceRepotrackerRun           func(childComplexity int, projectID string) int
		MigrateVolume                 func(childComplexity int, volumeID string, spawnHostInput *SpawnHostInput) int
		MoveAnnotationIssue           func(childComplexity int, taskID string, execution int, apiIssue model.APIIssueLink, isIssue bool) int
		OverrideTaskDependencies      func(childComplexity int, taskID string) int
		PromoteVarsToRepo             func(childComplexity int, projectID string, varNames []string) int
		RemoveAnnotationIssue         func(childComplexity int, taskID string, execution int, apiIssue model.APIIssueLink, isIssue bool) int
		RemoveFavoriteProject         func(childComplexity int, identifier string) int
		RemoveItemFromCommitQueue     func(childComplexity int, commitQueueID string, issue string) int
		RemovePublicKey               func(childComplexity int, keyName string) int
		RemoveVolume                  func(childComplexity int, volumeID string) int
		ReprovisionToNew              func(childComplexity int, hostIds []string) int
		RestartJasper                 func(childComplexity int, hostIds []string) int
		RestartTask                   func(childComplexity int, taskID string, failedOnly bool) int
		RestartVersions               func(childComplexity int, versionID string, abort bool, versionsToRestart []*model1.VersionToRestart) int
		SaveDistro                    func(childComplexity int, opts SaveDistroInput) int
		SaveProjectSettingsForSection func(childComplexity int, projectSettings *model.APIProjectSettings, section ProjectSettingsSection) int
		SaveRepoSettingsForSection    func(childComplexity int, repoSettings *model.APIProjectSettings, section ProjectSettingsSection) int
		SaveSubscription              func(childComplexity int, subscription model.APISubscription) int
		SchedulePatch                 func(childComplexity int, patchID string, configure PatchConfigure) int
		ScheduleTasks                 func(childComplexity int, versionID string, taskIds []string) int
		ScheduleUndispatchedBaseTasks func(childComplexity int, versionID string) int
		SetAnnotationMetadataLinks    func(childComplexity int, taskID string, execution int, metadataLinks []*model.APIMetadataLink) int
		SetLastRevision               func(childComplexity int, opts SetLastRevisionInput) int
		SetPatchVisibility            func(childComplexity int, patchIds []string, hidden bool) int
		SetTaskPriority               func(childComplexity int, taskID string, priority int) int
		SetVersionPriority            func(childComplexity int, versionID string, priority int) int
		SpawnHost                     func(childComplexity int, spawnHostInput *SpawnHostInput) int
		SpawnVolume                   func(childComplexity int, spawnVolumeInput SpawnVolumeInput) int
		UnscheduleTask                func(childComplexity int, taskID string) int
		UnscheduleVersionTasks        func(childComplexity int, versionID string, abort bool) int
		UpdateHostStatus              func(childComplexity int, hostIds []string, status string, notes *string) int
		UpdateParsleySettings         func(childComplexity int, opts UpdateParsleySettingsInput) int
		UpdatePublicKey               func(childComplexity int, targetKeyName string, updateInfo PublicKeyInput) int
		UpdateSpawnHostStatus         func(childComplexity int, hostID string, action SpawnHostStatusActions) int
		UpdateUserSettings            func(childComplexity int, userSettings *model.APIUserSettings) int
		UpdateVolume                  func(childComplexity int, updateVolumeInput UpdateVolumeInput) int
	}

	NewDistroPayload struct {
		NewDistroID func(childComplexity int) int
	}

	Note struct {
		Message func(childComplexity int) int
		Source  func(childComplexity int) int
	}

	Notifications struct {
		BuildBreak            func(childComplexity int) int
		BuildBreakID          func(childComplexity int) int
		CommitQueue           func(childComplexity int) int
		CommitQueueID         func(childComplexity int) int
		PatchFinish           func(childComplexity int) int
		PatchFinishID         func(childComplexity int) int
		PatchFirstFailure     func(childComplexity int) int
		PatchFirstFailureID   func(childComplexity int) int
		SpawnHostExpiration   func(childComplexity int) int
		SpawnHostExpirationID func(childComplexity int) int
		SpawnHostOutcome      func(childComplexity int) int
		SpawnHostOutcomeID    func(childComplexity int) int
	}

	OomTrackerInfo struct {
		Detected func(childComplexity int) int
		Pids     func(childComplexity int) int
	}

	Parameter struct {
		Key   func(childComplexity int) int
		Value func(childComplexity int) int
	}

	ParsleyFilter struct {
		CaseSensitive func(childComplexity int) int
		ExactMatch    func(childComplexity int) int
		Expression    func(childComplexity int) int
	}

	ParsleySettings struct {
		JumpToFailingLineEnabled func(childComplexity int) int
		SectionsEnabled          func(childComplexity int) int
	}

	Patch struct {
		Activated               func(childComplexity int) int
		Alias                   func(childComplexity int) int
		Author                  func(childComplexity int) int
		AuthorDisplayName       func(childComplexity int) int
		BaseTaskStatuses        func(childComplexity int) int
		Builds                  func(childComplexity int) int
		CanEnqueueToCommitQueue func(childComplexity int) int
		ChildPatchAliases       func(childComplexity int) int
		ChildPatches            func(childComplexity int) int
		CommitQueuePosition     func(childComplexity int) int
		CreateTime              func(childComplexity int) int
		Description             func(childComplexity int) int
		Duration                func(childComplexity int) int
		Githash                 func(childComplexity int) int
		Hidden                  func(childComplexity int) int
		Id                      func(childComplexity int) int
		ModuleCodeChanges       func(childComplexity int) int
		Parameters              func(childComplexity int) int
		PatchNumber             func(childComplexity int) int
		PatchTriggerAliases     func(childComplexity int) int
		Project                 func(childComplexity int) int
		ProjectId               func(childComplexity int) int
		ProjectIdentifier       func(childComplexity int) int
		ProjectMetadata         func(childComplexity int) int
		Status                  func(childComplexity int) int
		TaskCount               func(childComplexity int) int
		TaskStatuses            func(childComplexity int) int
		Tasks                   func(childComplexity int) int
		Time                    func(childComplexity int) int
		Variants                func(childComplexity int) int
		VariantsTasks           func(childComplexity int) int
		VersionFull             func(childComplexity int) int
	}

	PatchDuration struct {
		Makespan  func(childComplexity int) int
		Time      func(childComplexity int) int
		TimeTaken func(childComplexity int) int
	}

	PatchProject struct {
		Variants func(childComplexity int) int
	}

	PatchTime struct {
		Finished    func(childComplexity int) int
		Started     func(childComplexity int) int
		SubmittedAt func(childComplexity int) int
	}

	PatchTriggerAlias struct {
		Alias                  func(childComplexity int) int
		ChildProjectId         func(childComplexity int) int
		ChildProjectIdentifier func(childComplexity int) int
		ParentAsModule         func(childComplexity int) int
		Status                 func(childComplexity int) int
		TaskSpecifiers         func(childComplexity int) int
		VariantsTasks          func(childComplexity int) int
	}

	Patches struct {
		FilteredPatchCount func(childComplexity int) int
		Patches            func(childComplexity int) int
	}

	PeriodicBuild struct {
		Alias         func(childComplexity int) int
		ConfigFile    func(childComplexity int) int
		Cron          func(childComplexity int) int
		ID            func(childComplexity int) int
		IntervalHours func(childComplexity int) int
		Message       func(childComplexity int) int
		NextRunTime   func(childComplexity int) int
	}

	Permissions struct {
		CanCreateDistro      func(childComplexity int) int
		CanCreateProject     func(childComplexity int) int
		CanEditAdminSettings func(childComplexity int) int
		DistroPermissions    func(childComplexity int, options DistroPermissionsOptions) int
		ProjectPermissions   func(childComplexity int, options ProjectPermissionsOptions) int
		UserID               func(childComplexity int) int
	}

	PlannerSettings struct {
		CommitQueueFactor         func(childComplexity int) int
		ExpectedRuntimeFactor     func(childComplexity int) int
		GenerateTaskFactor        func(childComplexity int) int
		GroupVersions             func(childComplexity int) int
		MainlineTimeInQueueFactor func(childComplexity int) int
		PatchFactor               func(childComplexity int) int
		PatchTimeInQueueFactor    func(childComplexity int) int
		TargetTime                func(childComplexity int) int
		Version                   func(childComplexity int) int
	}

	Pod struct {
		Events                    func(childComplexity int, limit *int, page *int) int
		ID                        func(childComplexity int) int
		Status                    func(childComplexity int) int
		Task                      func(childComplexity int) int
		TaskContainerCreationOpts func(childComplexity int) int
		Type                      func(childComplexity int) int
	}

	PodEventLogData struct {
		NewStatus     func(childComplexity int) int
		OldStatus     func(childComplexity int) int
		Reason        func(childComplexity int) int
		Task          func(childComplexity int) int
		TaskExecution func(childComplexity int) int
		TaskID        func(childComplexity int) int
		TaskStatus    func(childComplexity int) int
	}

	PodEventLogEntry struct {
		Data         func(childComplexity int) int
		EventType    func(childComplexity int) int
		ID           func(childComplexity int) int
		ProcessedAt  func(childComplexity int) int
		ResourceId   func(childComplexity int) int
		ResourceType func(childComplexity int) int
		Timestamp    func(childComplexity int) int
	}

	PodEvents struct {
		Count           func(childComplexity int) int
		EventLogEntries func(childComplexity int) int
	}

	PreconditionScript struct {
		Path   func(childComplexity int) int
		Script func(childComplexity int) int
	}

	Project struct {
		Admins                   func(childComplexity int) int
		Banner                   func(childComplexity int) int
		BatchTime                func(childComplexity int) int
		Branch                   func(childComplexity int) int
		BuildBaronSettings       func(childComplexity int) int
		CommitQueue              func(childComplexity int) int
		ContainerSizeDefinitions func(childComplexity int) int
		DeactivatePrevious       func(childComplexity int) int
		DisabledStatsCache       func(childComplexity int) int
		DispatchingDisabled      func(childComplexity int) int
		DisplayName              func(childComplexity int) int
		Enabled                  func(childComplexity int) int
		ExternalLinks            func(childComplexity int) int
		GitTagAuthorizedTeams    func(childComplexity int) int
		GitTagAuthorizedUsers    func(childComplexity int) int
		GitTagVersionsEnabled    func(childComplexity int) int
		GithubChecksEnabled      func(childComplexity int) int
		GithubTriggerAliases     func(childComplexity int) int
		Hidden                   func(childComplexity int) int
		Id                       func(childComplexity int) int
		Identifier               func(childComplexity int) int
		IsFavorite               func(childComplexity int) int
		ManualPRTestingEnabled   func(childComplexity int) int
		NotifyOnBuildFailure     func(childComplexity int) int
		OldestAllowedMergeBase   func(childComplexity int) int
		Owner                    func(childComplexity int) int
		PRTestingEnabled         func(childComplexity int) int
		ParsleyFilters           func(childComplexity int) int
		PatchTriggerAliases      func(childComplexity int) int
		Patches                  func(childComplexity int, patchesInput PatchesInput) int
		PatchingDisabled         func(childComplexity int) int
		PerfEnabled              func(childComplexity int) int
		PeriodicBuilds           func(childComplexity int) int
		Private                  func(childComplexity int) int
		ProjectHealthView        func(childComplexity int) int
		RemotePath               func(childComplexity int) int
		Repo                     func(childComplexity int) int
		RepoRefId                func(childComplexity int) int
		RepotrackerDisabled      func(childComplexity int) int
		RepotrackerError         func(childComplexity int) int
		Restricted               func(childComplexity int) int
		SpawnHostScriptPath      func(childComplexity int) int
		StepbackBisect           func(childComplexity int) int
		StepbackDisabled         func(childComplexity int) int
		TaskAnnotationSettings   func(childComplexity int) int
		TaskSync                 func(childComplexity int) int
		TracksPushEvents         func(childComplexity int) int
		Triggers                 func(childComplexity int) int
		VersionControlEnabled    func(childComplexity int) int
		WorkstationConfig        func(childComplexity int) int
	}

	ProjectAlias struct {
		Alias       func(childComplexity int) int
		Description func(childComplexity int) int
		GitTag      func(childComplexity int) int
		ID          func(childComplexity int) int
		Parameters  func(childComplexity int) int
		RemotePath  func(childComplexity int) int
		Task        func(childComplexity int) int
		TaskTags    func(childComplexity int) int
		Variant     func(childComplexity int) int
		VariantTags func(childComplexity int) int
	}

	ProjectBanner struct {
		Text  func(childComplexity int) int
		Theme func(childComplexity int) int
	}

	ProjectBuildVariant struct {
		DisplayName func(childComplexity int) int
		Name        func(childComplexity int) int
		Tasks       func(childComplexity int) int
	}

	ProjectEventLogEntry struct {
		After     func(childComplexity int) int
		Before    func(childComplexity int) int
		Timestamp func(childComplexity int) int
		User      func(childComplexity int) int
	}

	ProjectEventSettings struct {
		Aliases               func(childComplexity int) int
		GithubWebhooksEnabled func(childComplexity int) int
		ProjectRef            func(childComplexity int) int
		Subscriptions         func(childComplexity int) int
		Vars                  func(childComplexity int) int
	}

	ProjectEvents struct {
		Count           func(childComplexity int) int
		EventLogEntries func(childComplexity int) int
	}

	ProjectPermissions struct {
		Edit func(childComplexity int) int
		View func(childComplexity int) int
	}

	ProjectSettings struct {
		Aliases               func(childComplexity int) int
		GithubWebhooksEnabled func(childComplexity int) int
		ProjectRef            func(childComplexity int) int
		Subscriptions         func(childComplexity int) int
		Vars                  func(childComplexity int) int
	}

	ProjectVars struct {
		AdminOnlyVars func(childComplexity int) int
		PrivateVars   func(childComplexity int) int
		Vars          func(childComplexity int) int
	}

	PublicKey struct {
		Key  func(childComplexity int) int
		Name func(childComplexity int) int
	}

	Query struct {
		AwsRegions               func(childComplexity int) int
		BbGetCreatedTickets      func(childComplexity int, taskID string) int
		BuildBaron               func(childComplexity int, taskID string, execution int) int
		BuildVariantsForTaskName func(childComplexity int, projectIdentifier string, taskName string) int
		ClientConfig             func(childComplexity int) int
		CommitQueue              func(childComplexity int, projectIdentifier string) int
		Distro                   func(childComplexity int, distroID string) int
		DistroEvents             func(childComplexity int, opts DistroEventsInput) int
		DistroTaskQueue          func(childComplexity int, distroID string) int
		Distros                  func(childComplexity int, onlySpawnable bool) int
		GithubProjectConflicts   func(childComplexity int, projectID string) int
		HasVersion               func(childComplexity int, patchID string) int
		Host                     func(childComplexity int, hostID string) int
		HostEvents               func(childComplexity int, hostID string, hostTag *string, limit *int, page *int) int
		Hosts                    func(childComplexity int, hostID *string, distroID *string, currentTaskID *string, statuses []string, startedBy *string, sortBy *HostSortBy, sortDir *SortDirection, page *int, limit *int) int
		InstanceTypes            func(childComplexity int) int
		LogkeeperBuildMetadata   func(childComplexity int, buildID string) int
		MainlineCommits          func(childComplexity int, options MainlineCommitsOptions, buildVariantOptions *BuildVariantOptions) int
		MyHosts                  func(childComplexity int) int
		MyPublicKeys             func(childComplexity int) int
		MyVolumes                func(childComplexity int) int
		Patch                    func(childComplexity int, patchID string) int
		Pod                      func(childComplexity int, podID string) int
		Project                  func(childComplexity int, projectIdentifier string) int
		ProjectEvents            func(childComplexity int, identifier string, limit *int, before *time.Time) int
		ProjectSettings          func(childComplexity int, identifier string) int
		Projects                 func(childComplexity int) int
		RepoEvents               func(childComplexity int, repoID string, limit *int, before *time.Time) int
		RepoSettings             func(childComplexity int, repoID string) int
		SpruceConfig             func(childComplexity int) int
		SubnetAvailabilityZones  func(childComplexity int) int
		Task                     func(childComplexity int, taskID string, execution *int) int
		TaskAllExecutions        func(childComplexity int, taskID string) int
		TaskNamesForBuildVariant func(childComplexity int, projectIdentifier string, buildVariant string) int
		TaskQueueDistros         func(childComplexity int) int
		TaskTestSample           func(childComplexity int, versionID string, taskIds []string, filters []*TestFilter) int
		User                     func(childComplexity int, userID *string) int
		UserConfig               func(childComplexity int) int
		UserSettings             func(childComplexity int) int
		Version                  func(childComplexity int, versionID string) int
		ViewableProjectRefs      func(childComplexity int) int
	}

	RepoCommitQueueParams struct {
		Enabled     func(childComplexity int) int
		MergeMethod func(childComplexity int) int
		MergeQueue  func(childComplexity int) int
		Message     func(childComplexity int) int
	}

	RepoRef struct {
		Admins                   func(childComplexity int) int
		BatchTime                func(childComplexity int) int
		BuildBaronSettings       func(childComplexity int) int
		CommitQueue              func(childComplexity int) int
		ContainerSizeDefinitions func(childComplexity int) int
		DeactivatePrevious       func(childComplexity int) int
		DisabledStatsCache       func(childComplexity int) int
		DispatchingDisabled      func(childComplexity int) int
		DisplayName              func(childComplexity int) int
		Enabled                  func(childComplexity int) int
		ExternalLinks            func(childComplexity int) int
		GitTagAuthorizedTeams    func(childComplexity int) int
		GitTagAuthorizedUsers    func(childComplexity int) int
		GitTagVersionsEnabled    func(childComplexity int) int
		GithubChecksEnabled      func(childComplexity int) int
		GithubTriggerAliases     func(childComplexity int) int
		Id                       func(childComplexity int) int
		ManualPRTestingEnabled   func(childComplexity int) int
		NotifyOnBuildFailure     func(childComplexity int) int
		OldestAllowedMergeBase   func(childComplexity int) int
		Owner                    func(childComplexity int) int
		PRTestingEnabled         func(childComplexity int) int
		ParsleyFilters           func(childComplexity int) int
		PatchTriggerAliases      func(childComplexity int) int
		PatchingDisabled         func(childComplexity int) int
		PerfEnabled              func(childComplexity int) int
		PeriodicBuilds           func(childComplexity int) int
		Private                  func(childComplexity int) int
		RemotePath               func(childComplexity int) int
		Repo                     func(childComplexity int) int
		RepotrackerDisabled      func(childComplexity int) int
		Restricted               func(childComplexity int) int
		SpawnHostScriptPath      func(childComplexity int) int
		StepbackBisect           func(childComplexity int) int
		StepbackDisabled         func(childComplexity int) int
		TaskAnnotationSettings   func(childComplexity int) int
		TaskSync                 func(childComplexity int) int
		TracksPushEvents         func(childComplexity int) int
		Triggers                 func(childComplexity int) int
		VersionControlEnabled    func(childComplexity int) int
		WorkstationConfig        func(childComplexity int) int
	}

	RepoSettings struct {
		Aliases               func(childComplexity int) int
		GithubWebhooksEnabled func(childComplexity int) int
		ProjectRef            func(childComplexity int) int
		Subscriptions         func(childComplexity int) int
		Vars                  func(childComplexity int) int
	}

	RepoTaskSyncOptions struct {
		ConfigEnabled func(childComplexity int) int
		PatchEnabled  func(childComplexity int) int
	}

	RepoWorkstationConfig struct {
		GitClone      func(childComplexity int) int
		SetupCommands func(childComplexity int) int
	}

	RepotrackerError struct {
		Exists            func(childComplexity int) int
		InvalidRevision   func(childComplexity int) int
		MergeBaseRevision func(childComplexity int) int
	}

	ResourceLimits struct {
		LockedMemoryKB  func(childComplexity int) int
		NumFiles        func(childComplexity int) int
		NumProcesses    func(childComplexity int) int
		NumTasks        func(childComplexity int) int
		VirtualMemoryKB func(childComplexity int) int
	}

	SaveDistroPayload struct {
		Distro    func(childComplexity int) int
		HostCount func(childComplexity int) int
	}

	SearchReturnInfo struct {
		FeaturesURL func(childComplexity int) int
		Issues      func(childComplexity int) int
		Search      func(childComplexity int) int
		Source      func(childComplexity int) int
	}

	Selector struct {
		Data func(childComplexity int) int
		Type func(childComplexity int) int
	}

	SetLastRevisionPayload struct {
		MergeBaseRevision func(childComplexity int) int
	}

	SlackConfig struct {
		Name func(childComplexity int) int
	}

	SleepSchedule struct {
		DailyStartTime         func(childComplexity int) int
		DailyStopTime          func(childComplexity int) int
		PermanentlyExempt      func(childComplexity int) int
		ShouldKeepOff          func(childComplexity int) int
		TemporarilyExemptUntil func(childComplexity int) int
		TimeZone               func(childComplexity int) int
		WholeWeekdaysOff       func(childComplexity int) int
	}

	Source struct {
		Author    func(childComplexity int) int
		Requester func(childComplexity int) int
		Time      func(childComplexity int) int
	}

	SpawnHostConfig struct {
		SpawnHostsPerUser         func(childComplexity int) int
		UnexpirableHostsPerUser   func(childComplexity int) int
		UnexpirableVolumesPerUser func(childComplexity int) int
	}

	SpruceConfig struct {
		Banner         func(childComplexity int) int
		BannerTheme    func(childComplexity int) int
		ContainerPools func(childComplexity int) int
		GithubOrgs     func(childComplexity int) int
		Jira           func(childComplexity int) int
		Providers      func(childComplexity int) int
		SecretFields   func(childComplexity int) int
		Slack          func(childComplexity int) int
		Spawnhost      func(childComplexity int) int
		Ui             func(childComplexity int) int
	}

	StatusCount struct {
		Count  func(childComplexity int) int
		Status func(childComplexity int) int
	}

	StepbackInfo struct {
		LastFailingStepbackTaskId func(childComplexity int) int
		LastPassingStepbackTaskId func(childComplexity int) int
		NextStepbackTaskId        func(childComplexity int) int
		PreviousStepbackTaskId    func(childComplexity int) int
	}

	Subscriber struct {
		EmailSubscriber       func(childComplexity int) int
		GithubCheckSubscriber func(childComplexity int) int
		GithubPRSubscriber    func(childComplexity int) int
		JiraCommentSubscriber func(childComplexity int) int
		JiraIssueSubscriber   func(childComplexity int) int
		SlackSubscriber       func(childComplexity int) int
		WebhookSubscriber     func(childComplexity int) int
	}

	SubscriberWrapper struct {
		Subscriber func(childComplexity int) int
		Type       func(childComplexity int) int
	}

	Task struct {
		AbortInfo               func(childComplexity int) int
		Aborted                 func(childComplexity int) int
		Activated               func(childComplexity int) int
		ActivatedBy             func(childComplexity int) int
		ActivatedTime           func(childComplexity int) int
		Ami                     func(childComplexity int) int
		Annotation              func(childComplexity int) int
		BaseStatus              func(childComplexity int) int
		BaseTask                func(childComplexity int) int
		Blocked                 func(childComplexity int) int
		BuildId                 func(childComplexity int) int
		BuildVariant            func(childComplexity int) int
		BuildVariantDisplayName func(childComplexity int) int
		CanAbort                func(childComplexity int) int
		CanDisable              func(childComplexity int) int
		CanModifyAnnotation     func(childComplexity int) int
		CanOverrideDependencies func(childComplexity int) int
		CanRestart              func(childComplexity int) int
		CanSchedule             func(childComplexity int) int
		CanSetPriority          func(childComplexity int) int
		CanSync                 func(childComplexity int) int
		CanUnschedule           func(childComplexity int) int
		ContainerAllocatedTime  func(childComplexity int) int
		CreateTime              func(childComplexity int) int
		DependsOn               func(childComplexity int) int
		Details                 func(childComplexity int) int
		DispatchTime            func(childComplexity int) int
		DisplayName             func(childComplexity int) int
		DisplayOnly             func(childComplexity int) int
		DisplayTask             func(childComplexity int) int
		DistroId                func(childComplexity int) int
		EstimatedStart          func(childComplexity int) int
		Execution               func(childComplexity int) int
		ExecutionTasks          func(childComplexity int) int
		ExecutionTasksFull      func(childComplexity int) int
		ExpectedDuration        func(childComplexity int) int
		FailedTestCount         func(childComplexity int) int
		Files                   func(childComplexity int) int
		FinishTime              func(childComplexity int) int
		GenerateTask            func(childComplexity int) int
		GeneratedBy             func(childComplexity int) int
		GeneratedByName         func(childComplexity int) int
		HasCedarResults         func(childComplexity int) int
		HostId                  func(childComplexity int) int
		Id                      func(childComplexity int) int
		IngestTime              func(childComplexity int) int
		IsPerfPluginEnabled     func(childComplexity int) int
		LatestExecution         func(childComplexity int) int
		Logs                    func(childComplexity int) int
		MinQueuePosition        func(childComplexity int) int
		Order                   func(childComplexity int) int
		Patch                   func(childComplexity int) int
		PatchNumber             func(childComplexity int) int
		Pod                     func(childComplexity int) int
		Priority                func(childComplexity int) int
		Project                 func(childComplexity int) int
		ProjectId               func(childComplexity int) int
		ProjectIdentifier       func(childComplexity int) int
		Requester               func(childComplexity int) int
		ResetWhenFinished       func(childComplexity int) int
		Revision                func(childComplexity int) int
		ScheduledTime           func(childComplexity int) int
		SpawnHostLink           func(childComplexity int) int
		StartTime               func(childComplexity int) int
		Status                  func(childComplexity int) int
		StepbackInfo            func(childComplexity int) int
		Tags                    func(childComplexity int) int
		TaskFiles               func(childComplexity int) int
		TaskGroup               func(childComplexity int) int
		TaskGroupMaxHosts       func(childComplexity int) int
		TaskLogs                func(childComplexity int) int
		Tests                   func(childComplexity int, opts *TestFilterOptions) int
		TimeTaken               func(childComplexity int) int
		TotalTestCount          func(childComplexity int) int
		VersionMetadata         func(childComplexity int) int
	}

	TaskAnnotationSettings struct {
		FileTicketWebhook func(childComplexity int) int
		JiraCustomFields  func(childComplexity int) int
	}

	TaskContainerCreationOpts struct {
		Arch       func(childComplexity int) int
		CPU        func(childComplexity int) int
		Image      func(childComplexity int) int
		MemoryMB   func(childComplexity int) int
		Os         func(childComplexity int) int
		WorkingDir func(childComplexity int) int
	}

	TaskEndDetail struct {
		Description func(childComplexity int) int
		DiskDevices func(childComplexity int) int
		OOMTracker  func(childComplexity int) int
		Status      func(childComplexity int) int
		TimedOut    func(childComplexity int) int
		TimeoutType func(childComplexity int) int
		TraceID     func(childComplexity int) int
		Type        func(childComplexity int) int
	}

	TaskEventLogData struct {
		BlockedOn func(childComplexity int) int
		HostId    func(childComplexity int) int
		JiraIssue func(childComplexity int) int
		JiraLink  func(childComplexity int) int
		PodId     func(childComplexity int) int
		Priority  func(childComplexity int) int
		Status    func(childComplexity int) int
		Timestamp func(childComplexity int) int
		UserId    func(childComplexity int) int
	}

	TaskEventLogEntry struct {
		Data         func(childComplexity int) int
		EventType    func(childComplexity int) int
		ID           func(childComplexity int) int
		ProcessedAt  func(childComplexity int) int
		ResourceId   func(childComplexity int) int
		ResourceType func(childComplexity int) int
		Timestamp    func(childComplexity int) int
	}

	TaskFiles struct {
		FileCount    func(childComplexity int) int
		GroupedFiles func(childComplexity int) int
	}

	TaskInfo struct {
		Id   func(childComplexity int) int
		Name func(childComplexity int) int
	}

	TaskLogLinks struct {
		AgentLogLink  func(childComplexity int) int
		AllLogLink    func(childComplexity int) int
		EventLogLink  func(childComplexity int) int
		SystemLogLink func(childComplexity int) int
		TaskLogLink   func(childComplexity int) int
	}

	TaskLogs struct {
		AgentLogs  func(childComplexity int) int
		AllLogs    func(childComplexity int) int
		EventLogs  func(childComplexity int) int
		Execution  func(childComplexity int) int
		SystemLogs func(childComplexity int) int
		TaskID     func(childComplexity int) int
		TaskLogs   func(childComplexity int) int
	}

	TaskQueueDistro struct {
		HostCount func(childComplexity int) int
		ID        func(childComplexity int) int
		TaskCount func(childComplexity int) int
	}

	TaskQueueItem struct {
		ActivatedBy      func(childComplexity int) int
		BuildVariant     func(childComplexity int) int
		DisplayName      func(childComplexity int) int
		ExpectedDuration func(childComplexity int) int
		Id               func(childComplexity int) int
		Priority         func(childComplexity int) int
		Project          func(childComplexity int) int
		Requester        func(childComplexity int) int
		Revision         func(childComplexity int) int
		Version          func(childComplexity int) int
	}

	TaskSpecifier struct {
		PatchAlias   func(childComplexity int) int
		TaskRegex    func(childComplexity int) int
		VariantRegex func(childComplexity int) int
	}

	TaskStats struct {
		Counts func(childComplexity int) int
		ETA    func(childComplexity int) int
	}

	TaskSyncOptions struct {
		ConfigEnabled func(childComplexity int) int
		PatchEnabled  func(childComplexity int) int
	}

	TaskTestResult struct {
		FilteredTestCount func(childComplexity int) int
		TestResults       func(childComplexity int) int
		TotalTestCount    func(childComplexity int) int
	}

	TaskTestResultSample struct {
		Execution               func(childComplexity int) int
		MatchingFailedTestNames func(childComplexity int) int
		TaskID                  func(childComplexity int) int
		TotalTestCount          func(childComplexity int) int
	}

	TestLog struct {
		LineNum       func(childComplexity int) int
		RenderingType func(childComplexity int) int
		URL           func(childComplexity int) int
		URLParsley    func(childComplexity int) int
		URLRaw        func(childComplexity int) int
		Version       func(childComplexity int) int
	}

	TestResult struct {
		BaseStatus func(childComplexity int) int
		Duration   func(childComplexity int) int
		EndTime    func(childComplexity int) int
		Execution  func(childComplexity int) int
		ExitCode   func(childComplexity int) int
		GroupID    func(childComplexity int) int
		ID         func(childComplexity int) int
		Logs       func(childComplexity int) int
		StartTime  func(childComplexity int) int
		Status     func(childComplexity int) int
		TaskID     func(childComplexity int) int
		TestFile   func(childComplexity int) int
	}

	TicketFields struct {
		AssignedTeam        func(childComplexity int) int
		AssigneeDisplayName func(childComplexity int) int
		Created             func(childComplexity int) int
		ResolutionName      func(childComplexity int) int
		Status              func(childComplexity int) int
		Summary             func(childComplexity int) int
		Updated             func(childComplexity int) int
	}

	TriggerAlias struct {
		Alias                        func(childComplexity int) int
		BuildVariantRegex            func(childComplexity int) int
		ConfigFile                   func(childComplexity int) int
		DateCutoff                   func(childComplexity int) int
		Level                        func(childComplexity int) int
		Project                      func(childComplexity int) int
		Status                       func(childComplexity int) int
		TaskRegex                    func(childComplexity int) int
		UnscheduleDownstreamVersions func(childComplexity int) int
	}

	UIConfig struct {
		DefaultProject func(childComplexity int) int
		UserVoice      func(childComplexity int) int
	}

	UpdateParsleySettingsPayload struct {
		ParsleySettings func(childComplexity int) int
	}

	UpstreamProject struct {
		Owner       func(childComplexity int) int
		Project     func(childComplexity int) int
		Repo        func(childComplexity int) int
		ResourceID  func(childComplexity int) int
		Revision    func(childComplexity int) int
		Task        func(childComplexity int) int
		TriggerID   func(childComplexity int) int
		TriggerType func(childComplexity int) int
		Version     func(childComplexity int) int
	}

	UseSpruceOptions struct {
		HasUsedMainlineCommitsBefore func(childComplexity int) int
		HasUsedSpruceBefore          func(childComplexity int) int
		SpruceV1                     func(childComplexity int) int
	}

	User struct {
		DisplayName     func(childComplexity int) int
		EmailAddress    func(childComplexity int) int
		ParsleyFilters  func(childComplexity int) int
		ParsleySettings func(childComplexity int) int
		Patches         func(childComplexity int, patchesInput PatchesInput) int
		Permissions     func(childComplexity int) int
		Subscriptions   func(childComplexity int) int
		UserID          func(childComplexity int) int
	}

	UserConfig struct {
		APIKey        func(childComplexity int) int
		APIServerHost func(childComplexity int) int
		UIServerHost  func(childComplexity int) int
		User          func(childComplexity int) int
	}

	UserSettings struct {
		DateFormat       func(childComplexity int) int
		GithubUser       func(childComplexity int) int
		Notifications    func(childComplexity int) int
		Region           func(childComplexity int) int
		SlackMemberId    func(childComplexity int) int
		SlackUsername    func(childComplexity int) int
		TimeFormat       func(childComplexity int) int
		Timezone         func(childComplexity int) int
		UseSpruceOptions func(childComplexity int) int
	}

	VariantTask struct {
		Name  func(childComplexity int) int
		Tasks func(childComplexity int) int
	}

	Version struct {
		Activated                func(childComplexity int) int
		Author                   func(childComplexity int) int
		AuthorEmail              func(childComplexity int) int
		BaseTaskStatuses         func(childComplexity int) int
		BaseVersion              func(childComplexity int) int
		Branch                   func(childComplexity int) int
		BuildVariantStats        func(childComplexity int, options BuildVariantOptions) int
		BuildVariants            func(childComplexity int, options BuildVariantOptions) int
		ChildVersions            func(childComplexity int) int
		CreateTime               func(childComplexity int) int
		Errors                   func(childComplexity int) int
		ExternalLinksForMetadata func(childComplexity int) int
		FinishTime               func(childComplexity int) int
		GitTags                  func(childComplexity int) int
		Id                       func(childComplexity int) int
		Ignored                  func(childComplexity int) int
		IsPatch                  func(childComplexity int) int
		Manifest                 func(childComplexity int) int
		Message                  func(childComplexity int) int
		Order                    func(childComplexity int) int
		Parameters               func(childComplexity int) int
		Patch                    func(childComplexity int) int
		PreviousVersion          func(childComplexity int) int
		Project                  func(childComplexity int) int
		ProjectIdentifier        func(childComplexity int) int
		ProjectMetadata          func(childComplexity int) int
		Repo                     func(childComplexity int) int
		Requester                func(childComplexity int) int
		Revision                 func(childComplexity int) int
		StartTime                func(childComplexity int) int
		Status                   func(childComplexity int) int
		TaskCount                func(childComplexity int) int
		TaskStatusStats          func(childComplexity int, options BuildVariantOptions) int
		TaskStatuses             func(childComplexity int) int
		Tasks                    func(childComplexity int, options TaskFilterOptions) int
		UpstreamProject          func(childComplexity int) int
		VersionTiming            func(childComplexity int) int
		Warnings                 func(childComplexity int) int
	}

	VersionTasks struct {
		Count func(childComplexity int) int
		Data  func(childComplexity int) int
	}

	VersionTiming struct {
		Makespan  func(childComplexity int) int
		TimeTaken func(childComplexity int) int
	}

	Volume struct {
		AvailabilityZone func(childComplexity int) int
		CreatedBy        func(childComplexity int) int
		CreationTime     func(childComplexity int) int
		DeviceName       func(childComplexity int) int
		DisplayName      func(childComplexity int) int
		Expiration       func(childComplexity int) int
		HomeVolume       func(childComplexity int) int
		Host             func(childComplexity int) int
		HostID           func(childComplexity int) int
		ID               func(childComplexity int) int
		Migrating        func(childComplexity int) int
		NoExpiration     func(childComplexity int) int
		Size             func(childComplexity int) int
		Type             func(childComplexity int) int
	}

	Webhook struct {
		Endpoint func(childComplexity int) int
		Secret   func(childComplexity int) int
	}

	WebhookHeader struct {
		Key   func(childComplexity int) int
		Value func(childComplexity int) int
	}

	WebhookSubscriber struct {
		Headers    func(childComplexity int) int
		MinDelayMS func(childComplexity int) int
		Retries    func(childComplexity int) int
		Secret     func(childComplexity int) int
		TimeoutMS  func(childComplexity int) int
		URL        func(childComplexity int) int
	}

	WorkstationConfig struct {
		GitClone      func(childComplexity int) int
		SetupCommands func(childComplexity int) int
	}

	WorkstationSetupCommand struct {
		Command   func(childComplexity int) int
		Directory func(childComplexity int) int
	}
}

type Config

type Config struct {
	Schema     *ast.Schema
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

func New

func New(apiURL string) Config

type ContainerPoolResolver

type ContainerPoolResolver interface {
	Port(ctx context.Context, obj *model.APIContainerPool) (int, error)
}

type CreateDistroInput

type CreateDistroInput struct {
	NewDistroID string `json:"newDistroId"`
}

CreateDistroInput is the input to the createDistro mutation.

type DeleteDistroInput

type DeleteDistroInput struct {
	DistroID string `json:"distroId"`
}

DeleteDistroInput is the input to the deleteDistro mutation.

type DeleteDistroPayload

type DeleteDistroPayload struct {
	DeletedDistroID string `json:"deletedDistroId"`
}

Return type representing whether a distro was deleted.

type Dependency

type Dependency struct {
	BuildVariant   string         `json:"buildVariant"`
	MetStatus      MetStatus      `json:"metStatus"`
	Name           string         `json:"name"`
	RequiredStatus RequiredStatus `json:"requiredStatus"`
	TaskID         string         `json:"taskId"`
}

type DirectiveRoot

type DirectiveRoot struct {
	RedactSecrets                func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
	RequireCommitQueueItemOwner  func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
	RequireDistroAccess          func(ctx context.Context, obj interface{}, next graphql.Resolver, access DistroSettingsAccess) (res interface{}, err error)
	RequireProjectAccess         func(ctx context.Context, obj interface{}, next graphql.Resolver, permission ProjectPermission, access AccessLevel) (res interface{}, err error)
	RequireProjectAdmin          func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
	RequireProjectSettingsAccess func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error)
}

type DisableQuery

type DisableQuery struct{}

DisableQuery will return SERVICE_UNAVAILABLE for any query with an operation name listed in config.DisabledGQLQueries

func (DisableQuery) ExtensionName

func (DisableQuery) ExtensionName() string

func (DisableQuery) MutateOperationContext

func (DisableQuery) MutateOperationContext(ctx context.Context, rc *graphql.OperationContext) *gqlerror.Error

func (DisableQuery) Validate

type DispatcherSettingsInputResolver

type DispatcherSettingsInputResolver interface {
	Version(ctx context.Context, obj *model.APIDispatcherSettings, data DispatcherVersion) error
}

type DispatcherSettingsResolver

type DispatcherSettingsResolver interface {
	Version(ctx context.Context, obj *model.APIDispatcherSettings) (DispatcherVersion, error)
}

type DispatcherVersion

type DispatcherVersion string
const (
	DispatcherVersionRevisedWithDependencies DispatcherVersion = "REVISED_WITH_DEPENDENCIES"
)

func (DispatcherVersion) IsValid

func (e DispatcherVersion) IsValid() bool

func (DispatcherVersion) MarshalGQL

func (e DispatcherVersion) MarshalGQL(w io.Writer)

func (DispatcherVersion) String

func (e DispatcherVersion) String() string

func (*DispatcherVersion) UnmarshalGQL

func (e *DispatcherVersion) UnmarshalGQL(v interface{}) error

type DisplayTask

type DisplayTask struct {
	ExecTasks []string `json:"ExecTasks"`
	Name      string   `json:"Name"`
}

type DistroEvent

type DistroEvent struct {
	After     map[string]interface{} `json:"after,omitempty"`
	Before    map[string]interface{} `json:"before,omitempty"`
	Data      map[string]interface{} `json:"data,omitempty"`
	Timestamp time.Time              `json:"timestamp"`
	User      string                 `json:"user"`
}

type DistroEventsInput

type DistroEventsInput struct {
	Before   *time.Time `json:"before,omitempty"`
	DistroID string     `json:"distroId"`
	Limit    *int       `json:"limit,omitempty"`
}

DistroEventsInput is the input to the distroEvents query.

type DistroEventsPayload

type DistroEventsPayload struct {
	Count           int            `json:"count"`
	EventLogEntries []*DistroEvent `json:"eventLogEntries"`
}

type DistroInputResolver

type DistroInputResolver interface {
	Arch(ctx context.Context, obj *model.APIDistro, data Arch) error

	Provider(ctx context.Context, obj *model.APIDistro, data Provider) error
	ProviderSettingsList(ctx context.Context, obj *model.APIDistro, data []map[string]interface{}) error
}

type DistroOnSaveOperation

type DistroOnSaveOperation string
const (
	DistroOnSaveOperationDecommission  DistroOnSaveOperation = "DECOMMISSION"
	DistroOnSaveOperationRestartJasper DistroOnSaveOperation = "RESTART_JASPER"
	DistroOnSaveOperationReprovision   DistroOnSaveOperation = "REPROVISION"
	DistroOnSaveOperationNone          DistroOnSaveOperation = "NONE"
)

func (DistroOnSaveOperation) IsValid

func (e DistroOnSaveOperation) IsValid() bool

func (DistroOnSaveOperation) MarshalGQL

func (e DistroOnSaveOperation) MarshalGQL(w io.Writer)

func (DistroOnSaveOperation) String

func (e DistroOnSaveOperation) String() string

func (*DistroOnSaveOperation) UnmarshalGQL

func (e *DistroOnSaveOperation) UnmarshalGQL(v interface{}) error

type DistroPermissions

type DistroPermissions struct {
	Admin bool `json:"admin"`
	Edit  bool `json:"edit"`
	View  bool `json:"view"`
}

type DistroPermissionsOptions

type DistroPermissionsOptions struct {
	DistroID string `json:"distroId"`
}

type DistroResolver

type DistroResolver interface {
	Arch(ctx context.Context, obj *model.APIDistro) (Arch, error)

	Provider(ctx context.Context, obj *model.APIDistro) (Provider, error)
	ProviderSettingsList(ctx context.Context, obj *model.APIDistro) ([]map[string]interface{}, error)
}

type DistroSettingsAccess

type DistroSettingsAccess string
const (
	DistroSettingsAccessAdmin  DistroSettingsAccess = "ADMIN"
	DistroSettingsAccessCreate DistroSettingsAccess = "CREATE"
	DistroSettingsAccessEdit   DistroSettingsAccess = "EDIT"
	DistroSettingsAccessView   DistroSettingsAccess = "VIEW"
)

func (DistroSettingsAccess) IsValid

func (e DistroSettingsAccess) IsValid() bool

func (DistroSettingsAccess) MarshalGQL

func (e DistroSettingsAccess) MarshalGQL(w io.Writer)

func (DistroSettingsAccess) String

func (e DistroSettingsAccess) String() string

func (*DistroSettingsAccess) UnmarshalGQL

func (e *DistroSettingsAccess) UnmarshalGQL(v interface{}) error

type EditSpawnHostInput

type EditSpawnHostInput struct {
	AddedInstanceTags   []*host.Tag             `json:"addedInstanceTags,omitempty"`
	DeletedInstanceTags []*host.Tag             `json:"deletedInstanceTags,omitempty"`
	DisplayName         *string                 `json:"displayName,omitempty"`
	Expiration          *time.Time              `json:"expiration,omitempty"`
	HostID              string                  `json:"hostId"`
	InstanceType        *string                 `json:"instanceType,omitempty"`
	NoExpiration        *bool                   `json:"noExpiration,omitempty"`
	PublicKey           *PublicKeyInput         `json:"publicKey,omitempty"`
	SavePublicKey       *bool                   `json:"savePublicKey,omitempty"`
	ServicePassword     *string                 `json:"servicePassword,omitempty"`
	SleepSchedule       *host.SleepScheduleInfo `json:"sleepSchedule,omitempty"`
	Volume              *string                 `json:"volume,omitempty"`
}

EditSpawnHostInput is the input to the editSpawnHost mutation. Its fields determine how a given host will be modified.

type ExternalLinkForMetadata

type ExternalLinkForMetadata struct {
	URL         string `json:"url"`
	DisplayName string `json:"displayName"`
}

type FeedbackRule

type FeedbackRule string
const (
	FeedbackRuleWaitsOverThresh FeedbackRule = "WAITS_OVER_THRESH"
	FeedbackRuleNoFeedback      FeedbackRule = "NO_FEEDBACK"
	FeedbackRuleDefault         FeedbackRule = "DEFAULT"
)

func (FeedbackRule) IsValid

func (e FeedbackRule) IsValid() bool

func (FeedbackRule) MarshalGQL

func (e FeedbackRule) MarshalGQL(w io.Writer)

func (FeedbackRule) String

func (e FeedbackRule) String() string

func (*FeedbackRule) UnmarshalGQL

func (e *FeedbackRule) UnmarshalGQL(v interface{}) error

type FinderSettingsInputResolver

type FinderSettingsInputResolver interface {
	Version(ctx context.Context, obj *model.APIFinderSettings, data FinderVersion) error
}

type FinderSettingsResolver

type FinderSettingsResolver interface {
	Version(ctx context.Context, obj *model.APIFinderSettings) (FinderVersion, error)
}

type FinderVersion

type FinderVersion string
const (
	FinderVersionLegacy    FinderVersion = "LEGACY"
	FinderVersionParallel  FinderVersion = "PARALLEL"
	FinderVersionPipeline  FinderVersion = "PIPELINE"
	FinderVersionAlternate FinderVersion = "ALTERNATE"
)

func (FinderVersion) IsValid

func (e FinderVersion) IsValid() bool

func (FinderVersion) MarshalGQL

func (e FinderVersion) MarshalGQL(w io.Writer)

func (FinderVersion) String

func (e FinderVersion) String() string

func (*FinderVersion) UnmarshalGQL

func (e *FinderVersion) UnmarshalGQL(v interface{}) error

type GqlError

type GqlError string

GqlError represents the error codes send alongside gql errors

const (
	// InternalServerError conveys that the server errored out when trying to perform an action
	InternalServerError GqlError = "INTERNAL_SERVER_ERROR"
	// Forbidden conveys that user does not required permissions to access resource
	Forbidden GqlError = "FORBIDDEN"
	// ResourceNotFound conveys the requested resource does not exist
	ResourceNotFound GqlError = "RESOURCE_NOT_FOUND"
	// InputValidationError conveys that the given input is not formatted properly
	InputValidationError GqlError = "INPUT_VALIDATION_ERROR"
	ServiceUnavailable   GqlError = "SERVICE_UNAVAILABLE"
	// PartialError conveys that the request succeeded, but there were nonfatal errors that may be communicated to users
	PartialError GqlError = "PARTIAL_ERROR"
)

func (GqlError) Send

func (err GqlError) Send(ctx context.Context, message string) *gqlerror.Error

Send sends a gql error to the client formatted with

type GroupedBuildVariant

type GroupedBuildVariant struct {
	DisplayName string           `json:"displayName"`
	Tasks       []*model.APITask `json:"tasks,omitempty"`
	Variant     string           `json:"variant"`
}

type GroupedFiles

type GroupedFiles struct {
	Files     []*model.APIFile `json:"files,omitempty"`
	TaskName  *string          `json:"taskName,omitempty"`
	TaskID    string           `json:"taskId"`
	Execution int              `json:"execution"`
}

type GroupedProjects

type GroupedProjects struct {
	GroupDisplayName string                 `json:"groupDisplayName"`
	Projects         []*model.APIProjectRef `json:"projects"`
	Repo             *model.APIProjectRef   `json:"repo,omitempty"`
}

GroupedProjects is the return value for the projects & viewableProjectRefs queries. It contains an array of projects which are grouped under a groupDisplayName.

type HostAllocatorSettingsInputResolver

type HostAllocatorSettingsInputResolver interface {
	AcceptableHostIdleTime(ctx context.Context, obj *model.APIHostAllocatorSettings, data int) error
	FeedbackRule(ctx context.Context, obj *model.APIHostAllocatorSettings, data FeedbackRule) error

	HostsOverallocatedRule(ctx context.Context, obj *model.APIHostAllocatorSettings, data OverallocatedRule) error

	RoundingRule(ctx context.Context, obj *model.APIHostAllocatorSettings, data RoundingRule) error
	Version(ctx context.Context, obj *model.APIHostAllocatorSettings, data HostAllocatorVersion) error
}

type HostAllocatorSettingsResolver

type HostAllocatorSettingsResolver interface {
	FeedbackRule(ctx context.Context, obj *model.APIHostAllocatorSettings) (FeedbackRule, error)

	HostsOverallocatedRule(ctx context.Context, obj *model.APIHostAllocatorSettings) (OverallocatedRule, error)

	RoundingRule(ctx context.Context, obj *model.APIHostAllocatorSettings) (RoundingRule, error)
	Version(ctx context.Context, obj *model.APIHostAllocatorSettings) (HostAllocatorVersion, error)
}

type HostAllocatorVersion

type HostAllocatorVersion string
const (
	HostAllocatorVersionUtilization HostAllocatorVersion = "UTILIZATION"
)

func (HostAllocatorVersion) IsValid

func (e HostAllocatorVersion) IsValid() bool

func (HostAllocatorVersion) MarshalGQL

func (e HostAllocatorVersion) MarshalGQL(w io.Writer)

func (HostAllocatorVersion) String

func (e HostAllocatorVersion) String() string

func (*HostAllocatorVersion) UnmarshalGQL

func (e *HostAllocatorVersion) UnmarshalGQL(v interface{}) error

type HostEvents

type HostEvents struct {
	Count           int                           `json:"count"`
	EventLogEntries []*model.HostAPIEventLogEntry `json:"eventLogEntries"`
}

HostEvents is the return value for the hostEvents query. It contains the event log entries for a given host.

type HostResolver

type HostResolver interface {
	Ami(ctx context.Context, obj *model.APIHost) (*string, error)

	DistroID(ctx context.Context, obj *model.APIHost) (*string, error)
	Elapsed(ctx context.Context, obj *model.APIHost) (*time.Time, error)

	HomeVolume(ctx context.Context, obj *model.APIHost) (*model.APIVolume, error)

	SleepSchedule(ctx context.Context, obj *model.APIHost) (*host.SleepScheduleInfo, error)

	Uptime(ctx context.Context, obj *model.APIHost) (*time.Time, error)

	Volumes(ctx context.Context, obj *model.APIHost) ([]*model.APIVolume, error)
}

type HostSortBy

type HostSortBy string
const (
	HostSortByID          HostSortBy = "ID"
	HostSortByCurrentTask HostSortBy = "CURRENT_TASK"
	HostSortByDistro      HostSortBy = "DISTRO"
	HostSortByElapsed     HostSortBy = "ELAPSED"
	HostSortByIdleTime    HostSortBy = "IDLE_TIME"
	HostSortByOwner       HostSortBy = "OWNER"
	HostSortByStatus      HostSortBy = "STATUS"
	HostSortByUptime      HostSortBy = "UPTIME"
)

func (HostSortBy) IsValid

func (e HostSortBy) IsValid() bool

func (HostSortBy) MarshalGQL

func (e HostSortBy) MarshalGQL(w io.Writer)

func (HostSortBy) String

func (e HostSortBy) String() string

func (*HostSortBy) UnmarshalGQL

func (e *HostSortBy) UnmarshalGQL(v interface{}) error

type HostsResponse

type HostsResponse struct {
	FilteredHostsCount *int             `json:"filteredHostsCount,omitempty"`
	Hosts              []*model.APIHost `json:"hosts"`
	TotalHostsCount    int              `json:"totalHostsCount"`
}

HostsResponse is the return value for the hosts query. It contains an array of Hosts matching the filter conditions, as well as some count information.

type IssueLinkResolver

type IssueLinkResolver interface {
	JiraTicket(ctx context.Context, obj *model.APIIssueLink) (*thirdparty.JiraTicket, error)
}

type LogkeeperBuildResolver

type LogkeeperBuildResolver interface {
	Task(ctx context.Context, obj *plank.Build) (*model.APITask, error)
}

type MainlineCommitVersion

type MainlineCommitVersion struct {
	RolledUpVersions []*model.APIVersion `json:"rolledUpVersions,omitempty"`
	Version          *model.APIVersion   `json:"version,omitempty"`
}

type MainlineCommits

type MainlineCommits struct {
	NextPageOrderNumber *int                     `json:"nextPageOrderNumber,omitempty"`
	PrevPageOrderNumber *int                     `json:"prevPageOrderNumber,omitempty"`
	Versions            []*MainlineCommitVersion `json:"versions"`
}

MainlineCommits is returned by the mainline commits query. It contains information about versions (both unactivated and activated) which is surfaced on the Project Health page.

type MainlineCommitsOptions

type MainlineCommitsOptions struct {
	Limit             *int     `json:"limit,omitempty"`
	ProjectIdentifier string   `json:"projectIdentifier"`
	Requesters        []string `json:"requesters,omitempty"`
	Revision          *string  `json:"revision,omitempty"`
	ShouldCollapse    *bool    `json:"shouldCollapse,omitempty"`
	SkipOrderNumber   *int     `json:"skipOrderNumber,omitempty"`
}

MainlineCommitsOptions is an input to the mainlineCommits query. Its fields determine what mainline commits we fetch for a given projectID.

type Manifest

type Manifest struct {
	ID              string                 `json:"id"`
	Branch          string                 `json:"branch"`
	IsBase          bool                   `json:"isBase"`
	ModuleOverrides map[string]string      `json:"moduleOverrides,omitempty"`
	Modules         map[string]interface{} `json:"modules,omitempty"`
	Project         string                 `json:"project"`
	Revision        string                 `json:"revision"`
}

type MetStatus

type MetStatus string
const (
	MetStatusUnmet   MetStatus = "UNMET"
	MetStatusMet     MetStatus = "MET"
	MetStatusPending MetStatus = "PENDING"
	MetStatusStarted MetStatus = "STARTED"
)

func (MetStatus) IsValid

func (e MetStatus) IsValid() bool

func (MetStatus) MarshalGQL

func (e MetStatus) MarshalGQL(w io.Writer)

func (MetStatus) String

func (e MetStatus) String() string

func (*MetStatus) UnmarshalGQL

func (e *MetStatus) UnmarshalGQL(v interface{}) error

type MoveProjectInput

type MoveProjectInput struct {
	NewOwner  string `json:"newOwner"`
	NewRepo   string `json:"newRepo"`
	ProjectID string `json:"projectId"`
}

MoveProjectInput is the input to the attachProjectToNewRepo mutation. It contains information used to move a project to a a new owner and repo.

type Mutation

type Mutation struct {
}

type MutationResolver

type MutationResolver interface {
	BbCreateTicket(ctx context.Context, taskID string, execution *int) (bool, error)
	AddAnnotationIssue(ctx context.Context, taskID string, execution int, apiIssue model.APIIssueLink, isIssue bool) (bool, error)
	EditAnnotationNote(ctx context.Context, taskID string, execution int, originalMessage string, newMessage string) (bool, error)
	MoveAnnotationIssue(ctx context.Context, taskID string, execution int, apiIssue model.APIIssueLink, isIssue bool) (bool, error)
	RemoveAnnotationIssue(ctx context.Context, taskID string, execution int, apiIssue model.APIIssueLink, isIssue bool) (bool, error)
	SetAnnotationMetadataLinks(ctx context.Context, taskID string, execution int, metadataLinks []*model.APIMetadataLink) (bool, error)
	DeleteDistro(ctx context.Context, opts DeleteDistroInput) (*DeleteDistroPayload, error)
	CopyDistro(ctx context.Context, opts data.CopyDistroOpts) (*NewDistroPayload, error)
	CreateDistro(ctx context.Context, opts CreateDistroInput) (*NewDistroPayload, error)
	SaveDistro(ctx context.Context, opts SaveDistroInput) (*SaveDistroPayload, error)
	ReprovisionToNew(ctx context.Context, hostIds []string) (int, error)
	RestartJasper(ctx context.Context, hostIds []string) (int, error)
	UpdateHostStatus(ctx context.Context, hostIds []string, status string, notes *string) (int, error)
	EnqueuePatch(ctx context.Context, patchID string, commitMessage *string) (*model.APIPatch, error)
	SetPatchVisibility(ctx context.Context, patchIds []string, hidden bool) ([]*model.APIPatch, error)
	SchedulePatch(ctx context.Context, patchID string, configure PatchConfigure) (*model.APIPatch, error)
	AttachProjectToNewRepo(ctx context.Context, project MoveProjectInput) (*model.APIProjectRef, error)
	AttachProjectToRepo(ctx context.Context, projectID string) (*model.APIProjectRef, error)
	CreateProject(ctx context.Context, project model.APIProjectRef, requestS3Creds *bool) (*model.APIProjectRef, error)
	CopyProject(ctx context.Context, project data.CopyProjectOpts, requestS3Creds *bool) (*model.APIProjectRef, error)
	DeactivateStepbackTask(ctx context.Context, projectID string, buildVariantName string, taskName string) (bool, error)
	DefaultSectionToRepo(ctx context.Context, projectID string, section ProjectSettingsSection) (*string, error)
	DeleteProject(ctx context.Context, projectID string) (bool, error)
	DetachProjectFromRepo(ctx context.Context, projectID string) (*model.APIProjectRef, error)
	ForceRepotrackerRun(ctx context.Context, projectID string) (bool, error)
	PromoteVarsToRepo(ctx context.Context, projectID string, varNames []string) (bool, error)
	SaveProjectSettingsForSection(ctx context.Context, projectSettings *model.APIProjectSettings, section ProjectSettingsSection) (*model.APIProjectSettings, error)
	SaveRepoSettingsForSection(ctx context.Context, repoSettings *model.APIProjectSettings, section ProjectSettingsSection) (*model.APIProjectSettings, error)
	SetLastRevision(ctx context.Context, opts SetLastRevisionInput) (*SetLastRevisionPayload, error)
	AttachVolumeToHost(ctx context.Context, volumeAndHost VolumeHost) (bool, error)
	DetachVolumeFromHost(ctx context.Context, volumeID string) (bool, error)
	EditSpawnHost(ctx context.Context, spawnHost *EditSpawnHostInput) (*model.APIHost, error)
	MigrateVolume(ctx context.Context, volumeID string, spawnHostInput *SpawnHostInput) (bool, error)
	SpawnHost(ctx context.Context, spawnHostInput *SpawnHostInput) (*model.APIHost, error)
	SpawnVolume(ctx context.Context, spawnVolumeInput SpawnVolumeInput) (bool, error)
	RemoveVolume(ctx context.Context, volumeID string) (bool, error)
	UpdateSpawnHostStatus(ctx context.Context, hostID string, action SpawnHostStatusActions) (*model.APIHost, error)
	UpdateVolume(ctx context.Context, updateVolumeInput UpdateVolumeInput) (bool, error)
	AbortTask(ctx context.Context, taskID string) (*model.APITask, error)
	OverrideTaskDependencies(ctx context.Context, taskID string) (*model.APITask, error)
	RestartTask(ctx context.Context, taskID string, failedOnly bool) (*model.APITask, error)
	ScheduleTasks(ctx context.Context, versionID string, taskIds []string) ([]*model.APITask, error)
	SetTaskPriority(ctx context.Context, taskID string, priority int) (*model.APITask, error)
	UnscheduleTask(ctx context.Context, taskID string) (*model.APITask, error)
	AddFavoriteProject(ctx context.Context, identifier string) (*model.APIProjectRef, error)
	ClearMySubscriptions(ctx context.Context) (int, error)
	CreatePublicKey(ctx context.Context, publicKeyInput PublicKeyInput) ([]*model.APIPubKey, error)
	DeleteSubscriptions(ctx context.Context, subscriptionIds []string) (int, error)
	RemoveFavoriteProject(ctx context.Context, identifier string) (*model.APIProjectRef, error)
	RemovePublicKey(ctx context.Context, keyName string) ([]*model.APIPubKey, error)
	SaveSubscription(ctx context.Context, subscription model.APISubscription) (bool, error)
	UpdateParsleySettings(ctx context.Context, opts UpdateParsleySettingsInput) (*UpdateParsleySettingsPayload, error)
	UpdatePublicKey(ctx context.Context, targetKeyName string, updateInfo PublicKeyInput) ([]*model.APIPubKey, error)
	UpdateUserSettings(ctx context.Context, userSettings *model.APIUserSettings) (bool, error)
	RemoveItemFromCommitQueue(ctx context.Context, commitQueueID string, issue string) (*string, error)
	RestartVersions(ctx context.Context, versionID string, abort bool, versionsToRestart []*model1.VersionToRestart) ([]*model.APIVersion, error)
	ScheduleUndispatchedBaseTasks(ctx context.Context, versionID string) ([]*model.APITask, error)
	SetVersionPriority(ctx context.Context, versionID string, priority int) (*string, error)
	UnscheduleVersionTasks(ctx context.Context, versionID string, abort bool) (*string, error)
}

type NewDistroPayload

type NewDistroPayload struct {
	NewDistroID string `json:"newDistroId"`
}

Return type representing whether a distro was created and any validation errors

type OverallocatedRule

type OverallocatedRule string
const (
	OverallocatedRuleTerminate OverallocatedRule = "TERMINATE"
	OverallocatedRuleIgnore    OverallocatedRule = "IGNORE"
	OverallocatedRuleDefault   OverallocatedRule = "DEFAULT"
)

func (OverallocatedRule) IsValid

func (e OverallocatedRule) IsValid() bool

func (OverallocatedRule) MarshalGQL

func (e OverallocatedRule) MarshalGQL(w io.Writer)

func (OverallocatedRule) String

func (e OverallocatedRule) String() string

func (*OverallocatedRule) UnmarshalGQL

func (e *OverallocatedRule) UnmarshalGQL(v interface{}) error

type PatchConfigure

type PatchConfigure struct {
	Description         string                `json:"description"`
	Parameters          []*model.APIParameter `json:"parameters,omitempty"`
	PatchTriggerAliases []string              `json:"patchTriggerAliases,omitempty"`
	VariantsTasks       []*VariantTasks       `json:"variantsTasks"`
}

PatchConfigure is the input to the schedulePatch mutation. It contains information about how a user has configured their patch (e.g. name, tasks to run, etc).

type PatchDuration

type PatchDuration struct {
	Makespan  *string    `json:"makespan,omitempty"`
	Time      *PatchTime `json:"time,omitempty"`
	TimeTaken *string    `json:"timeTaken,omitempty"`
}

type PatchProject

type PatchProject struct {
	Variants []*ProjectBuildVariant `json:"variants"`
}

type PatchResolver

type PatchResolver interface {
	AuthorDisplayName(ctx context.Context, obj *model.APIPatch) (string, error)
	BaseTaskStatuses(ctx context.Context, obj *model.APIPatch) ([]string, error)
	Builds(ctx context.Context, obj *model.APIPatch) ([]*model.APIBuild, error)

	CommitQueuePosition(ctx context.Context, obj *model.APIPatch) (*int, error)

	Duration(ctx context.Context, obj *model.APIPatch) (*PatchDuration, error)

	PatchTriggerAliases(ctx context.Context, obj *model.APIPatch) ([]*model.APIPatchTriggerDefinition, error)
	Project(ctx context.Context, obj *model.APIPatch) (*PatchProject, error)

	ProjectIdentifier(ctx context.Context, obj *model.APIPatch) (string, error)
	ProjectMetadata(ctx context.Context, obj *model.APIPatch) (*model.APIProjectRef, error)

	TaskCount(ctx context.Context, obj *model.APIPatch) (*int, error)

	TaskStatuses(ctx context.Context, obj *model.APIPatch) ([]string, error)
	Time(ctx context.Context, obj *model.APIPatch) (*PatchTime, error)

	VersionFull(ctx context.Context, obj *model.APIPatch) (*model.APIVersion, error)
}

type PatchTime

type PatchTime struct {
	Finished    *string `json:"finished,omitempty"`
	Started     *string `json:"started,omitempty"`
	SubmittedAt string  `json:"submittedAt"`
}

type Patches

type Patches struct {
	FilteredPatchCount int               `json:"filteredPatchCount"`
	Patches            []*model.APIPatch `json:"patches"`
}

Patches is the return value of the patches field for the User and Project types. It contains an array Patches for either an individual user or a project.

type PatchesInput

type PatchesInput struct {
	IncludeCommitQueue *bool    `json:"includeCommitQueue,omitempty"`
	Limit              int      `json:"limit"`
	OnlyCommitQueue    *bool    `json:"onlyCommitQueue,omitempty"`
	IncludeHidden      *bool    `json:"includeHidden,omitempty"`
	Page               int      `json:"page"`
	PatchName          string   `json:"patchName"`
	Statuses           []string `json:"statuses"`
}

PatchesInput is the input value to the patches field for the User and Project types. Based on the information in PatchesInput, we return a list of Patches for either an individual user or a project.

type Permissions

type Permissions struct {
	CanCreateDistro      bool                `json:"canCreateDistro"`
	CanCreateProject     bool                `json:"canCreateProject"`
	CanEditAdminSettings bool                `json:"canEditAdminSettings"`
	DistroPermissions    *DistroPermissions  `json:"distroPermissions"`
	ProjectPermissions   *ProjectPermissions `json:"projectPermissions"`
	UserID               string              `json:"userId"`
}

type PermissionsResolver

type PermissionsResolver interface {
	CanCreateDistro(ctx context.Context, obj *Permissions) (bool, error)
	CanCreateProject(ctx context.Context, obj *Permissions) (bool, error)
	CanEditAdminSettings(ctx context.Context, obj *Permissions) (bool, error)
	DistroPermissions(ctx context.Context, obj *Permissions, options DistroPermissionsOptions) (*DistroPermissions, error)
	ProjectPermissions(ctx context.Context, obj *Permissions, options ProjectPermissionsOptions) (*ProjectPermissions, error)
}

type PlannerSettingsInputResolver

type PlannerSettingsInputResolver interface {
	TargetTime(ctx context.Context, obj *model.APIPlannerSettings, data int) error
	Version(ctx context.Context, obj *model.APIPlannerSettings, data PlannerVersion) error
}

type PlannerSettingsResolver

type PlannerSettingsResolver interface {
	Version(ctx context.Context, obj *model.APIPlannerSettings) (PlannerVersion, error)
}

type PlannerVersion

type PlannerVersion string
const (
	PlannerVersionLegacy  PlannerVersion = "LEGACY"
	PlannerVersionTunable PlannerVersion = "TUNABLE"
)

func (PlannerVersion) IsValid

func (e PlannerVersion) IsValid() bool

func (PlannerVersion) MarshalGQL

func (e PlannerVersion) MarshalGQL(w io.Writer)

func (PlannerVersion) String

func (e PlannerVersion) String() string

func (*PlannerVersion) UnmarshalGQL

func (e *PlannerVersion) UnmarshalGQL(v interface{}) error

type PodEventLogDataResolver

type PodEventLogDataResolver interface {
	Task(ctx context.Context, obj *model.PodAPIEventData) (*model.APITask, error)
}

type PodEvents

type PodEvents struct {
	Count           int                          `json:"count"`
	EventLogEntries []*model.PodAPIEventLogEntry `json:"eventLogEntries"`
}

PodEvents is the return value for the events query. It contains the event log entries for a pod.

type PodResolver

type PodResolver interface {
	Events(ctx context.Context, obj *model.APIPod, limit *int, page *int) (*PodEvents, error)

	Status(ctx context.Context, obj *model.APIPod) (string, error)
	Task(ctx context.Context, obj *model.APIPod) (*model.APITask, error)

	Type(ctx context.Context, obj *model.APIPod) (string, error)
}

type ProjectBuildVariant

type ProjectBuildVariant struct {
	DisplayName string   `json:"displayName"`
	Name        string   `json:"name"`
	Tasks       []string `json:"tasks"`
}

type ProjectEvents

type ProjectEvents struct {
	Count           int                      `json:"count"`
	EventLogEntries []*model.APIProjectEvent `json:"eventLogEntries"`
}

ProjectEvents contains project event log entries that concern the history of changes related to project settings. Although RepoSettings uses RepoRef in practice to have stronger types, this can't be enforced or event logs because new fields could always be introduced that don't exist in the old event logs.

type ProjectPermission

type ProjectPermission string
const (
	ProjectPermissionSettings    ProjectPermission = "SETTINGS"
	ProjectPermissionTasks       ProjectPermission = "TASKS"
	ProjectPermissionAnnotations ProjectPermission = "ANNOTATIONS"
	ProjectPermissionPatches     ProjectPermission = "PATCHES"
	ProjectPermissionLogs        ProjectPermission = "LOGS"
)

func (ProjectPermission) IsValid

func (e ProjectPermission) IsValid() bool

func (ProjectPermission) MarshalGQL

func (e ProjectPermission) MarshalGQL(w io.Writer)

func (ProjectPermission) String

func (e ProjectPermission) String() string

func (*ProjectPermission) UnmarshalGQL

func (e *ProjectPermission) UnmarshalGQL(v interface{}) error

type ProjectPermissions

type ProjectPermissions struct {
	Edit bool `json:"edit"`
	View bool `json:"view"`
}

type ProjectPermissionsOptions

type ProjectPermissionsOptions struct {
	ProjectIdentifier string `json:"projectIdentifier"`
}

type ProjectResolver

type ProjectResolver interface {
	IsFavorite(ctx context.Context, obj *model.APIProjectRef) (bool, error)

	Patches(ctx context.Context, obj *model.APIProjectRef, patchesInput PatchesInput) (*Patches, error)
}

type ProjectSettingsInputResolver

type ProjectSettingsInputResolver interface {
	ProjectID(ctx context.Context, obj *model.APIProjectSettings, data string) error
}

type ProjectSettingsResolver

type ProjectSettingsResolver interface {
	Aliases(ctx context.Context, obj *model.APIProjectSettings) ([]*model.APIProjectAlias, error)
	GithubWebhooksEnabled(ctx context.Context, obj *model.APIProjectSettings) (bool, error)

	Subscriptions(ctx context.Context, obj *model.APIProjectSettings) ([]*model.APISubscription, error)
	Vars(ctx context.Context, obj *model.APIProjectSettings) (*model.APIProjectVars, error)
}

type ProjectSettingsSection

type ProjectSettingsSection string
const (
	ProjectSettingsSectionGeneral              ProjectSettingsSection = "GENERAL"
	ProjectSettingsSectionAccess               ProjectSettingsSection = "ACCESS"
	ProjectSettingsSectionVariables            ProjectSettingsSection = "VARIABLES"
	ProjectSettingsSectionGithubAndCommitQueue ProjectSettingsSection = "GITHUB_AND_COMMIT_QUEUE"
	ProjectSettingsSectionNotifications        ProjectSettingsSection = "NOTIFICATIONS"
	ProjectSettingsSectionPatchAliases         ProjectSettingsSection = "PATCH_ALIASES"
	ProjectSettingsSectionWorkstation          ProjectSettingsSection = "WORKSTATION"
	ProjectSettingsSectionTriggers             ProjectSettingsSection = "TRIGGERS"
	ProjectSettingsSectionPeriodicBuilds       ProjectSettingsSection = "PERIODIC_BUILDS"
	ProjectSettingsSectionPlugins              ProjectSettingsSection = "PLUGINS"
	ProjectSettingsSectionContainers           ProjectSettingsSection = "CONTAINERS"
	ProjectSettingsSectionViewsAndFilters      ProjectSettingsSection = "VIEWS_AND_FILTERS"
)

func (ProjectSettingsSection) IsValid

func (e ProjectSettingsSection) IsValid() bool

func (ProjectSettingsSection) MarshalGQL

func (e ProjectSettingsSection) MarshalGQL(w io.Writer)

func (ProjectSettingsSection) String

func (e ProjectSettingsSection) String() string

func (*ProjectSettingsSection) UnmarshalGQL

func (e *ProjectSettingsSection) UnmarshalGQL(v interface{}) error

type ProjectVarsResolver

type ProjectVarsResolver interface {
	AdminOnlyVars(ctx context.Context, obj *model.APIProjectVars) ([]string, error)
	PrivateVars(ctx context.Context, obj *model.APIProjectVars) ([]string, error)
}

type Provider

type Provider string
const (
	ProviderDocker      Provider = "DOCKER"
	ProviderEc2Fleet    Provider = "EC2_FLEET"
	ProviderEc2OnDemand Provider = "EC2_ON_DEMAND"
	ProviderStatic      Provider = "STATIC"
)

func (Provider) IsValid

func (e Provider) IsValid() bool

func (Provider) MarshalGQL

func (e Provider) MarshalGQL(w io.Writer)

func (Provider) String

func (e Provider) String() string

func (*Provider) UnmarshalGQL

func (e *Provider) UnmarshalGQL(v interface{}) error

type PublicKeyInput

type PublicKeyInput struct {
	Key  string `json:"key"`
	Name string `json:"name"`
}

PublicKeyInput is an input to the createPublicKey and updatePublicKey mutations.

type Query

type Query struct {
}

type QueryResolver

type QueryResolver interface {
	BbGetCreatedTickets(ctx context.Context, taskID string) ([]*thirdparty.JiraTicket, error)
	BuildBaron(ctx context.Context, taskID string, execution int) (*BuildBaron, error)
	AwsRegions(ctx context.Context) ([]string, error)
	ClientConfig(ctx context.Context) (*model.APIClientConfig, error)
	InstanceTypes(ctx context.Context) ([]string, error)
	SpruceConfig(ctx context.Context) (*model.APIAdminSettings, error)
	SubnetAvailabilityZones(ctx context.Context) ([]string, error)
	Distro(ctx context.Context, distroID string) (*model.APIDistro, error)
	DistroEvents(ctx context.Context, opts DistroEventsInput) (*DistroEventsPayload, error)
	Distros(ctx context.Context, onlySpawnable bool) ([]*model.APIDistro, error)
	DistroTaskQueue(ctx context.Context, distroID string) ([]*model.APITaskQueueItem, error)
	Host(ctx context.Context, hostID string) (*model.APIHost, error)
	HostEvents(ctx context.Context, hostID string, hostTag *string, limit *int, page *int) (*HostEvents, error)
	Hosts(ctx context.Context, hostID *string, distroID *string, currentTaskID *string, statuses []string, startedBy *string, sortBy *HostSortBy, sortDir *SortDirection, page *int, limit *int) (*HostsResponse, error)
	TaskQueueDistros(ctx context.Context) ([]*TaskQueueDistro, error)
	Pod(ctx context.Context, podID string) (*model.APIPod, error)
	Patch(ctx context.Context, patchID string) (*model.APIPatch, error)
	GithubProjectConflicts(ctx context.Context, projectID string) (*model1.GithubProjectConflicts, error)
	Project(ctx context.Context, projectIdentifier string) (*model.APIProjectRef, error)
	Projects(ctx context.Context) ([]*GroupedProjects, error)
	ProjectEvents(ctx context.Context, identifier string, limit *int, before *time.Time) (*ProjectEvents, error)
	ProjectSettings(ctx context.Context, identifier string) (*model.APIProjectSettings, error)
	RepoEvents(ctx context.Context, repoID string, limit *int, before *time.Time) (*ProjectEvents, error)
	RepoSettings(ctx context.Context, repoID string) (*model.APIProjectSettings, error)
	ViewableProjectRefs(ctx context.Context) ([]*GroupedProjects, error)
	MyHosts(ctx context.Context) ([]*model.APIHost, error)
	MyVolumes(ctx context.Context) ([]*model.APIVolume, error)
	LogkeeperBuildMetadata(ctx context.Context, buildID string) (*plank.Build, error)
	Task(ctx context.Context, taskID string, execution *int) (*model.APITask, error)
	TaskAllExecutions(ctx context.Context, taskID string) ([]*model.APITask, error)
	TaskTestSample(ctx context.Context, versionID string, taskIds []string, filters []*TestFilter) ([]*TaskTestResultSample, error)
	MyPublicKeys(ctx context.Context) ([]*model.APIPubKey, error)
	User(ctx context.Context, userID *string) (*model.APIDBUser, error)
	UserConfig(ctx context.Context) (*UserConfig, error)
	UserSettings(ctx context.Context) (*model.APIUserSettings, error)
	CommitQueue(ctx context.Context, projectIdentifier string) (*model.APICommitQueue, error)
	BuildVariantsForTaskName(ctx context.Context, projectIdentifier string, taskName string) ([]*task.BuildVariantTuple, error)
	MainlineCommits(ctx context.Context, options MainlineCommitsOptions, buildVariantOptions *BuildVariantOptions) (*MainlineCommits, error)
	TaskNamesForBuildVariant(ctx context.Context, projectIdentifier string, buildVariant string) ([]string, error)
	HasVersion(ctx context.Context, patchID string) (bool, error)
	Version(ctx context.Context, versionID string) (*model.APIVersion, error)
}

type RepoSettingsInputResolver

type RepoSettingsInputResolver interface {
	RepoID(ctx context.Context, obj *model.APIProjectSettings, data string) error
}

type RepoSettingsResolver

type RepoSettingsResolver interface {
	Aliases(ctx context.Context, obj *model.APIProjectSettings) ([]*model.APIProjectAlias, error)
	GithubWebhooksEnabled(ctx context.Context, obj *model.APIProjectSettings) (bool, error)

	Subscriptions(ctx context.Context, obj *model.APIProjectSettings) ([]*model.APISubscription, error)
	Vars(ctx context.Context, obj *model.APIProjectSettings) (*model.APIProjectVars, error)
}

type RequiredStatus

type RequiredStatus string
const (
	RequiredStatusMustFail    RequiredStatus = "MUST_FAIL"
	RequiredStatusMustFinish  RequiredStatus = "MUST_FINISH"
	RequiredStatusMustSucceed RequiredStatus = "MUST_SUCCEED"
)

func (RequiredStatus) IsValid

func (e RequiredStatus) IsValid() bool

func (RequiredStatus) MarshalGQL

func (e RequiredStatus) MarshalGQL(w io.Writer)

func (RequiredStatus) String

func (e RequiredStatus) String() string

func (*RequiredStatus) UnmarshalGQL

func (e *RequiredStatus) UnmarshalGQL(v interface{}) error

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

func (*Resolver) Annotation

func (r *Resolver) Annotation() AnnotationResolver

Annotation returns AnnotationResolver implementation.

func (*Resolver) BootstrapSettings

func (r *Resolver) BootstrapSettings() BootstrapSettingsResolver

BootstrapSettings returns BootstrapSettingsResolver implementation.

func (*Resolver) BootstrapSettingsInput

func (r *Resolver) BootstrapSettingsInput() BootstrapSettingsInputResolver

BootstrapSettingsInput returns BootstrapSettingsInputResolver implementation.

func (*Resolver) ContainerPool

func (r *Resolver) ContainerPool() ContainerPoolResolver

ContainerPool returns ContainerPoolResolver implementation.

func (*Resolver) DispatcherSettings

func (r *Resolver) DispatcherSettings() DispatcherSettingsResolver

DispatcherSettings returns DispatcherSettingsResolver implementation.

func (*Resolver) DispatcherSettingsInput

func (r *Resolver) DispatcherSettingsInput() DispatcherSettingsInputResolver

DispatcherSettingsInput returns DispatcherSettingsInputResolver implementation.

func (*Resolver) Distro

func (r *Resolver) Distro() DistroResolver

Distro returns DistroResolver implementation.

func (*Resolver) DistroInput

func (r *Resolver) DistroInput() DistroInputResolver

DistroInput returns DistroInputResolver implementation.

func (*Resolver) FinderSettings

func (r *Resolver) FinderSettings() FinderSettingsResolver

FinderSettings returns FinderSettingsResolver implementation.

func (*Resolver) FinderSettingsInput

func (r *Resolver) FinderSettingsInput() FinderSettingsInputResolver

FinderSettingsInput returns FinderSettingsInputResolver implementation.

func (*Resolver) Host

func (r *Resolver) Host() HostResolver

Host returns HostResolver implementation.

func (*Resolver) HostAllocatorSettings

func (r *Resolver) HostAllocatorSettings() HostAllocatorSettingsResolver

HostAllocatorSettings returns HostAllocatorSettingsResolver implementation.

func (*Resolver) HostAllocatorSettingsInput

func (r *Resolver) HostAllocatorSettingsInput() HostAllocatorSettingsInputResolver

HostAllocatorSettingsInput returns HostAllocatorSettingsInputResolver implementation.

func (r *Resolver) IssueLink() IssueLinkResolver

IssueLink returns IssueLinkResolver implementation.

func (*Resolver) LogkeeperBuild

func (r *Resolver) LogkeeperBuild() LogkeeperBuildResolver

LogkeeperBuild returns LogkeeperBuildResolver implementation.

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns MutationResolver implementation.

func (*Resolver) Patch

func (r *Resolver) Patch() PatchResolver

Patch returns PatchResolver implementation.

func (*Resolver) Permissions

func (r *Resolver) Permissions() PermissionsResolver

Permissions returns PermissionsResolver implementation.

func (*Resolver) PlannerSettings

func (r *Resolver) PlannerSettings() PlannerSettingsResolver

PlannerSettings returns PlannerSettingsResolver implementation.

func (*Resolver) PlannerSettingsInput

func (r *Resolver) PlannerSettingsInput() PlannerSettingsInputResolver

PlannerSettingsInput returns PlannerSettingsInputResolver implementation.

func (*Resolver) Pod

func (r *Resolver) Pod() PodResolver

Pod returns PodResolver implementation.

func (*Resolver) PodEventLogData

func (r *Resolver) PodEventLogData() PodEventLogDataResolver

PodEventLogData returns PodEventLogDataResolver implementation.

func (*Resolver) Project

func (r *Resolver) Project() ProjectResolver

Project returns ProjectResolver implementation.

func (*Resolver) ProjectSettings

func (r *Resolver) ProjectSettings() ProjectSettingsResolver

ProjectSettings returns ProjectSettingsResolver implementation.

func (*Resolver) ProjectSettingsInput

func (r *Resolver) ProjectSettingsInput() ProjectSettingsInputResolver

ProjectSettingsInput returns ProjectSettingsInputResolver implementation.

func (*Resolver) ProjectVars

func (r *Resolver) ProjectVars() ProjectVarsResolver

ProjectVars returns ProjectVarsResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) RepoSettings

func (r *Resolver) RepoSettings() RepoSettingsResolver

RepoSettings returns RepoSettingsResolver implementation.

func (*Resolver) RepoSettingsInput

func (r *Resolver) RepoSettingsInput() RepoSettingsInputResolver

RepoSettingsInput returns RepoSettingsInputResolver implementation.

func (*Resolver) SleepSchedule

func (r *Resolver) SleepSchedule() SleepScheduleResolver

SleepSchedule returns SleepScheduleResolver implementation.

func (*Resolver) SleepScheduleInput

func (r *Resolver) SleepScheduleInput() SleepScheduleInputResolver

SleepScheduleInput returns SleepScheduleInputResolver implementation.

func (*Resolver) SpruceConfig

func (r *Resolver) SpruceConfig() SpruceConfigResolver

SpruceConfig returns SpruceConfigResolver implementation.

func (*Resolver) SubscriberInput

func (r *Resolver) SubscriberInput() SubscriberInputResolver

SubscriberInput returns SubscriberInputResolver implementation.

func (*Resolver) SubscriberWrapper

func (r *Resolver) SubscriberWrapper() SubscriberWrapperResolver

SubscriberWrapper returns SubscriberWrapperResolver implementation.

func (*Resolver) Task

func (r *Resolver) Task() TaskResolver

Task returns TaskResolver implementation.

func (*Resolver) TaskContainerCreationOpts

func (r *Resolver) TaskContainerCreationOpts() TaskContainerCreationOptsResolver

TaskContainerCreationOpts returns TaskContainerCreationOptsResolver implementation.

func (*Resolver) TaskLogs

func (r *Resolver) TaskLogs() TaskLogsResolver

TaskLogs returns TaskLogsResolver implementation.

func (*Resolver) TaskQueueItem

func (r *Resolver) TaskQueueItem() TaskQueueItemResolver

TaskQueueItem returns TaskQueueItemResolver implementation.

func (*Resolver) TicketFields

func (r *Resolver) TicketFields() TicketFieldsResolver

TicketFields returns TicketFieldsResolver implementation.

func (*Resolver) User

func (r *Resolver) User() UserResolver

User returns UserResolver implementation.

func (*Resolver) Version

func (r *Resolver) Version() VersionResolver

Version returns VersionResolver implementation.

func (*Resolver) Volume

func (r *Resolver) Volume() VolumeResolver

Volume returns VolumeResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Annotation() AnnotationResolver
	BootstrapSettings() BootstrapSettingsResolver
	ContainerPool() ContainerPoolResolver
	DispatcherSettings() DispatcherSettingsResolver
	Distro() DistroResolver
	FinderSettings() FinderSettingsResolver
	Host() HostResolver
	HostAllocatorSettings() HostAllocatorSettingsResolver
	IssueLink() IssueLinkResolver
	LogkeeperBuild() LogkeeperBuildResolver
	Mutation() MutationResolver
	Patch() PatchResolver
	Permissions() PermissionsResolver
	PlannerSettings() PlannerSettingsResolver
	Pod() PodResolver
	PodEventLogData() PodEventLogDataResolver
	Project() ProjectResolver
	ProjectSettings() ProjectSettingsResolver
	ProjectVars() ProjectVarsResolver
	Query() QueryResolver
	RepoSettings() RepoSettingsResolver
	SleepSchedule() SleepScheduleResolver
	SpruceConfig() SpruceConfigResolver
	SubscriberWrapper() SubscriberWrapperResolver
	Task() TaskResolver
	TaskContainerCreationOpts() TaskContainerCreationOptsResolver
	TaskLogs() TaskLogsResolver
	TaskQueueItem() TaskQueueItemResolver
	TicketFields() TicketFieldsResolver
	User() UserResolver
	Version() VersionResolver
	Volume() VolumeResolver
	BootstrapSettingsInput() BootstrapSettingsInputResolver
	DispatcherSettingsInput() DispatcherSettingsInputResolver
	DistroInput() DistroInputResolver
	FinderSettingsInput() FinderSettingsInputResolver
	HostAllocatorSettingsInput() HostAllocatorSettingsInputResolver
	PlannerSettingsInput() PlannerSettingsInputResolver
	ProjectSettingsInput() ProjectSettingsInputResolver
	RepoSettingsInput() RepoSettingsInputResolver
	SleepScheduleInput() SleepScheduleInputResolver
	SubscriberInput() SubscriberInputResolver
}

type RoundingRule

type RoundingRule string
const (
	RoundingRuleDown    RoundingRule = "DOWN"
	RoundingRuleUp      RoundingRule = "UP"
	RoundingRuleDefault RoundingRule = "DEFAULT"
)

func (RoundingRule) IsValid

func (e RoundingRule) IsValid() bool

func (RoundingRule) MarshalGQL

func (e RoundingRule) MarshalGQL(w io.Writer)

func (RoundingRule) String

func (e RoundingRule) String() string

func (*RoundingRule) UnmarshalGQL

func (e *RoundingRule) UnmarshalGQL(v interface{}) error

type SaveDistroInput

type SaveDistroInput struct {
	Distro *model.APIDistro      `json:"distro"`
	OnSave DistroOnSaveOperation `json:"onSave"`
}

SaveDistroInput is the input to the saveDistro mutation.

type SaveDistroPayload

type SaveDistroPayload struct {
	Distro    *model.APIDistro `json:"distro"`
	HostCount int              `json:"hostCount"`
}

Return type representing the updated distro and the number of hosts that were updated.

type SetLastRevisionInput

type SetLastRevisionInput struct {
	ProjectIdentifier string `json:"projectIdentifier"`
	Revision          string `json:"revision"`
}

SetLastRevisionInput is the input to the setLastRevision mutation. It contains information used to fix the repotracker error of a project.

type SetLastRevisionPayload

type SetLastRevisionPayload struct {
	MergeBaseRevision string `json:"mergeBaseRevision"`
}

type SleepScheduleInputResolver

type SleepScheduleInputResolver interface {
	WholeWeekdaysOff(ctx context.Context, obj *host.SleepScheduleInfo, data []int) error
}

type SleepScheduleResolver

type SleepScheduleResolver interface {
	WholeWeekdaysOff(ctx context.Context, obj *host.SleepScheduleInfo) ([]int, error)
}

type SortDirection

type SortDirection string
const (
	SortDirectionAsc  SortDirection = "ASC"
	SortDirectionDesc SortDirection = "DESC"
)

func (SortDirection) IsValid

func (e SortDirection) IsValid() bool

func (SortDirection) MarshalGQL

func (e SortDirection) MarshalGQL(w io.Writer)

func (SortDirection) String

func (e SortDirection) String() string

func (*SortDirection) UnmarshalGQL

func (e *SortDirection) UnmarshalGQL(v interface{}) error

type SortOrder

type SortOrder struct {
	Direction SortDirection    `json:"Direction"`
	Key       TaskSortCategory `json:"Key"`
}

SortOrder[] is an input value for version.tasks. It is used to define whether to sort by ASC/DEC for a given sort key.

type SpawnHostInput

type SpawnHostInput struct {
	DistroID                string                  `json:"distroId"`
	Expiration              *time.Time              `json:"expiration,omitempty"`
	HomeVolumeSize          *int                    `json:"homeVolumeSize,omitempty"`
	IsVirtualWorkStation    bool                    `json:"isVirtualWorkStation"`
	NoExpiration            bool                    `json:"noExpiration"`
	PublicKey               *PublicKeyInput         `json:"publicKey"`
	Region                  string                  `json:"region"`
	SavePublicKey           bool                    `json:"savePublicKey"`
	SetUpScript             *string                 `json:"setUpScript,omitempty"`
	SleepSchedule           *host.SleepScheduleInfo `json:"sleepSchedule,omitempty"`
	SpawnHostsStartedByTask *bool                   `json:"spawnHostsStartedByTask,omitempty"`
	TaskID                  *string                 `json:"taskId,omitempty"`
	TaskSync                *bool                   `json:"taskSync,omitempty"`
	UseProjectSetupScript   *bool                   `json:"useProjectSetupScript,omitempty"`
	UserDataScript          *string                 `json:"userDataScript,omitempty"`
	UseTaskConfig           *bool                   `json:"useTaskConfig,omitempty"`
	VolumeID                *string                 `json:"volumeId,omitempty"`
}

SpawnHostInput is the input to the spawnHost mutation. Its fields determine the properties of the host that will be spawned.

type SpawnHostStatusActions

type SpawnHostStatusActions string
const (
	SpawnHostStatusActionsStart     SpawnHostStatusActions = "START"
	SpawnHostStatusActionsStop      SpawnHostStatusActions = "STOP"
	SpawnHostStatusActionsTerminate SpawnHostStatusActions = "TERMINATE"
)

func (SpawnHostStatusActions) IsValid

func (e SpawnHostStatusActions) IsValid() bool

func (SpawnHostStatusActions) MarshalGQL

func (e SpawnHostStatusActions) MarshalGQL(w io.Writer)

func (SpawnHostStatusActions) String

func (e SpawnHostStatusActions) String() string

func (*SpawnHostStatusActions) UnmarshalGQL

func (e *SpawnHostStatusActions) UnmarshalGQL(v interface{}) error

type SpawnVolumeInput

type SpawnVolumeInput struct {
	AvailabilityZone string     `json:"availabilityZone"`
	Expiration       *time.Time `json:"expiration,omitempty"`
	Host             *string    `json:"host,omitempty"`
	NoExpiration     *bool      `json:"noExpiration,omitempty"`
	Size             int        `json:"size"`
	Type             string     `json:"type"`
}

SpawnVolumeInput is the input to the spawnVolume mutation. Its fields determine the properties of the volume that will be spawned.

type SplunkTracing

type SplunkTracing struct{}

SplunkTracing is a graphql extension that adds splunk logging to graphql. It is used to log the duration of a query and the user that made the request. It does this by hooking into lifecycle events that gqlgen uses.

func (SplunkTracing) ExtensionName

func (SplunkTracing) ExtensionName() string

func (SplunkTracing) InterceptResponse

func (SplunkTracing) InterceptResponse(ctx context.Context, next graphql.ResponseHandler) *graphql.Response

func (SplunkTracing) Validate

type SpruceConfigResolver

type SpruceConfigResolver interface {
	SecretFields(ctx context.Context, obj *model.APIAdminSettings) ([]string, error)
}

type Subscriber

type Subscriber struct {
	EmailSubscriber       *string                         `json:"emailSubscriber,omitempty"`
	GithubCheckSubscriber *model.APIGithubCheckSubscriber `json:"githubCheckSubscriber,omitempty"`
	GithubPRSubscriber    *model.APIGithubPRSubscriber    `json:"githubPRSubscriber,omitempty"`
	JiraCommentSubscriber *string                         `json:"jiraCommentSubscriber,omitempty"`
	JiraIssueSubscriber   *model.APIJIRAIssueSubscriber   `json:"jiraIssueSubscriber,omitempty"`
	SlackSubscriber       *string                         `json:"slackSubscriber,omitempty"`
	WebhookSubscriber     *model.APIWebhookSubscriber     `json:"webhookSubscriber,omitempty"`
}

type SubscriberInputResolver

type SubscriberInputResolver interface {
	Target(ctx context.Context, obj *model.APISubscriber, data string) error
}

type SubscriberWrapperResolver

type SubscriberWrapperResolver interface {
	Subscriber(ctx context.Context, obj *model.APISubscriber) (*Subscriber, error)
}

type TaskContainerCreationOptsResolver

type TaskContainerCreationOptsResolver interface {
	Os(ctx context.Context, obj *model.APIPodTaskContainerCreationOptions) (string, error)
	Arch(ctx context.Context, obj *model.APIPodTaskContainerCreationOptions) (string, error)
}

type TaskFiles

type TaskFiles struct {
	FileCount    int             `json:"fileCount"`
	GroupedFiles []*GroupedFiles `json:"groupedFiles"`
}

TaskFiles is the return value for the taskFiles query. Some tasks generate files which are represented by this type.

type TaskFilterOptions

type TaskFilterOptions struct {
	BaseStatuses               []string     `json:"baseStatuses,omitempty"`
	IncludeEmptyActivation     *bool        `json:"includeEmptyActivation,omitempty"`
	IncludeNeverActivatedTasks *bool        `json:"includeNeverActivatedTasks,omitempty"`
	Limit                      *int         `json:"limit,omitempty"`
	Page                       *int         `json:"page,omitempty"`
	Sorts                      []*SortOrder `json:"sorts,omitempty"`
	Statuses                   []string     `json:"statuses,omitempty"`
	TaskName                   *string      `json:"taskName,omitempty"`
	Variant                    *string      `json:"variant,omitempty"`
}

TaskFilterOptions defines the parameters that are used when fetching tasks from a Version.

type TaskLogs

type TaskLogs struct {
	AgentLogs  []*apimodels.LogMessage       `json:"agentLogs"`
	AllLogs    []*apimodels.LogMessage       `json:"allLogs"`
	EventLogs  []*model.TaskAPIEventLogEntry `json:"eventLogs"`
	Execution  int                           `json:"execution"`
	SystemLogs []*apimodels.LogMessage       `json:"systemLogs"`
	TaskID     string                        `json:"taskId"`
	TaskLogs   []*apimodels.LogMessage       `json:"taskLogs"`
}

TaskLogs is the return value for the task.taskLogs query. It contains the logs for a given task on a given execution.

type TaskLogsResolver

type TaskLogsResolver interface {
	AgentLogs(ctx context.Context, obj *TaskLogs) ([]*apimodels.LogMessage, error)
	AllLogs(ctx context.Context, obj *TaskLogs) ([]*apimodels.LogMessage, error)
	EventLogs(ctx context.Context, obj *TaskLogs) ([]*model.TaskAPIEventLogEntry, error)

	SystemLogs(ctx context.Context, obj *TaskLogs) ([]*apimodels.LogMessage, error)

	TaskLogs(ctx context.Context, obj *TaskLogs) ([]*apimodels.LogMessage, error)
}

type TaskQueueDistro

type TaskQueueDistro struct {
	ID        string `json:"id"`
	HostCount int    `json:"hostCount"`
	TaskCount int    `json:"taskCount"`
}

TaskQueueDistro[] is the return value for the taskQueueDistros query. It contains information about how many tasks and hosts are running on on a particular distro.

type TaskQueueItemResolver

type TaskQueueItemResolver interface {
	Requester(ctx context.Context, obj *model.APITaskQueueItem) (TaskQueueItemType, error)
}

type TaskQueueItemType

type TaskQueueItemType string
const (
	TaskQueueItemTypeCommit TaskQueueItemType = "COMMIT"
	TaskQueueItemTypePatch  TaskQueueItemType = "PATCH"
)

func (TaskQueueItemType) IsValid

func (e TaskQueueItemType) IsValid() bool

func (TaskQueueItemType) MarshalGQL

func (e TaskQueueItemType) MarshalGQL(w io.Writer)

func (TaskQueueItemType) String

func (e TaskQueueItemType) String() string

func (*TaskQueueItemType) UnmarshalGQL

func (e *TaskQueueItemType) UnmarshalGQL(v interface{}) error

type TaskResolver

type TaskResolver interface {
	AbortInfo(ctx context.Context, obj *model.APITask) (*AbortInfo, error)

	Ami(ctx context.Context, obj *model.APITask) (*string, error)
	Annotation(ctx context.Context, obj *model.APITask) (*model.APITaskAnnotation, error)
	BaseStatus(ctx context.Context, obj *model.APITask) (*string, error)
	BaseTask(ctx context.Context, obj *model.APITask) (*model.APITask, error)

	BuildVariantDisplayName(ctx context.Context, obj *model.APITask) (*string, error)
	CanAbort(ctx context.Context, obj *model.APITask) (bool, error)
	CanDisable(ctx context.Context, obj *model.APITask) (bool, error)
	CanModifyAnnotation(ctx context.Context, obj *model.APITask) (bool, error)
	CanOverrideDependencies(ctx context.Context, obj *model.APITask) (bool, error)
	CanRestart(ctx context.Context, obj *model.APITask) (bool, error)
	CanSchedule(ctx context.Context, obj *model.APITask) (bool, error)
	CanSetPriority(ctx context.Context, obj *model.APITask) (bool, error)

	CanUnschedule(ctx context.Context, obj *model.APITask) (bool, error)

	DependsOn(ctx context.Context, obj *model.APITask) ([]*Dependency, error)

	DisplayTask(ctx context.Context, obj *model.APITask) (*model.APITask, error)

	EstimatedStart(ctx context.Context, obj *model.APITask) (*model.APIDuration, error)

	ExecutionTasksFull(ctx context.Context, obj *model.APITask) ([]*model.APITask, error)

	FailedTestCount(ctx context.Context, obj *model.APITask) (int, error)

	Files(ctx context.Context, obj *model.APITask) (*TaskFiles, error)

	GeneratedByName(ctx context.Context, obj *model.APITask) (*string, error)

	IsPerfPluginEnabled(ctx context.Context, obj *model.APITask) (bool, error)
	LatestExecution(ctx context.Context, obj *model.APITask) (int, error)

	MinQueuePosition(ctx context.Context, obj *model.APITask) (int, error)

	Patch(ctx context.Context, obj *model.APITask) (*model.APIPatch, error)
	PatchNumber(ctx context.Context, obj *model.APITask) (*int, error)
	Pod(ctx context.Context, obj *model.APITask) (*model.APIPod, error)

	Project(ctx context.Context, obj *model.APITask) (*model.APIProjectRef, error)

	ProjectIdentifier(ctx context.Context, obj *model.APITask) (*string, error)

	SpawnHostLink(ctx context.Context, obj *model.APITask) (*string, error)

	Status(ctx context.Context, obj *model.APITask) (string, error)

	TaskFiles(ctx context.Context, obj *model.APITask) (*TaskFiles, error)

	TaskLogs(ctx context.Context, obj *model.APITask) (*TaskLogs, error)
	Tests(ctx context.Context, obj *model.APITask, opts *TestFilterOptions) (*TaskTestResult, error)

	TotalTestCount(ctx context.Context, obj *model.APITask) (int, error)
	VersionMetadata(ctx context.Context, obj *model.APITask) (*model.APIVersion, error)
}

type TaskSortCategory

type TaskSortCategory string
const (
	TaskSortCategoryName       TaskSortCategory = "NAME"
	TaskSortCategoryStatus     TaskSortCategory = "STATUS"
	TaskSortCategoryBaseStatus TaskSortCategory = "BASE_STATUS"
	TaskSortCategoryVariant    TaskSortCategory = "VARIANT"
	TaskSortCategoryDuration   TaskSortCategory = "DURATION"
)

func (TaskSortCategory) IsValid

func (e TaskSortCategory) IsValid() bool

func (TaskSortCategory) MarshalGQL

func (e TaskSortCategory) MarshalGQL(w io.Writer)

func (TaskSortCategory) String

func (e TaskSortCategory) String() string

func (*TaskSortCategory) UnmarshalGQL

func (e *TaskSortCategory) UnmarshalGQL(v interface{}) error

type TaskTestResult

type TaskTestResult struct {
	TestResults       []*model.APITest `json:"testResults"`
	TotalTestCount    int              `json:"totalTestCount"`
	FilteredTestCount int              `json:"filteredTestCount"`
}

TaskTestResult is the return value for the task.Tests resolver. It contains the test results for a task. For example, if there is a task to run all unit tests, then the test results could be the result of each individual unit test.

type TaskTestResultSample

type TaskTestResultSample struct {
	Execution               int      `json:"execution"`
	MatchingFailedTestNames []string `json:"matchingFailedTestNames"`
	TaskID                  string   `json:"taskId"`
	TotalTestCount          int      `json:"totalTestCount"`
}

TaskTestResultSample is the return value for the taskTestSample query. It is used to represent failing test results on the task history pages.

type TestFilter

type TestFilter struct {
	TestName   string `json:"testName"`
	TestStatus string `json:"testStatus"`
}

TestFilter is an input value for the taskTestSample query. It's used to filter for tests with testName and status testStatus.

type TestFilterOptions

type TestFilterOptions struct {
	TestName            *string            `json:"testName,omitempty"`
	ExcludeDisplayNames *bool              `json:"excludeDisplayNames,omitempty"`
	Statuses            []string           `json:"statuses,omitempty"`
	GroupID             *string            `json:"groupID,omitempty"`
	Sort                []*TestSortOptions `json:"sort,omitempty"`
	Limit               *int               `json:"limit,omitempty"`
	Page                *int               `json:"page,omitempty"`
}

TestFilterOptions is an input for the task.Tests query. It's used to filter, sort, and paginate test results of a task.

type TestSortCategory

type TestSortCategory string
const (
	TestSortCategoryBaseStatus TestSortCategory = "BASE_STATUS"
	TestSortCategoryStatus     TestSortCategory = "STATUS"
	TestSortCategoryStartTime  TestSortCategory = "START_TIME"
	TestSortCategoryDuration   TestSortCategory = "DURATION"
	TestSortCategoryTestName   TestSortCategory = "TEST_NAME"
)

func (TestSortCategory) IsValid

func (e TestSortCategory) IsValid() bool

func (TestSortCategory) MarshalGQL

func (e TestSortCategory) MarshalGQL(w io.Writer)

func (TestSortCategory) String

func (e TestSortCategory) String() string

func (*TestSortCategory) UnmarshalGQL

func (e *TestSortCategory) UnmarshalGQL(v interface{}) error

type TestSortOptions

type TestSortOptions struct {
	SortBy    TestSortCategory `json:"sortBy"`
	Direction SortDirection    `json:"direction"`
}

TestSortOptions is an input for the task.Tests query. It's used to define sort criteria for test results of a task.

type TicketFieldsResolver

type TicketFieldsResolver interface {
	AssignedTeam(ctx context.Context, obj *thirdparty.TicketFields) (*string, error)
	AssigneeDisplayName(ctx context.Context, obj *thirdparty.TicketFields) (*string, error)

	ResolutionName(ctx context.Context, obj *thirdparty.TicketFields) (*string, error)
}

type UpdateParsleySettingsInput

type UpdateParsleySettingsInput struct {
	ParsleySettings *model.APIParsleySettings `json:"parsleySettings"`
}

type UpdateParsleySettingsPayload

type UpdateParsleySettingsPayload struct {
	ParsleySettings *model.APIParsleySettings `json:"parsleySettings,omitempty"`
}

type UpdateVolumeInput

type UpdateVolumeInput struct {
	Expiration   *time.Time `json:"expiration,omitempty"`
	Name         *string    `json:"name,omitempty"`
	NoExpiration *bool      `json:"noExpiration,omitempty"`
	VolumeID     string     `json:"volumeId"`
}

UpdateVolumeInput is the input to the updateVolume mutation. Its fields determine how a given volume will be modified.

type UpstreamProject

type UpstreamProject struct {
	Owner       string            `json:"owner"`
	Project     string            `json:"project"`
	Repo        string            `json:"repo"`
	ResourceID  string            `json:"resourceID"`
	Revision    string            `json:"revision"`
	Task        *model.APITask    `json:"task,omitempty"`
	TriggerID   string            `json:"triggerID"`
	TriggerType string            `json:"triggerType"`
	Version     *model.APIVersion `json:"version,omitempty"`
}

type UserConfig

type UserConfig struct {
	APIKey        string `json:"api_key"`
	APIServerHost string `json:"api_server_host"`
	UIServerHost  string `json:"ui_server_host"`
	User          string `json:"user"`
}

UserConfig is returned by the userConfig query. It contains configuration information such as the user's api key for the Evergreen CLI and a user's preferred UI (legacy vs Spruce).

type UserResolver

type UserResolver interface {
	ParsleyFilters(ctx context.Context, obj *model.APIDBUser) ([]*model.APIParsleyFilter, error)
	ParsleySettings(ctx context.Context, obj *model.APIDBUser) (*model.APIParsleySettings, error)
	Patches(ctx context.Context, obj *model.APIDBUser, patchesInput PatchesInput) (*Patches, error)
	Permissions(ctx context.Context, obj *model.APIDBUser) (*Permissions, error)
	Subscriptions(ctx context.Context, obj *model.APIDBUser) ([]*model.APISubscription, error)
}

type VariantTasks

type VariantTasks struct {
	DisplayTasks []*DisplayTask `json:"displayTasks"`
	Tasks        []string       `json:"tasks"`
	Variant      string         `json:"variant"`
}

type VersionResolver

type VersionResolver interface {
	BaseTaskStatuses(ctx context.Context, obj *model.APIVersion) ([]string, error)
	BaseVersion(ctx context.Context, obj *model.APIVersion) (*model.APIVersion, error)

	BuildVariants(ctx context.Context, obj *model.APIVersion, options BuildVariantOptions) ([]*GroupedBuildVariant, error)
	BuildVariantStats(ctx context.Context, obj *model.APIVersion, options BuildVariantOptions) ([]*task.GroupedTaskStatusCount, error)
	ChildVersions(ctx context.Context, obj *model.APIVersion) ([]*model.APIVersion, error)

	ExternalLinksForMetadata(ctx context.Context, obj *model.APIVersion) ([]*ExternalLinkForMetadata, error)

	IsPatch(ctx context.Context, obj *model.APIVersion) (bool, error)
	Manifest(ctx context.Context, obj *model.APIVersion) (*Manifest, error)

	Patch(ctx context.Context, obj *model.APIVersion) (*model.APIPatch, error)
	PreviousVersion(ctx context.Context, obj *model.APIVersion) (*model.APIVersion, error)

	ProjectMetadata(ctx context.Context, obj *model.APIVersion) (*model.APIProjectRef, error)

	Status(ctx context.Context, obj *model.APIVersion) (string, error)
	TaskCount(ctx context.Context, obj *model.APIVersion) (*int, error)
	Tasks(ctx context.Context, obj *model.APIVersion, options TaskFilterOptions) (*VersionTasks, error)
	TaskStatuses(ctx context.Context, obj *model.APIVersion) ([]string, error)
	TaskStatusStats(ctx context.Context, obj *model.APIVersion, options BuildVariantOptions) (*task.TaskStats, error)
	UpstreamProject(ctx context.Context, obj *model.APIVersion) (*UpstreamProject, error)
	VersionTiming(ctx context.Context, obj *model.APIVersion) (*VersionTiming, error)
	Warnings(ctx context.Context, obj *model.APIVersion) ([]string, error)
}

type VersionTasks

type VersionTasks struct {
	Count int              `json:"count"`
	Data  []*model.APITask `json:"data"`
}

type VersionTiming

type VersionTiming struct {
	Makespan  *model.APIDuration `json:"makespan,omitempty"`
	TimeTaken *model.APIDuration `json:"timeTaken,omitempty"`
}

type VolumeHost

type VolumeHost struct {
	VolumeID string `json:"volumeId"`
	HostID   string `json:"hostId"`
}

VolumeHost is the input to the attachVolumeToHost mutation. Its fields are used to attach the volume with volumeId to the host with hostId.

type VolumeResolver

type VolumeResolver interface {
	Host(ctx context.Context, obj *model.APIVolume) (*model.APIHost, error)
}

Jump to

Keyboard shortcuts

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