opslevel

package module
v2024.10.28 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2024 License: MIT Imports: 25 Imported by: 2

README

License Made With Go Release Issues Contributors Activity CodeCov Dependabot Go Reference

The OpsLevel Gopher

Overall

opslevel-go

Package opslevel provides an OpsLevel API client implementation.

Installation

opslevel requires Go version 1.8 or later.

go get -u github.com/opslevel/opslevel-go

Usage

Construct a client, specifying the API token. Then, you can use it to make GraphQL queries and mutations.

client := opslevel.NewGQLClient(opslevel.SetAPIToken("XXX_API_TOKEN_XXX"))
// Use client...

You can validate the client can successfully talk to the OpsLevel API.

client := opslevel.NewClient("XXX_API_TOKEN_XXX")
if err := client.Validate(); err != nil {
	panic(err)
}

Every resource (IE: service, lifecycle, tier, etc.) in OpsLevel API has a corresponding data structure in go as well as the graphql query & mutation inputs. Additionally, there are also some helper functions that use native go types like string and []string to make it easier to work with. The following are a handful of examples:

Find a service given an alias and print the owning team name:

foundService, foundServiceErr := client.GetServiceWithAlias("MyCoolService")
if foundServiceErr != nil {
	panic(foundServiceErr)
}
fmt.Println(foundService.Owner.Name)

Create a new service in OpsLevel and print the ID:

serviceCreateInput := opslevel.ServiceCreateInput{
	Name:        "MyCoolService",
	Product:     "MyProduct",
	Description: "The Coolest Service",
	Language:    "go",
}
newService, newServiceErr := client.CreateService(serviceCreateInput)
if newServiceErr != nil {
	panic(newServiceErr)
}
fmt.Println(newService.Id)

Assign the tag {"hello": "world"} to our newly created service and print all the tags currently on it:

allTagsOnThisService, assignTagsErr := client.AssignTags(newService.Id, map[string]string{"hello": "world"})
if assignTagsErr != nil {
	panic(assignTagsErr)
}
for _, tagOnService := range allTagsOnThisService {
	fmt.Printf("Tag '{%s : %s}'", tagOnService.Id, tagOnService.Value)
}

List all the tags for a service:

myService, foundServiceErr := client.GetServiceWithAlias("MyCoolService")
if foundServiceErr != nil {
	panic(foundServiceErr)
}
tags, getTagsErr := myService.GetTags(client, nil)
if getTagsErr != nil {
	panic(getTagsErr)
}
for _, tag := range tags {
	fmt.Printf("Tag '{%s : %s}'\n", tag.Key, tag.Value)
}

Build a lookup table of teams:

func GetTeams(client *opslevel.Client) (map[string]opslevel.Team, error) {
	teams := make(map[string]opslevel.Team)
	data, dataErr := client.ListTeams()
	if dataErr != nil {
		return teams, dataErr
	}
	for _, team := range data {
		teams[string(team.Alias)] = team
	}
	return teams, nil
}

Advanced Usage

The client also exposes functions Query and Mutate for doing custom query or mutations. We are running on top of this go graphql library.

Documentation

Overview

Package opslevel provides an OpsLevel API client implementation.

see README for more details.

Index

Constants

This section is empty.

Variables

View Source
var (
	TagKeyRegex    = regexp.MustCompile(`\A[a-z][0-9a-z_\.\/\\-]*\z`)
	TagKeyErrorMsg = "tag key name '%s' must start with a letter and be only lowercase alphanumerics, underscores, hyphens, periods, and slashes"
)

All AlertSourceStatusTypeEnum as []string

All AlertSourceTypeEnum as []string

All AliasOwnerTypeEnum as []string

All ApiDocumentSourceEnum as []string

All BasicTypeEnum as []string

All CampaignFilterEnum as []string

All CampaignReminderChannelEnum as []string

All CampaignReminderFrequencyUnitEnum as []string

All CampaignReminderTypeEnum as []string

All CampaignServiceStatusEnum as []string

All CampaignSortEnum as []string

All CampaignStatusEnum as []string

All CheckCodeIssueConstraintEnum as []string

All CheckResultStatusEnum as []string

All CheckStatus as []string

All CheckType as []string

All CodeIssueResolutionTimeUnitEnum as []string

All ConnectiveEnum as []string

All ContactType as []string

All CustomActionsEntityTypeEnum as []string

All CustomActionsHttpMethodEnum as []string

All CustomActionsTriggerDefinitionAccessControlEnum as []string

All CustomActionsTriggerEventStatusEnum as []string

All DayOfWeekEnum as []string

All EventIntegrationEnum as []string

All FrequencyTimeScale as []string

View Source
var AllHasDocumentationSubtypeEnum = []string{
	string(HasDocumentationSubtypeEnumOpenapi),
}

All HasDocumentationSubtypeEnum as []string

All HasDocumentationTypeEnum as []string

All PackageConstraintEnum as []string

All PackageManagerEnum as []string

All PayloadSortEnum as []string

All PredicateKeyEnum as []string

All PredicateTypeEnum as []string

All PropertyDefinitionDisplayTypeEnum as []string

All PropertyDisplayStatusEnum as []string

All RelatedResourceRelationshipTypeEnum as []string

All RelationshipTypeEnum as []string

All RepositoryVisibilityEnum as []string

All ResourceDocumentStatusTypeEnum as []string

All ScorecardSortEnum as []string

All ServicePropertyTypeEnum as []string

All ServiceSortEnum as []string

All TaggableResource as []string

All ToolCategory as []string

All UserRole as []string

All UsersFilterEnum as []string

All VaultSecretsSortEnum as []string

View Source
var Cache = &Cacher{
	mutex:        sync.Mutex{},
	Tiers:        make(map[string]Tier),
	Lifecycles:   make(map[string]Lifecycle),
	Systems:      make(map[string]System),
	Teams:        make(map[string]Team),
	Categories:   make(map[string]Category),
	Levels:       make(map[string]Level),
	Filters:      make(map[string]Filter),
	Integrations: make(map[string]Integration),
	Repositories: make(map[string]Repository),
	InfraSchemas: make(map[string]InfrastructureResourceSchema),
}
View Source
var CheckCreateConstructors = map[CheckType]CheckInputConstructor{
	CheckTypeAlertSourceUsage:    func() any { return &CheckAlertSourceUsageCreateInput{} },
	CheckTypeCodeIssue:           func() any { return &CheckCodeIssueCreateInput{} },
	CheckTypeCustom:              func() any { return &CheckCreateInput{} },
	CheckTypeGeneric:             func() any { return &CheckCustomEventCreateInput{} },
	CheckTypeGitBranchProtection: func() any { return &CheckGitBranchProtectionCreateInput{} },
	CheckTypeHasDocumentation:    func() any { return &CheckHasDocumentationCreateInput{} },
	CheckTypeHasOwner:            func() any { return &CheckServiceOwnershipCreateInput{} },
	CheckTypeHasRecentDeploy:     func() any { return &CheckHasRecentDeployCreateInput{} },
	CheckTypeHasRepository:       func() any { return &CheckRepositoryIntegratedCreateInput{} },
	CheckTypeHasServiceConfig:    func() any { return &CheckServiceConfigurationCreateInput{} },
	CheckTypeManual:              func() any { return &CheckManualCreateInput{} },
	CheckTypePayload:             func() any { return &CheckCreateInput{} },
	CheckTypeRepoFile:            func() any { return &CheckRepositoryFileCreateInput{} },
	CheckTypeRepoGrep:            func() any { return &CheckRepositoryGrepCreateInput{} },
	CheckTypeRepoSearch:          func() any { return &CheckRepositorySearchCreateInput{} },
	CheckTypeServiceDependency:   func() any { return &CheckServiceDependencyCreateInput{} },
	CheckTypeServiceProperty:     func() any { return &CheckServicePropertyCreateInput{} },
	CheckTypeTagDefined:          func() any { return &CheckTagDefinedCreateInput{} },
	CheckTypeToolUsage:           func() any { return &CheckToolUsageCreateInput{} },
	CheckTypePackageVersion:      func() any { return &CheckPackageVersionCreateInput{} },
}
View Source
var CheckUpdateConstructors = map[CheckType]CheckInputConstructor{
	CheckTypeAlertSourceUsage:    func() any { return &CheckAlertSourceUsageUpdateInput{} },
	CheckTypeCodeIssue:           func() any { return &CheckCodeIssueUpdateInput{} },
	CheckTypeCustom:              func() any { return &CheckUpdateInput{} },
	CheckTypeGeneric:             func() any { return &CheckCustomEventUpdateInput{} },
	CheckTypeGitBranchProtection: func() any { return &CheckGitBranchProtectionUpdateInput{} },
	CheckTypeHasDocumentation:    func() any { return &CheckHasDocumentationUpdateInput{} },
	CheckTypeHasOwner:            func() any { return &CheckServiceOwnershipUpdateInput{} },
	CheckTypeHasRecentDeploy:     func() any { return &CheckHasRecentDeployUpdateInput{} },
	CheckTypeHasRepository:       func() any { return &CheckRepositoryIntegratedUpdateInput{} },
	CheckTypeHasServiceConfig:    func() any { return &CheckServiceConfigurationUpdateInput{} },
	CheckTypeManual:              func() any { return &CheckManualUpdateInput{} },
	CheckTypePayload:             func() any { return &CheckUpdateInput{} },
	CheckTypeRepoFile:            func() any { return &CheckRepositoryFileUpdateInput{} },
	CheckTypeRepoGrep:            func() any { return &CheckRepositoryGrepUpdateInput{} },
	CheckTypeRepoSearch:          func() any { return &CheckRepositorySearchUpdateInput{} },
	CheckTypeServiceDependency:   func() any { return &CheckServiceDependencyUpdateInput{} },
	CheckTypeServiceProperty:     func() any { return &CheckServicePropertyUpdateInput{} },
	CheckTypeTagDefined:          func() any { return &CheckTagDefinedUpdateInput{} },
	CheckTypeToolUsage:           func() any { return &CheckToolUsageUpdateInput{} },
	CheckTypePackageVersion:      func() any { return &CheckPackageVersionUpdateInput{} },
}

Functions

func AllRunnerJobOutcomeEnum

func AllRunnerJobOutcomeEnum() []string

func AllRunnerJobStatusEnum

func AllRunnerJobStatusEnum() []string

func AllRunnerStatusTypeEnum

func AllRunnerStatusTypeEnum() []string

func FormatErrors

func FormatErrors(errs []OpsLevelErrors) error

func HandleErrors

func HandleErrors(err error, errs []OpsLevelErrors) error

func IsID

func IsID(value string) bool

func IsOpsLevelApiError added in v2024.10.15

func IsOpsLevelApiError(err error) bool

IsOpsLevelApiError checks if the error is returned by OpsLevel's API

func IsResourceValid

func IsResourceValid[T any](opslevelResource T) error

IsResourceValid runs validator.Validate on all `validate` struct tags

func JsonStringAs

func JsonStringAs[T any](data JsonString) (T, error)

func NewCheckCreateInputTypeOf

func NewCheckCreateInputTypeOf[T any](checkCreateInput CheckCreateInput) *T

func NewCheckUpdateInputTypeOf

func NewCheckUpdateInputTypeOf[T any](checkUpdateInput CheckUpdateInput) *T

func NewExampleOf

func NewExampleOf[T any]() T

NewExampleOf makes a new OpsLevel resource with all `example` struct tags applied

func NewISO8601Date

func NewISO8601Date(datetime string) iso8601.Time

func NewISO8601DateNow

func NewISO8601DateNow() iso8601.Time

func NewRestClient

func NewRestClient(options ...Option) *resty.Client

func NullString

func NullString() *string

func RefOf

func RefOf[T any](v T) *T

func RefTo

func RefTo[T any](v T) *T

func SetDefaultsFor

func SetDefaultsFor[T any](opslevelResource *T)

SetDefaultsFor applies all `default` struct tags

func SetExamplesFor

func SetExamplesFor[T any](opslevelResource *T)

SetExamplesFor applies all `example` struct tags

func UnmarshalCheckCreateInput

func UnmarshalCheckCreateInput(checkType CheckType, data []byte) (any, error)

func UnmarshalCheckUpdateInput

func UnmarshalCheckUpdateInput(checkType CheckType, data []byte) (any, error)

func ValidateTagKey

func ValidateTagKey(key string) error

func WithName

func WithName(name string) graphql.Option

Types

type AWSIntegrationFragment

type AWSIntegrationFragment struct {
	IAMRole              string   `graphql:"iamRole"`
	ExternalID           string   `graphql:"externalId"`
	OwnershipTagOverride bool     `graphql:"awsTagsOverrideOwnership"`
	OwnershipTagKeys     []string `graphql:"ownershipTagKeys"`
	RegionOverride       []string `graphql:"regionOverride"`
}

type AWSIntegrationInput

type AWSIntegrationInput struct {
	Name                 *string   `json:"name,omitempty"`
	IAMRole              *string   `json:"iamRole,omitempty"`
	ExternalID           *string   `json:"externalId,omitempty"`
	OwnershipTagOverride *bool     `json:"awsTagsOverrideOwnership,omitempty"`
	OwnershipTagKeys     []string  `json:"ownershipTagKeys"`
	RegionOverride       *[]string `json:"regionOverride,omitempty"`
}

func (AWSIntegrationInput) GetGraphQLType

func (awsIntegrationInput AWSIntegrationInput) GetGraphQLType() string

type AlertSource

type AlertSource struct {
	Description string              `graphql:"description"`
	ExternalId  string              `graphql:"externalId"`
	Id          ID                  `graphql:"id"`
	Integration IntegrationId       `graphql:"integration"`
	Name        string              `graphql:"name"`
	Type        AlertSourceTypeEnum `graphql:"type"`
	Url         string              `graphql:"url"`
}

type AlertSourceDeleteInput

type AlertSourceDeleteInput struct {
	Id ID `json:"id"`
}

type AlertSourceExternalIdentifier

type AlertSourceExternalIdentifier struct {
	Type       AlertSourceTypeEnum `json:"type" yaml:"type" example:"pagerduty"`                                   // The type of the alert. (Required.)
	ExternalId string              `json:"externalId" yaml:"externalId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The external id of the alert. (Required.)
}

AlertSourceExternalIdentifier specifies the input needed to find an alert source with external information.

type AlertSourceService

type AlertSourceService struct {
	AlertSource AlertSource               `graphql:"alertSource"`
	Id          ID                        `graphql:"id"`
	Service     ServiceId                 `graphql:"service"`
	Status      AlertSourceStatusTypeEnum `graphql:"status"`
}

type AlertSourceServiceCreateInput

type AlertSourceServiceCreateInput struct {
	Service                       IdentifierInput                `json:"service" yaml:"service"`                                                                                              // The service that the alert source will be attached to. (Required.)
	AlertSourceId                 *ID                            `json:"alertSourceId,omitempty" yaml:"alertSourceId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                    // Specifies the input needed to find an alert source with external information. (Optional.)
	AlertSourceExternalIdentifier *AlertSourceExternalIdentifier `json:"alertSourceExternalIdentifier,omitempty" yaml:"alertSourceExternalIdentifier,omitempty" example:"example_identifier"` // Specifies the input needed to find an alert source with external information. (Optional.)
}

AlertSourceServiceCreateInput specifies the input used for attaching an alert source to a service.

type AlertSourceServiceDeleteInput

type AlertSourceServiceDeleteInput struct {
	Id ID `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the alert source service to be deleted. (Required.)
}

AlertSourceServiceDeleteInput specifies the input fields used in the `alertSourceServiceDelete` mutation.

type AlertSourceStatusTypeEnum

type AlertSourceStatusTypeEnum string

AlertSourceStatusTypeEnum represents the monitor status level.

const (
	AlertSourceStatusTypeEnumAlert        AlertSourceStatusTypeEnum = "alert"         // Monitor is reporting an alert.
	AlertSourceStatusTypeEnumWarn         AlertSourceStatusTypeEnum = "warn"          // Monitor is reporting a warning.
	AlertSourceStatusTypeEnumOk           AlertSourceStatusTypeEnum = "ok"            // Monitor is not reporting any warnings or alerts.
	AlertSourceStatusTypeEnumNoData       AlertSourceStatusTypeEnum = "no_data"       // No data received yet. Ensure your monitors are configured correctly.
	AlertSourceStatusTypeEnumFetchingData AlertSourceStatusTypeEnum = "fetching_data" // Monitor currently being updated.
)

type AlertSourceTypeEnum

type AlertSourceTypeEnum string

AlertSourceTypeEnum represents the type of the alert source.

const (
	AlertSourceTypeEnumPagerduty AlertSourceTypeEnum = "pagerduty" // A PagerDuty alert source (aka service).
	AlertSourceTypeEnumDatadog   AlertSourceTypeEnum = "datadog"   // A Datadog alert source (aka monitor).
	AlertSourceTypeEnumOpsgenie  AlertSourceTypeEnum = "opsgenie"  // An Opsgenie alert source (aka service).
	AlertSourceTypeEnumNewRelic  AlertSourceTypeEnum = "new_relic" // A New Relic alert source (aka service).
)

type AlertSourceUsageCheckFragment

type AlertSourceUsageCheckFragment struct {
	AlertSourceNamePredicate *Predicate          `graphql:"alertSourceNamePredicate"` // The condition that the alert source name should satisfy to be evaluated.
	AlertSourceType          AlertSourceTypeEnum `graphql:"alertSourceType"`          // The type of the alert source.
}

type AliasCreateInput

type AliasCreateInput struct {
	Alias   string `json:"alias" yaml:"alias" example:"example_alias"`                       // The alias you wish to create. (Required.)
	OwnerId ID     `json:"ownerId" yaml:"ownerId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The ID of the resource you want to create the alias on. Services, teams, groups, systems, and domains are supported. (Required.)
}

AliasCreateInput represents the input for the `aliasCreate` mutation.

type AliasDeleteInput

type AliasDeleteInput struct {
	Alias     string             `json:"alias" yaml:"alias" example:"example_alias"`     // The alias you wish to delete. (Required.)
	OwnerType AliasOwnerTypeEnum `json:"ownerType" yaml:"ownerType" example:"scorecard"` // The resource the alias you wish to delete belongs to. (Required.)
}

AliasDeleteInput represents the input for the `aliasDelete` mutation.

type AliasOwnerTypeEnum

type AliasOwnerTypeEnum string

AliasOwnerTypeEnum represents the owner type an alias is assigned to.

const (
	AliasOwnerTypeEnumService                AliasOwnerTypeEnum = "service"                 // Aliases that are assigned to services.
	AliasOwnerTypeEnumTeam                   AliasOwnerTypeEnum = "team"                    // Aliases that are assigned to teams.
	AliasOwnerTypeEnumGroup                  AliasOwnerTypeEnum = "group"                   // Aliases that are assigned to groups.
	AliasOwnerTypeEnumSystem                 AliasOwnerTypeEnum = "system"                  // Aliases that are assigned to systems.
	AliasOwnerTypeEnumDomain                 AliasOwnerTypeEnum = "domain"                  // Aliases that are assigned to domains.
	AliasOwnerTypeEnumInfrastructureResource AliasOwnerTypeEnum = "infrastructure_resource" // Aliases that are assigned to infrastructure resources.
	AliasOwnerTypeEnumScorecard              AliasOwnerTypeEnum = "scorecard"               // Aliases that are assigned to scorecards.
)

type AliasableResourceInterface added in v2024.10.28

type AliasableResourceInterface interface {
	GetAliases() []string
	ResourceId() ID
	AliasableType() AliasOwnerTypeEnum
}

type ApiDocumentSourceEnum

type ApiDocumentSourceEnum string

ApiDocumentSourceEnum represents the source used to determine the preferred API document.

const (
	ApiDocumentSourceEnumPush ApiDocumentSourceEnum = "PUSH" // Use the document that was pushed to OpsLevel via an API Docs integration.
	ApiDocumentSourceEnumPull ApiDocumentSourceEnum = "PULL" // Use the document that was pulled by OpsLevel via a repo.
)

type AwsIntegrationInput

type AwsIntegrationInput struct {
	Name                     *string   `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                     // The name of the integration. (Optional.)
	IamRole                  *string   `json:"iamRole,omitempty" yaml:"iamRole,omitempty" example:"example_role"`                               // The IAM role OpsLevel uses in order to access the AWS account. (Optional.)
	ExternalId               *string   `json:"externalId,omitempty" yaml:"externalId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`      // The External ID defined in the trust relationship to ensure OpsLevel is the only third party assuming this role (See https:/docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html for more details). (Optional.)
	OwnershipTagKeys         *[]string `json:"ownershipTagKeys,omitempty" yaml:"ownershipTagKeys,omitempty" example:"['tag_key1', 'tag_key2']"` // An array of tag keys used to associate ownership from an integration. Max 5. (Optional.)
	AwsTagsOverrideOwnership *bool     `json:"awsTagsOverrideOwnership,omitempty" yaml:"awsTagsOverrideOwnership,omitempty" example:"false"`    // Allow tags imported from AWS to override ownership set in OpsLevel directly. (Optional.)
	RegionOverride           *[]string `json:"regionOverride,omitempty" yaml:"regionOverride,omitempty" example:"['us-east-1', 'eu-west-1']"`   // Overrides the AWS region(s) that will be synchronized by this integration. (Optional.)
}

AwsIntegrationInput specifies the input fields used to create and update an AWS integration.

type AzureResourcesIntegrationFragment added in v2024.8.1

type AzureResourcesIntegrationFragment struct {
	Aliases               []string `graphql:"aliases"`
	OwnershipTagKeys      []string `graphql:"ownershipTagKeys"`
	SubscriptionId        string   `graphql:"subscriptionId"`
	TagsOverrideOwnership bool     `graphql:"tagsOverrideOwnership"`
	TenantId              string   `graphql:"tenantId"`
}

type AzureResourcesIntegrationInput added in v2024.8.1

type AzureResourcesIntegrationInput struct {
	Name                  *string   `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                        // The name of the integration. (Optional.)
	OwnershipTagKeys      *[]string `json:"ownershipTagKeys,omitempty" yaml:"ownershipTagKeys,omitempty" example:"['tag_key1', 'tag_key2']"`    // An array of tag keys used to associate ownership from an integration. Max 5. (Optional.)
	TenantId              *string   `json:"tenantId,omitempty" yaml:"tenantId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`             // The tenant OpsLevel uses to access the Azure account. (Optional.)
	SubscriptionId        *string   `json:"subscriptionId,omitempty" yaml:"subscriptionId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The subscription OpsLevel uses to access the Azure account. (Optional.)
	ClientId              *string   `json:"clientId,omitempty" yaml:"clientId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`             // The client OpsLevel uses to access the Azure account. (Optional.)
	ClientSecret          *string   `json:"clientSecret,omitempty" yaml:"clientSecret,omitempty" example:""`                                    // The client secret OpsLevel uses to access the Azure account. (Optional.)
	TagsOverrideOwnership *bool     `json:"tagsOverrideOwnership,omitempty" yaml:"tagsOverrideOwnership,omitempty" example:"false"`             // Allow tags imported from Azure to override ownership set in OpsLevel directly. (Optional.)
}

AzureResourcesIntegrationInput specifies the input fields used to create and update an Azure resources integration.

type BasicTypeEnum

type BasicTypeEnum string

BasicTypeEnum represents operations that can be used on filters.

const (
	BasicTypeEnumEquals       BasicTypeEnum = "equals"         // Equals a specific value.
	BasicTypeEnumDoesNotEqual BasicTypeEnum = "does_not_equal" // Does not equal a specific value.
)

type Cacher

type Cacher struct {
	Tiers        map[string]Tier
	Lifecycles   map[string]Lifecycle
	Systems      map[string]System
	Teams        map[string]Team
	Categories   map[string]Category
	Levels       map[string]Level
	Filters      map[string]Filter
	Integrations map[string]Integration
	Repositories map[string]Repository
	InfraSchemas map[string]InfrastructureResourceSchema
	// contains filtered or unexported fields
}

func (*Cacher) CacheAll

func (cacher *Cacher) CacheAll(client *Client)

func (*Cacher) CacheCategories

func (cacher *Cacher) CacheCategories(client *Client)

func (*Cacher) CacheFilters

func (cacher *Cacher) CacheFilters(client *Client)

func (*Cacher) CacheInfraSchemas

func (cacher *Cacher) CacheInfraSchemas(client *Client)

func (*Cacher) CacheIntegrations

func (cacher *Cacher) CacheIntegrations(client *Client)

func (*Cacher) CacheLevels

func (cacher *Cacher) CacheLevels(client *Client)

func (*Cacher) CacheLifecycles

func (cacher *Cacher) CacheLifecycles(client *Client)

func (*Cacher) CacheRepositories

func (cacher *Cacher) CacheRepositories(client *Client)

func (*Cacher) CacheSystems added in v2024.9.3

func (cacher *Cacher) CacheSystems(client *Client)

func (*Cacher) CacheTeams

func (cacher *Cacher) CacheTeams(client *Client)

func (*Cacher) CacheTiers

func (cacher *Cacher) CacheTiers(client *Client)

func (*Cacher) TryGetCategory

func (cacher *Cacher) TryGetCategory(alias string) (*Category, bool)

func (*Cacher) TryGetFilter

func (cacher *Cacher) TryGetFilter(alias string) (*Filter, bool)

func (*Cacher) TryGetInfrastructureSchema

func (cacher *Cacher) TryGetInfrastructureSchema(alias string) (*InfrastructureResourceSchema, bool)

func (*Cacher) TryGetIntegration

func (cacher *Cacher) TryGetIntegration(alias string) (*Integration, bool)

func (*Cacher) TryGetLevel

func (cacher *Cacher) TryGetLevel(alias string) (*Level, bool)

func (*Cacher) TryGetLifecycle

func (cacher *Cacher) TryGetLifecycle(alias string) (*Lifecycle, bool)

func (*Cacher) TryGetRepository

func (cacher *Cacher) TryGetRepository(alias string) (*Repository, bool)

func (*Cacher) TryGetSystems added in v2024.9.3

func (cacher *Cacher) TryGetSystems(alias string) (*System, bool)

func (*Cacher) TryGetTeam

func (cacher *Cacher) TryGetTeam(alias string) (*Team, bool)

func (*Cacher) TryGetTier

func (cacher *Cacher) TryGetTier(alias string) (*Tier, bool)

type CampaignFilterEnum

type CampaignFilterEnum string

CampaignFilterEnum represents fields that can be used as part of filter for campaigns.

const (
	CampaignFilterEnumID     CampaignFilterEnum = "id"     // Filter by `id` of campaign.
	CampaignFilterEnumOwner  CampaignFilterEnum = "owner"  // Filter by campaign owner.
	CampaignFilterEnumStatus CampaignFilterEnum = "status" // Filter by campaign status.
)

type CampaignReminderChannelEnum

type CampaignReminderChannelEnum string

CampaignReminderChannelEnum represents the possible communication channels through which a campaign reminder can be delivered.

const (
	CampaignReminderChannelEnumSlack CampaignReminderChannelEnum = "slack" // A cloud-based team communication platform developed by Slack Technologies.
	CampaignReminderChannelEnumEmail CampaignReminderChannelEnum = "email" // A system for sending messages to one or more recipients via telecommunications links between computers using dedicated software or a web-based service.
)

type CampaignReminderFrequencyUnitEnum

type CampaignReminderFrequencyUnitEnum string

CampaignReminderFrequencyUnitEnum represents possible time units for the frequency at which campaign reminders are delivered.

const (
	CampaignReminderFrequencyUnitEnumDay   CampaignReminderFrequencyUnitEnum = "day"   // A period of twenty-four hours as a unit of time, reckoned from one midnight to the next, corresponding to a rotation of the earth on its axis.
	CampaignReminderFrequencyUnitEnumWeek  CampaignReminderFrequencyUnitEnum = "week"  // A period of seven days.
	CampaignReminderFrequencyUnitEnumMonth CampaignReminderFrequencyUnitEnum = "month" // Each of the twelve named periods into which a year is divided.
)

type CampaignReminderTypeEnum

type CampaignReminderTypeEnum string

CampaignReminderTypeEnum represents type/Format of the notification.

const (
	CampaignReminderTypeEnumEmail CampaignReminderTypeEnum = "email" // Notification will be sent via email.
	CampaignReminderTypeEnumSlack CampaignReminderTypeEnum = "slack" // Notification will be sent by slack.
)

type CampaignServiceStatusEnum

type CampaignServiceStatusEnum string

CampaignServiceStatusEnum represents status of whether a service is passing all checks for a campaign or not.

const (
	CampaignServiceStatusEnumPassing CampaignServiceStatusEnum = "passing" // Service is passing all the checks in the campaign.
	CampaignServiceStatusEnumFailing CampaignServiceStatusEnum = "failing" // Service is failing one or more checks in the campaign.
)

type CampaignSortEnum

type CampaignSortEnum string

CampaignSortEnum represents sort possibilities for campaigns.

const (
	CampaignSortEnumNameAsc              CampaignSortEnum = "name_ASC"               // Sort by `name` ascending.
	CampaignSortEnumNameDesc             CampaignSortEnum = "name_DESC"              // Sort by `name` descending.
	CampaignSortEnumOwnerAsc             CampaignSortEnum = "owner_ASC"              // Sort by `owner` ascending.
	CampaignSortEnumOwnerDesc            CampaignSortEnum = "owner_DESC"             // Sort by `owner` descending.
	CampaignSortEnumFilterAsc            CampaignSortEnum = "filter_ASC"             // Sort by `filter` ascending.
	CampaignSortEnumFilterDesc           CampaignSortEnum = "filter_DESC"            // Sort by `filter` descending.
	CampaignSortEnumStartDateAsc         CampaignSortEnum = "start_date_ASC"         // Sort by `startDate` ascending.
	CampaignSortEnumStartDateDesc        CampaignSortEnum = "start_date_DESC"        // Sort by `startDate` descending.
	CampaignSortEnumTargetDateAsc        CampaignSortEnum = "target_date_ASC"        // Sort by `targetDate` ascending.
	CampaignSortEnumTargetDateDesc       CampaignSortEnum = "target_date_DESC"       // Sort by `targetDate` descending.
	CampaignSortEnumEndedDateAsc         CampaignSortEnum = "ended_date_ASC"         // Sort by `endedDate` ascending.
	CampaignSortEnumEndedDateDesc        CampaignSortEnum = "ended_date_DESC"        // Sort by `endedDate` descending.
	CampaignSortEnumStatusAsc            CampaignSortEnum = "status_ASC"             // Sort by `status` ascending.
	CampaignSortEnumStatusDesc           CampaignSortEnum = "status_DESC"            // Sort by `status` descending.
	CampaignSortEnumServicesCompleteAsc  CampaignSortEnum = "services_complete_ASC"  // Sort by number of `services complete` ascending.
	CampaignSortEnumServicesCompleteDesc CampaignSortEnum = "services_complete_DESC" // Sort by number of `services complete` descending.
	CampaignSortEnumChecksPassingAsc     CampaignSortEnum = "checks_passing_ASC"     // Sort by number of `checks passing` ascending.
	CampaignSortEnumChecksPassingDesc    CampaignSortEnum = "checks_passing_DESC"    // Sort by number of `checks passing` descending.
)

type CampaignStatusEnum

type CampaignStatusEnum string

CampaignStatusEnum represents the campaign status.

const (
	CampaignStatusEnumDraft      CampaignStatusEnum = "draft"       // Campaign has been created but is not yet active.
	CampaignStatusEnumScheduled  CampaignStatusEnum = "scheduled"   // Campaign has been scheduled to begin in the future.
	CampaignStatusEnumInProgress CampaignStatusEnum = "in_progress" // Campaign is in progress.
	CampaignStatusEnumDelayed    CampaignStatusEnum = "delayed"     // Campaign is delayed.
	CampaignStatusEnumEnded      CampaignStatusEnum = "ended"       // Campaign ended.
)

type Category

type Category struct {
	Id   ID `json:"id"`
	Name string
}

func (*Category) Alias

func (category *Category) Alias() string

type CategoryBreakdown

type CategoryBreakdown struct {
	Category Category
	Level    Level
}

type CategoryConnection

type CategoryConnection struct {
	Nodes      []Category
	PageInfo   PageInfo
	TotalCount int
}

type CategoryCreateInput

type CategoryCreateInput struct {
	Name        string  `json:"name" yaml:"name" example:"example_name"`                                          // The display name of the category. (Required.)
	Description *string `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"` // The description of the category. (Optional.)
}

CategoryCreateInput specifies the input fields used to create a category.

type CategoryDeleteInput

type CategoryDeleteInput struct {
	Id ID `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category to be deleted. (Required.)
}

CategoryDeleteInput specifies the input fields used to delete a category.

type CategoryUpdateInput

type CategoryUpdateInput struct {
	Id          ID      `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                           // The id of the category to be updated. (Required.)
	Name        *string `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                      // The display name of the category. (Optional.)
	Description *string `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"` // The description of the category. (Optional.)
}

CategoryUpdateInput specifies the input fields used to update a category.

type Check

type Check struct {
	Category    Category     `graphql:"category"`        // The category that the check belongs to.
	Description string       `graphql:"description"`     // Description of the check type's purpose.
	EnableOn    iso8601.Time `graphql:"enableOn"`        // The date when the check will be automatically enabled.
	Enabled     bool         `graphql:"enabled"`         // If the check is enabled or not.
	Filter      Filter       `graphql:"filter"`          // The filter that the check belongs to.
	Id          ID           `graphql:"id"`              // The id of the check.
	Level       Level        `graphql:"level"`           // The level that the check belongs to.
	Name        string       `graphql:"name"`            // The display name of the check.
	Notes       string       `graphql:"notes: rawNotes"` // Additional information about the check.
	Owner       CheckOwner   `graphql:"owner"`           // The owner of the check.
	Type        CheckType    `graphql:"type"`            // The type of check.

	AlertSourceUsageCheckFragment `graphql:"... on AlertSourceUsageCheck"`
	CodeIssueCheckFragment        `graphql:"... on CodeIssueCheck"`
	CustomEventCheckFragment      `graphql:"... on CustomEventCheck"`
	HasRecentDeployCheckFragment  `graphql:"... on HasRecentDeployCheck"`
	ManualCheckFragment           `graphql:"... on ManualCheck"`
	RepositoryFileCheckFragment   `graphql:"... on RepositoryFileCheck"`
	RepositoryGrepCheckFragment   `graphql:"... on RepositoryGrepCheck"`
	RepositorySearchCheckFragment `graphql:"... on RepositorySearchCheck"`
	ServiceOwnershipCheckFragment `graphql:"... on ServiceOwnershipCheck"`
	ServicePropertyCheckFragment  `graphql:"... on ServicePropertyCheck"`
	TagDefinedCheckFragment       `graphql:"... on TagDefinedCheck"`
	ToolUsageCheckFragment        `graphql:"... on ToolUsageCheck"`
	HasDocumentationCheckFragment `graphql:"... on HasDocumentationCheck"`
	PackageVersionCheckFragment   `graphql:"... on PackageVersionCheck"`
}

Check represents checks allow you to monitor how your services are built and operated.

type CheckAlertSourceUsageCreateInput

type CheckAlertSourceUsageCreateInput struct {
	Name                     string               `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled                  *bool                `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn                 *iso8601.Time        `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId               ID                   `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId                  ID                   `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId                  *ID                  `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId                 *ID                  `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes                    *string              `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	AlertSourceType          *AlertSourceTypeEnum `json:"alertSourceType,omitempty" yaml:"alertSourceType,omitempty" example:"pagerduty"`         // The type of the alert source. (Optional.)
	AlertSourceNamePredicate *PredicateInput      `json:"alertSourceNamePredicate,omitempty" yaml:"alertSourceNamePredicate,omitempty"`           // The condition that the alert source name should satisfy to be evaluated. (Optional.)
}

CheckAlertSourceUsageCreateInput specifies the input fields used to create an alert source usage check.

type CheckAlertSourceUsageUpdateInput

type CheckAlertSourceUsageUpdateInput struct {
	Name                     *string               `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId               *ID                   `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId                  *ID                   `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId                  *ID                   `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId                 *ID                   `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled                  *bool                 `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn                 *iso8601.Time         `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes                    *string               `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id                       ID                    `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	AlertSourceType          *AlertSourceTypeEnum  `json:"alertSourceType,omitempty" yaml:"alertSourceType,omitempty" example:"pagerduty"`             // The type of the alert source. (Optional.)
	AlertSourceNamePredicate *PredicateUpdateInput `json:"alertSourceNamePredicate,omitempty" yaml:"alertSourceNamePredicate,omitempty"`               // The condition that the alert source name should satisfy to be evaluated. (Optional.)
}

CheckAlertSourceUsageUpdateInput specifies the input fields used to update an alert source usage check.

type CheckCodeIssueConstraintEnum added in v2024.10.28

type CheckCodeIssueConstraintEnum string

CheckCodeIssueConstraintEnum represents the values allowed for the constraint type for the code issues check.

const (
	CheckCodeIssueConstraintEnumAny      CheckCodeIssueConstraintEnum = "any"      // The check will look for any code issues regardless of issue name.
	CheckCodeIssueConstraintEnumExact    CheckCodeIssueConstraintEnum = "exact"    // The check will look for any code issues matching the issue name exactly.
	CheckCodeIssueConstraintEnumContains CheckCodeIssueConstraintEnum = "contains" // The check will look for any code issues by name containing the issue name.
)

type CheckCodeIssueCreateInput added in v2024.10.28

type CheckCodeIssueCreateInput struct {
	Name           string                        `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled        *bool                         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn       *iso8601.Time                 `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId     ID                            `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId        ID                            `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId        *ID                           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId       *ID                           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes          *string                       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	Constraint     CheckCodeIssueConstraintEnum  `json:"constraint" yaml:"constraint" example:"contains"`                                        // The type of constraint used in evaluation the code issues check. (Required.)
	IssueName      *string                       `json:"issueName,omitempty" yaml:"issueName,omitempty" example:"example_name"`                  // The issue name used for code issue lookup. (Optional.)
	ResolutionTime *CodeIssueResolutionTimeInput `json:"resolutionTime,omitempty" yaml:"resolutionTime,omitempty"`                               // The resolution time recommended by the reporting source of the code issue. (Optional.)
	MaxAllowed     *int                          `json:"maxAllowed,omitempty" yaml:"maxAllowed,omitempty" example:"3"`                           // The threshold count of code issues beyond which the check starts failing. (Optional.)
	IssueType      *[]string                     `json:"issueType,omitempty" yaml:"issueType,omitempty" example:"['bug', 'error']"`              // The type of code issue to consider. (Optional.)
	Severity       *[]string                     `json:"severity,omitempty" yaml:"severity,omitempty" example:"['sev1', 'sev2']"`                // The severity levels of the issue. (Optional.)
}

CheckCodeIssueCreateInput specifies the input fields used to create a code issue check.

type CheckCodeIssueUpdateInput added in v2024.10.28

type CheckCodeIssueUpdateInput struct {
	Name           *string                                 `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId     *ID                                     `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId        *ID                                     `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId        *ID                                     `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId       *ID                                     `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled        *bool                                   `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn       *iso8601.Time                           `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes          *string                                 `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id             ID                                      `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	Constraint     CheckCodeIssueConstraintEnum            `json:"constraint" yaml:"constraint" example:"NEW_ENUM_SET_DEFAULT"`                                // The type of constraint used in evaluation the code issues check. (Required.)
	IssueName      *string                                 `json:"issueName,omitempty" yaml:"issueName,omitempty" example:"example_name"`                      // The issue name used for code issue lookup. (Optional.)
	ResolutionTime *Nullable[CodeIssueResolutionTimeInput] `json:"resolutionTime,omitempty" yaml:"resolutionTime,omitempty"`                                   // The resolution time recommended by the reporting source of the code issue. (Optional.)
	MaxAllowed     *Nullable[int]                          `json:"maxAllowed,omitempty" yaml:"maxAllowed,omitempty" example:"3"`                               // The threshold count of code issues beyond which the check starts failing. (Optional.)
	IssueType      *Nullable[[]string]                     `json:"issueType,omitempty" yaml:"issueType,omitempty" example:"['bug', 'error']"`                  // The type of code issue to consider. (Optional.)
	Severity       *Nullable[[]string]                     `json:"severity,omitempty" yaml:"severity,omitempty" example:"['sev1', 'sev2']"`                    // The severity levels of the issue. (Optional.)
}

CheckCodeIssueUpdateInput specifies the input fields used to update an exasting code issue check.

type CheckConnection

type CheckConnection struct {
	Nodes      []Check
	PageInfo   PageInfo
	TotalCount int
}

type CheckCreateInput

type CheckCreateInput struct {
	Name     string        `json:"name" yaml:"name" mapstructure:"name"`
	Enabled  *bool         `json:"enabled" yaml:"enabled" mapstructure:"enabled"`
	EnableOn *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" mapstructure:"enabledOn,omitempty"`
	Category ID            `json:"categoryId" yaml:"categoryId" mapstructure:"categoryId"`
	Level    ID            `json:"levelId" yaml:"levelId" mapstructure:"levelId"`
	Owner    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" mapstructure:"ownerId,omitempty"`
	Filter   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" mapstructure:"filterId,omitempty"`
	Notes    *string       `json:"notes" yaml:"notes" default:"Notes on Example Check" mapstructure:"notes"`
}

type CheckCreateInputProvider

type CheckCreateInputProvider interface {
	GetCheckCreateInput() *CheckCreateInput
}

type CheckCustomEventCreateInput

type CheckCustomEventCreateInput struct {
	Name             string        `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled          *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn         *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId       ID            `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId          ID            `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId          *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId         *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes            *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	ServiceSelector  string        `json:"serviceSelector" yaml:"serviceSelector" example:"example_selector"`                      // A jq expression that will be ran against your payload. This will parse out the service identifier. [More info about jq](https:/jqplay.org/). (Required.)
	SuccessCondition string        `json:"successCondition" yaml:"successCondition" example:"example_condition"`                   // A jq expression that will be ran against your payload. A truthy value will result in the check passing. [More info about jq](https:/jqplay.org/). (Required.)
	ResultMessage    *string       `json:"resultMessage,omitempty" yaml:"resultMessage,omitempty" example:"example_message"`       // The check result message template. It is compiled with Liquid and formatted in Markdown. [More info about liquid templates](https:/docs.opslevel.com/docs/checks/payload-checks/#liquid-templating). (Optional.)
	PassPending      *bool         `json:"passPending,omitempty" yaml:"passPending,omitempty" example:"false"`                     // True if this check should pass by default. Otherwise the default 'pending' state counts as a failure. (Optional.)
	IntegrationId    ID            `json:"integrationId" yaml:"integrationId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`           // The integration id this check will use. (Required.)
}

CheckCustomEventCreateInput represents creates a custom event check.

type CheckCustomEventUpdateInput

type CheckCustomEventUpdateInput struct {
	Name             *string       `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                      // The display name of the check. (Optional.)
	CategoryId       *ID           `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the category the check belongs to. (Optional.)
	LevelId          *ID           `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`             // The id of the level the check belongs to. (Optional.)
	OwnerId          *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`             // The id of the owner of the check. (Optional.)
	FilterId         *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`           // The id of the filter the check belongs to. (Optional.)
	Enabled          *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                       // Whether the check is enabled or not. (Optional.)
	EnableOn         *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`                  // The date when the check will be automatically enabled. (Optional.)
	Notes            *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                                   // Additional information about the check. (Optional.)
	Id               ID            `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                           // The id of the check to be updated. (Required.)
	ServiceSelector  *string       `json:"serviceSelector,omitempty" yaml:"serviceSelector,omitempty" example:"example_selector"`            // A jq expression that will be ran against your payload. This will parse out the service identifier. [More info about jq](https:/jqplay.org/). (Optional.)
	SuccessCondition *string       `json:"successCondition,omitempty" yaml:"successCondition,omitempty" example:"example_condition"`         // A jq expression that will be ran against your payload. A truthy value will result in the check passing. [More info about jq](https:/jqplay.org/). (Optional.)
	ResultMessage    *string       `json:"resultMessage,omitempty" yaml:"resultMessage,omitempty" example:"example_message"`                 // The check result message template. It is compiled with Liquid and formatted in Markdown. [More info about liquid templates](https:/docs.opslevel.com/docs/checks/payload-checks/#liquid-templating). (Optional.)
	PassPending      *bool         `json:"passPending,omitempty" yaml:"passPending,omitempty" example:"false"`                               // True if this check should pass by default. Otherwise the default 'pending' state counts as a failure. (Optional.)
	IntegrationId    *ID           `json:"integrationId,omitempty" yaml:"integrationId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The integration id this check will use. (Optional.)
}

CheckCustomEventUpdateInput specifies the input fields used to update a custom event check.

type CheckDeleteInput

type CheckDeleteInput struct {
	Id *ID `json:"id,omitempty" yaml:"id,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the check to be deleted. (Optional.)
}

CheckDeleteInput specifies the input fields used to delete a check.

type CheckGitBranchProtectionCreateInput

type CheckGitBranchProtectionCreateInput struct {
	Name       string        `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled    *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn   *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId ID            `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId    ID            `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes      *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
}

CheckGitBranchProtectionCreateInput specifies the input fields used to create a branch protection check.

type CheckGitBranchProtectionUpdateInput

type CheckGitBranchProtectionUpdateInput struct {
	Name       *string       `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId *ID           `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId    *ID           `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled    *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn   *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes      *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id         ID            `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
}

CheckGitBranchProtectionUpdateInput specifies the input fields used to update a branch protection check.

type CheckHasDocumentationCreateInput

type CheckHasDocumentationCreateInput struct {
	Name            string                      `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled         *bool                       `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn        *iso8601.Time               `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId      ID                          `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId         ID                          `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId         *ID                         `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId        *ID                         `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes           *string                     `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	DocumentType    HasDocumentationTypeEnum    `json:"documentType" yaml:"documentType" example:"api"`                                         // The type of the document. (Required.)
	DocumentSubtype HasDocumentationSubtypeEnum `json:"documentSubtype" yaml:"documentSubtype" example:"openapi"`                               // The subtype of the document. (Required.)
}

CheckHasDocumentationCreateInput specifies the input fields used to create a documentation check.

type CheckHasDocumentationUpdateInput

type CheckHasDocumentationUpdateInput struct {
	Name            *string                      `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId      *ID                          `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId         *ID                          `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId         *ID                          `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId        *ID                          `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled         *bool                        `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn        *iso8601.Time                `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes           *string                      `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id              ID                           `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	DocumentType    *HasDocumentationTypeEnum    `json:"documentType,omitempty" yaml:"documentType,omitempty" example:"api"`                         // The type of the document. (Optional.)
	DocumentSubtype *HasDocumentationSubtypeEnum `json:"documentSubtype,omitempty" yaml:"documentSubtype,omitempty" example:"openapi"`               // The subtype of the document. (Optional.)
}

CheckHasDocumentationUpdateInput specifies the input fields used to update a documentation check.

type CheckHasRecentDeployCreateInput

type CheckHasRecentDeployCreateInput struct {
	Name       string        `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled    *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn   *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId ID            `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId    ID            `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes      *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	Days       int           `json:"days" yaml:"days" example:"3"`                                                           // The number of days to check since the last deploy. (Required.)
}

CheckHasRecentDeployCreateInput specifies the input fields used to create a recent deploys check.

type CheckHasRecentDeployUpdateInput

type CheckHasRecentDeployUpdateInput struct {
	Name       *string       `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId *ID           `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId    *ID           `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled    *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn   *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes      *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id         ID            `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	Days       *int          `json:"days,omitempty" yaml:"days,omitempty" example:"3"`                                           // The number of days to check since the last deploy. (Optional.)
}

CheckHasRecentDeployUpdateInput specifies the input fields used to update a has recent deploy check.

type CheckInputConstructor

type CheckInputConstructor func() any

type CheckManualCreateInput

type CheckManualCreateInput struct {
	Name                  string                     `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled               *bool                      `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn              *iso8601.Time              `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId            ID                         `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId               ID                         `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId               *ID                        `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId              *ID                        `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes                 *string                    `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	UpdateFrequency       *ManualCheckFrequencyInput `json:"updateFrequency,omitempty" yaml:"updateFrequency,omitempty"`                             // Defines the minimum frequency of the updates. (Optional.)
	UpdateRequiresComment bool                       `json:"updateRequiresComment" yaml:"updateRequiresComment" example:"false"`                     // Whether the check requires a comment or not. (Required.)
}

CheckManualCreateInput specifies the input fields used to create a manual check.

type CheckManualUpdateInput

type CheckManualUpdateInput struct {
	Name                  *string                          `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId            *ID                              `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId               *ID                              `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId               *ID                              `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId              *ID                              `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled               *bool                            `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn              *iso8601.Time                    `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes                 *string                          `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id                    ID                               `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	UpdateFrequency       *ManualCheckFrequencyUpdateInput `json:"updateFrequency,omitempty" yaml:"updateFrequency,omitempty"`                                 // Defines the minimum frequency of the updates. (Optional.)
	UpdateRequiresComment *bool                            `json:"updateRequiresComment,omitempty" yaml:"updateRequiresComment,omitempty" example:"false"`     // Whether the check requires a comment or not. (Optional.)
}

CheckManualUpdateInput specifies the input fields used to update a manual check.

type CheckOwner

type CheckOwner struct {
	Team TeamId `graphql:"... on Team"`
}

type CheckPackageVersionCreateInput added in v2024.8.1

type CheckPackageVersionCreateInput struct {
	Name                       string                 `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled                    *bool                  `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn                   *iso8601.Time          `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId                 ID                     `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId                    ID                     `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId                    *ID                    `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId                   *ID                    `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes                      *string                `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	PackageManager             PackageManagerEnum     `json:"packageManager" yaml:"packageManager" example:"golang"`                                  // The package manager (ecosystem) this package relates to. (Required.)
	PackageName                string                 `json:"packageName" yaml:"packageName" example:"example_name"`                                  // The name of the package to be checked. (Required.)
	PackageNameIsRegex         *bool                  `json:"packageNameIsRegex,omitempty" yaml:"packageNameIsRegex,omitempty" example:"false"`       // Whether or not the value in the package name field is a regular expression. (Optional.)
	PackageConstraint          PackageConstraintEnum  `json:"packageConstraint" yaml:"packageConstraint" example:"matches_version"`                   // The package constraint the service is to be checked for. (Required.)
	MissingPackageResult       *CheckResultStatusEnum `json:"missingPackageResult,omitempty" yaml:"missingPackageResult,omitempty" example:"passed"`  // The check result if the package isn't being used by a service. (Optional.)
	VersionConstraintPredicate *PredicateInput        `json:"versionConstraintPredicate,omitempty" yaml:"versionConstraintPredicate,omitempty"`       // The predicate that describes the version constraint the package must satisfy. (Optional.)
}

CheckPackageVersionCreateInput represents information about the package version check to be created.

type CheckPackageVersionUpdateInput added in v2024.8.1

type CheckPackageVersionUpdateInput struct {
	Name                       *string                          `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId                 *ID                              `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId                    *ID                              `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId                    *ID                              `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId                   *ID                              `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled                    *bool                            `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn                   *iso8601.Time                    `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes                      *string                          `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id                         ID                               `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	PackageManager             *PackageManagerEnum              `json:"packageManager,omitempty" yaml:"packageManager,omitempty" example:"docker"`                  // The package manager (ecosystem) this package relates to. (Optional.)
	PackageName                *string                          `json:"packageName,omitempty" yaml:"packageName,omitempty" example:"example_name"`                  // The name of the package to be checked. (Optional.)
	PackageNameIsRegex         *bool                            `json:"packageNameIsRegex,omitempty" yaml:"packageNameIsRegex,omitempty" example:"false"`           // Whether or not the value in the package name field is a regular expression. (Optional.)
	PackageConstraint          *PackageConstraintEnum           `json:"packageConstraint,omitempty" yaml:"packageConstraint,omitempty" example:"matches_version"`   // The package constraint the service is to be checked for. (Optional.)
	MissingPackageResult       *Nullable[CheckResultStatusEnum] `json:"missingPackageResult,omitempty" yaml:"missingPackageResult,omitempty" example:"failed"`      // The check result if the package isn't being used by a service. (Optional.)
	VersionConstraintPredicate *PredicateUpdateInput            `json:"versionConstraintPredicate,omitempty" yaml:"versionConstraintPredicate,omitempty"`           // The predicate that describes the version constraint the package must satisfy. (Optional.)
}

CheckPackageVersionUpdateInput represents information about the package version check to be updated.

type CheckRepositoryFileCreateInput

type CheckRepositoryFileCreateInput struct {
	Name                  string          `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled               *bool           `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn              *iso8601.Time   `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId            ID              `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId               ID              `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId               *ID             `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId              *ID             `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes                 *string         `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	DirectorySearch       *bool           `json:"directorySearch,omitempty" yaml:"directorySearch,omitempty" example:"false"`             // Whether the check looks for the existence of a directory instead of a file. (Optional.)
	FilePaths             []string        `json:"filePaths" yaml:"filePaths" example:"['/usr/local/bin', '/home/opslevel']"`              // Restrict the search to certain file paths. (Required.)
	FileContentsPredicate *PredicateInput `json:"fileContentsPredicate,omitempty" yaml:"fileContentsPredicate,omitempty"`                 // Condition to match the file content. (Optional.)
	UseAbsoluteRoot       *bool           `json:"useAbsoluteRoot,omitempty" yaml:"useAbsoluteRoot,omitempty" example:"false"`             // Whether the checks looks at the absolute root of a repo or the relative root (the directory specified when attached a repo to a service). (Optional.)
}

CheckRepositoryFileCreateInput specifies the input fields used to create a repo file check.

type CheckRepositoryFileUpdateInput

type CheckRepositoryFileUpdateInput struct {
	Name                  *string               `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                   // The display name of the check. (Optional.)
	CategoryId            *ID                   `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`    // The id of the category the check belongs to. (Optional.)
	LevelId               *ID                   `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`          // The id of the level the check belongs to. (Optional.)
	OwnerId               *ID                   `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`          // The id of the owner of the check. (Optional.)
	FilterId              *ID                   `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`        // The id of the filter the check belongs to. (Optional.)
	Enabled               *bool                 `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                    // Whether the check is enabled or not. (Optional.)
	EnableOn              *iso8601.Time         `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`               // The date when the check will be automatically enabled. (Optional.)
	Notes                 *string               `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                                // Additional information about the check. (Optional.)
	Id                    ID                    `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                        // The id of the check to be updated. (Required.)
	DirectorySearch       *bool                 `json:"directorySearch,omitempty" yaml:"directorySearch,omitempty" example:"false"`                    // Whether the check looks for the existence of a directory instead of a file. (Optional.)
	FilePaths             *[]string             `json:"filePaths,omitempty" yaml:"filePaths,omitempty" example:"['/usr/local/bin', '/home/opslevel']"` // Restrict the search to certain file paths. (Optional.)
	FileContentsPredicate *PredicateUpdateInput `json:"fileContentsPredicate,omitempty" yaml:"fileContentsPredicate,omitempty"`                        // Condition to match the file content. (Optional.)
	UseAbsoluteRoot       *bool                 `json:"useAbsoluteRoot,omitempty" yaml:"useAbsoluteRoot,omitempty" example:"false"`                    // Whether the checks looks at the absolute root of a repo or the relative root (the directory specified when attached a repo to a service). (Optional.)
}

CheckRepositoryFileUpdateInput specifies the input fields used to update a repo file check.

type CheckRepositoryGrepCreateInput

type CheckRepositoryGrepCreateInput struct {
	Name                  string         `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled               *bool          `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn              *iso8601.Time  `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId            ID             `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId               ID             `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId               *ID            `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId              *ID            `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes                 *string        `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	DirectorySearch       *bool          `json:"directorySearch,omitempty" yaml:"directorySearch,omitempty" example:"false"`             // Whether the check looks for the existence of a directory instead of a file. (Optional.)
	FilePaths             []string       `json:"filePaths" yaml:"filePaths" example:"['/usr/local/bin', '/home/opslevel']"`              // Restrict the search to certain file paths. (Required.)
	FileContentsPredicate PredicateInput `json:"fileContentsPredicate" yaml:"fileContentsPredicate"`                                     // Condition to match the file content. (Required.)
}

CheckRepositoryGrepCreateInput specifies the input fields used to create a repo grep check.

type CheckRepositoryGrepUpdateInput

type CheckRepositoryGrepUpdateInput struct {
	Name                  *string               `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                   // The display name of the check. (Optional.)
	CategoryId            *ID                   `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`    // The id of the category the check belongs to. (Optional.)
	LevelId               *ID                   `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`          // The id of the level the check belongs to. (Optional.)
	OwnerId               *ID                   `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`          // The id of the owner of the check. (Optional.)
	FilterId              *ID                   `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`        // The id of the filter the check belongs to. (Optional.)
	Enabled               *bool                 `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                    // Whether the check is enabled or not. (Optional.)
	EnableOn              *iso8601.Time         `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`               // The date when the check will be automatically enabled. (Optional.)
	Notes                 *string               `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                                // Additional information about the check. (Optional.)
	Id                    ID                    `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                        // The id of the check to be updated. (Required.)
	DirectorySearch       *bool                 `json:"directorySearch,omitempty" yaml:"directorySearch,omitempty" example:"false"`                    // Whether the check looks for the existence of a directory instead of a file. (Optional.)
	FilePaths             *[]string             `json:"filePaths,omitempty" yaml:"filePaths,omitempty" example:"['/usr/local/bin', '/home/opslevel']"` // Restrict the search to certain file paths. (Optional.)
	FileContentsPredicate *PredicateUpdateInput `json:"fileContentsPredicate,omitempty" yaml:"fileContentsPredicate,omitempty"`                        // Condition to match the file content. (Optional.)
}

CheckRepositoryGrepUpdateInput specifies the input fields used to update a repo file check.

type CheckRepositoryIntegratedCreateInput

type CheckRepositoryIntegratedCreateInput struct {
	Name       string        `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled    *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn   *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId ID            `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId    ID            `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes      *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
}

CheckRepositoryIntegratedCreateInput specifies the input fields used to create a repository integrated check.

type CheckRepositoryIntegratedUpdateInput

type CheckRepositoryIntegratedUpdateInput struct {
	Name       *string       `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId *ID           `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId    *ID           `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled    *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn   *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes      *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id         ID            `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
}

CheckRepositoryIntegratedUpdateInput specifies the input fields used to update a repository integrated check.

type CheckRepositorySearchCreateInput

type CheckRepositorySearchCreateInput struct {
	Name                  string         `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled               *bool          `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn              *iso8601.Time  `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId            ID             `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId               ID             `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId               *ID            `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId              *ID            `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes                 *string        `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	FileExtensions        *[]string      `json:"fileExtensions,omitempty" yaml:"fileExtensions,omitempty" example:"['go', 'py', 'rb']"`  // Restrict the search to files of given extensions. Extensions should contain only letters and numbers. For example: `['py', 'rb']`. (Optional.)
	FileContentsPredicate PredicateInput `json:"fileContentsPredicate" yaml:"fileContentsPredicate"`                                     // Condition to match the text content. (Required.)
}

CheckRepositorySearchCreateInput specifies the input fields used to create a repo search check.

type CheckRepositorySearchUpdateInput

type CheckRepositorySearchUpdateInput struct {
	Name                  *string               `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId            *ID                   `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId               *ID                   `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId               *ID                   `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId              *ID                   `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled               *bool                 `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn              *iso8601.Time         `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes                 *string               `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id                    ID                    `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	FileExtensions        *[]string             `json:"fileExtensions,omitempty" yaml:"fileExtensions,omitempty" example:"['go', 'py', 'rb']"`      // Restrict the search to files of given extensions. Extensions should contain only letters and numbers. For example: `['py', 'rb']`. (Optional.)
	FileContentsPredicate *PredicateUpdateInput `json:"fileContentsPredicate,omitempty" yaml:"fileContentsPredicate,omitempty"`                     // Condition to match the text content. (Optional.)
}

CheckRepositorySearchUpdateInput specifies the input fields used to update a repo search check.

type CheckResponsePayload

type CheckResponsePayload struct {
	Check  Check
	Errors []OpsLevelErrors
}

CheckResponsePayload encompasses CheckCreatePayload and CheckUpdatePayload into 1 struct

type CheckResultStatusEnum added in v2024.7.5

type CheckResultStatusEnum string

CheckResultStatusEnum represents the status of the check result.

const (
	CheckResultStatusEnumPassed CheckResultStatusEnum = "passed" // Indicates that the check has passed for the associated service..
	CheckResultStatusEnumFailed CheckResultStatusEnum = "failed" // Indicates that the check has failed for the associated service.
)

type CheckServiceConfigurationCreateInput

type CheckServiceConfigurationCreateInput struct {
	Name       string        `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled    *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn   *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId ID            `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId    ID            `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes      *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
}

CheckServiceConfigurationCreateInput specifies the input fields used to create a configuration check.

type CheckServiceConfigurationUpdateInput

type CheckServiceConfigurationUpdateInput struct {
	Name       *string       `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId *ID           `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId    *ID           `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled    *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn   *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes      *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id         ID            `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
}

CheckServiceConfigurationUpdateInput specifies the input fields used to update a configuration check.

type CheckServiceDependencyCreateInput

type CheckServiceDependencyCreateInput struct {
	Name       string        `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled    *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn   *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId ID            `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId    ID            `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes      *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
}

CheckServiceDependencyCreateInput specifies the input fields used to create a service dependency check.

type CheckServiceDependencyUpdateInput

type CheckServiceDependencyUpdateInput struct {
	Name       *string       `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId *ID           `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId    *ID           `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled    *bool         `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn   *iso8601.Time `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes      *string       `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id         ID            `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
}

CheckServiceDependencyUpdateInput specifies the input fields used to update a service dependency check.

type CheckServiceOwnershipCreateInput

type CheckServiceOwnershipCreateInput struct {
	Name                 string          `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled              *bool           `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn             *iso8601.Time   `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId           ID              `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId              ID              `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId              *ID             `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId             *ID             `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes                *string         `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	RequireContactMethod *bool           `json:"requireContactMethod,omitempty" yaml:"requireContactMethod,omitempty" example:"false"`   // Whether to require a contact method for a service owner or not. (Optional.)
	ContactMethod        *string         `json:"contactMethod,omitempty" yaml:"contactMethod,omitempty" example:"example_method"`        // The type of contact method that an owner should provide. (Optional.)
	TagKey               *string         `json:"tagKey,omitempty" yaml:"tagKey,omitempty" example:"XXX_example_key_XXX"`                 // The tag key that should exist for a service owner. (Optional.)
	TagPredicate         *PredicateInput `json:"tagPredicate,omitempty" yaml:"tagPredicate,omitempty"`                                   // The condition that should be satisfied by the tag value. (Optional.)
}

CheckServiceOwnershipCreateInput specifies the input fields used to create an ownership check.

type CheckServiceOwnershipUpdateInput

type CheckServiceOwnershipUpdateInput struct {
	Name                 *string               `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId           *ID                   `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId              *ID                   `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId              *ID                   `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId             *ID                   `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled              *bool                 `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn             *iso8601.Time         `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes                *string               `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id                   ID                    `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	RequireContactMethod *bool                 `json:"requireContactMethod,omitempty" yaml:"requireContactMethod,omitempty" example:"false"`       // Whether to require a contact method for a service owner or not. (Optional.)
	ContactMethod        *string               `json:"contactMethod,omitempty" yaml:"contactMethod,omitempty" example:"example_method"`            // The type of contact method that an owner should provide. (Optional.)
	TagKey               *string               `json:"tagKey,omitempty" yaml:"tagKey,omitempty" example:"XXX_example_key_XXX"`                     // The tag key that should exist for a service owner. (Optional.)
	TagPredicate         *PredicateUpdateInput `json:"tagPredicate,omitempty" yaml:"tagPredicate,omitempty"`                                       // The condition that should be satisfied by the tag value. (Optional.)
}

CheckServiceOwnershipUpdateInput specifies the input fields used to update an ownership check.

type CheckServicePropertyCreateInput

type CheckServicePropertyCreateInput struct {
	Name                   string                  `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled                *bool                   `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn               *iso8601.Time           `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId             ID                      `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId                ID                      `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId                *ID                     `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId               *ID                     `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes                  *string                 `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	ServiceProperty        ServicePropertyTypeEnum `json:"serviceProperty" yaml:"serviceProperty" example:"language"`                              // The property of the service that the check will verify. (Required.)
	PropertyDefinition     *IdentifierInput        `json:"propertyDefinition,omitempty" yaml:"propertyDefinition,omitempty"`                       // The secondary key of the property that the check will verify (e.g. the specific custom property). (Optional.)
	PropertyValuePredicate *PredicateInput         `json:"propertyValuePredicate,omitempty" yaml:"propertyValuePredicate,omitempty"`               // The condition that should be satisfied by the service property value. (Optional.)
}

CheckServicePropertyCreateInput specifies the input fields used to create a service property check.

type CheckServicePropertyUpdateInput

type CheckServicePropertyUpdateInput struct {
	Name                   *string                  `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId             *ID                      `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId                *ID                      `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId                *ID                      `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId               *ID                      `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled                *bool                    `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn               *iso8601.Time            `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes                  *string                  `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id                     ID                       `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	ServiceProperty        *ServicePropertyTypeEnum `json:"serviceProperty,omitempty" yaml:"serviceProperty,omitempty" example:"language"`              // The property of the service that the check will verify. (Optional.)
	PropertyDefinition     *IdentifierInput         `json:"propertyDefinition,omitempty" yaml:"propertyDefinition,omitempty"`                           // The secondary key of the property that the check will verify (e.g. the specific custom property). (Optional.)
	PropertyValuePredicate *PredicateUpdateInput    `json:"propertyValuePredicate,omitempty" yaml:"propertyValuePredicate,omitempty"`                   // The condition that should be satisfied by the service property value. (Optional.)
}

CheckServicePropertyUpdateInput specifies the input fields used to update a service property check.

type CheckStatus

type CheckStatus string

CheckStatus represents the evaluation status of the check.

const (
	CheckStatusPassed  CheckStatus = "passed"  // The check evaluated to a truthy value based on some conditions.
	CheckStatusFailed  CheckStatus = "failed"  // The check evaluated to a falsy value based on some conditions.
	CheckStatusPending CheckStatus = "pending" // The check has not been evaluated yet..
)

type CheckTagDefinedCreateInput

type CheckTagDefinedCreateInput struct {
	Name         string          `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled      *bool           `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn     *iso8601.Time   `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId   ID              `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId      ID              `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId      *ID             `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId     *ID             `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes        *string         `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	TagKey       string          `json:"tagKey" yaml:"tagKey" example:"XXX_example_key_XXX"`                                     // The tag key where the tag predicate should be applied. (Required.)
	TagPredicate *PredicateInput `json:"tagPredicate,omitempty" yaml:"tagPredicate,omitempty"`                                   // The condition that should be satisfied by the tag value. (Optional.)
}

CheckTagDefinedCreateInput specifies the input fields used to create a tag check.

type CheckTagDefinedUpdateInput

type CheckTagDefinedUpdateInput struct {
	Name         *string               `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId   *ID                   `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId      *ID                   `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId      *ID                   `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId     *ID                   `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled      *bool                 `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn     *iso8601.Time         `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes        *string               `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id           ID                    `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	TagKey       *string               `json:"tagKey,omitempty" yaml:"tagKey,omitempty" example:"XXX_example_key_XXX"`                     // The tag key where the tag predicate should be applied. (Optional.)
	TagPredicate *PredicateUpdateInput `json:"tagPredicate,omitempty" yaml:"tagPredicate,omitempty"`                                       // The condition that should be satisfied by the tag value. (Optional.)
}

CheckTagDefinedUpdateInput specifies the input fields used to update a tag defined check.

type CheckToPromoteInput

type CheckToPromoteInput struct {
	CheckId    ID `json:"checkId" yaml:"checkId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The ID of the check to be promoted to the rubric. (Required.)
	CategoryId ID `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The ID of the category that the promoted check will be linked to. (Required.)
	LevelId    ID `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The ID of the level that the promoted check will be linked to. (Required.)
}

CheckToPromoteInput specifies the input fields used to promote a campaign check to the rubric.

type CheckToolUsageCreateInput

type CheckToolUsageCreateInput struct {
	Name                 string          `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the check. (Required.)
	Enabled              *bool           `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                             // Whether the check is enabled or not. (Optional.)
	EnableOn             *iso8601.Time   `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`        // The date when the check will be automatically enabled. (Optional.)
	CategoryId           ID              `json:"categoryId" yaml:"categoryId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                 // The id of the category the check belongs to. (Required.)
	LevelId              ID              `json:"levelId" yaml:"levelId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                       // The id of the level the check belongs to. (Required.)
	OwnerId              *ID             `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`   // The id of the team that owns the check. (Optional.)
	FilterId             *ID             `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the filter of the check. (Optional.)
	Notes                *string         `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                         // Additional information about the check. (Optional.)
	ToolCategory         ToolCategory    `json:"toolCategory" yaml:"toolCategory" example:"api_documentation"`                           // The category that the tool belongs to. (Required.)
	ToolNamePredicate    *PredicateInput `json:"toolNamePredicate,omitempty" yaml:"toolNamePredicate,omitempty"`                         // The condition that the tool name should satisfy to be evaluated. (Optional.)
	ToolUrlPredicate     *PredicateInput `json:"toolUrlPredicate,omitempty" yaml:"toolUrlPredicate,omitempty"`                           // The condition that the tool url should satisfy to be evaluated. (Optional.)
	EnvironmentPredicate *PredicateInput `json:"environmentPredicate,omitempty" yaml:"environmentPredicate,omitempty"`                   // The condition that the environment should satisfy to be evaluated. (Optional.)
}

CheckToolUsageCreateInput specifies the input fields used to create a tool usage check.

type CheckToolUsageUpdateInput

type CheckToolUsageUpdateInput struct {
	Name                 *string               `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                // The display name of the check. (Optional.)
	CategoryId           *ID                   `json:"categoryId,omitempty" yaml:"categoryId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the category the check belongs to. (Optional.)
	LevelId              *ID                   `json:"levelId,omitempty" yaml:"levelId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the level the check belongs to. (Optional.)
	OwnerId              *ID                   `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of the check. (Optional.)
	FilterId             *ID                   `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`     // The id of the filter the check belongs to. (Optional.)
	Enabled              *bool                 `json:"enabled,omitempty" yaml:"enabled,omitempty" example:"false"`                                 // Whether the check is enabled or not. (Optional.)
	EnableOn             *iso8601.Time         `json:"enableOn,omitempty" yaml:"enableOn,omitempty" example:"2024-01-05T01:00:00.000Z"`            // The date when the check will be automatically enabled. (Optional.)
	Notes                *string               `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`                             // Additional information about the check. (Optional.)
	Id                   ID                    `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the check to be updated. (Required.)
	ToolCategory         *ToolCategory         `json:"toolCategory,omitempty" yaml:"toolCategory,omitempty" example:"api_documentation"`           // The category that the tool belongs to. (Optional.)
	ToolNamePredicate    *PredicateUpdateInput `json:"toolNamePredicate,omitempty" yaml:"toolNamePredicate,omitempty"`                             // The condition that the tool name should satisfy to be evaluated. (Optional.)
	ToolUrlPredicate     *PredicateUpdateInput `json:"toolUrlPredicate,omitempty" yaml:"toolUrlPredicate,omitempty"`                               // The condition that the tool url should satisfy to be evaluated. (Optional.)
	EnvironmentPredicate *PredicateUpdateInput `json:"environmentPredicate,omitempty" yaml:"environmentPredicate,omitempty"`                       // The condition that the environment should satisfy to be evaluated. (Optional.)
}

CheckToolUsageUpdateInput specifies the input fields used to update a tool usage check.

type CheckType

type CheckType string

CheckType represents the type of check.

const (
	CheckTypeHasOwner            CheckType = "has_owner"             // Verifies that the service has an owner defined.
	CheckTypeHasRecentDeploy     CheckType = "has_recent_deploy"     // Verifies that the services has received a deploy within a specified number of days.
	CheckTypeServiceProperty     CheckType = "service_property"      // Verifies that a service property is set or matches a specified format.
	CheckTypeHasServiceConfig    CheckType = "has_service_config"    // Verifies that the service is maintained though the use of an opslevel.yml service config.
	CheckTypeHasDocumentation    CheckType = "has_documentation"     // Verifies that the service has visible documentation of a particular type and subtype.
	CheckTypeHasRepository       CheckType = "has_repository"        // Verifies that the service has a repository integrated.
	CheckTypeToolUsage           CheckType = "tool_usage"            // Verifies that the service is using a tool of a particular category or name.
	CheckTypeTagDefined          CheckType = "tag_defined"           // Verifies that the service has the specified tag defined.
	CheckTypeRepoFile            CheckType = "repo_file"             // Quickly scan the service’s repository for the existence or contents of a specific file.
	CheckTypeRepoSearch          CheckType = "repo_search"           // Quickly search the service’s repository for specific contents in any file.
	CheckTypeCustom              CheckType = "custom"                // Allows for the creation of programmatic checks that use an API to mark the status as passing or failing.
	CheckTypePayload             CheckType = "payload"               // Requires a payload integration api call to complete a check for the service.
	CheckTypeManual              CheckType = "manual"                // Requires a service owner to manually complete a check for the service.
	CheckTypeGeneric             CheckType = "generic"               // Requires a generic integration api call to complete a series of checks for multiple services.
	CheckTypeAlertSourceUsage    CheckType = "alert_source_usage"    // Verifies that the service has an alert source of a particular type or name.
	CheckTypeGitBranchProtection CheckType = "git_branch_protection" // Verifies that all the repositories on the service have branch protection enabled.
	CheckTypeServiceDependency   CheckType = "service_dependency"    // Verifies that the service has either a dependent or dependency.
	CheckTypeRepoGrep            CheckType = "repo_grep"             // Run a comprehensive search across the service's repository using advanced search parameters.
	CheckTypePackageVersion      CheckType = "package_version"       // Verifies certain aspects of a service using or not using software packages.
	CheckTypeCodeIssue           CheckType = "code_issue"            // Verifies that the severity and quantity of code issues does not exceed defined thresholds.
)

type CheckUpdateInput

type CheckUpdateInput struct {
	Id       ID            `json:"id" mapstructure:"id"`
	Name     string        `json:"name,omitempty" mapstructure:"name,omitempty"`
	Enabled  *bool         `json:"enabled,omitempty" mapstructure:"enabled,omitempty"`
	EnableOn *iso8601.Time `json:"enableOn,omitempty" mapstructure:"enabledOn,omitempty"`
	Category ID            `json:"categoryId,omitempty" mapstructure:"categoryId,omitempty"`
	Level    ID            `json:"levelId,omitempty" mapstructure:"levelId,omitempty"`
	Owner    *ID           `json:"ownerId,omitempty" yaml:"ownerId,omitempty" mapstructure:"ownerId,omitempty"`
	Filter   *ID           `json:"filterId,omitempty" yaml:"filterId,omitempty" mapstructure:"filterId,omitempty"`
	Notes    *string       `json:"notes,omitempty" mapstructure:"notes,omitempty"`
}

type CheckUpdateInputProvider

type CheckUpdateInputProvider interface {
	GetCheckUpdateInput() *CheckUpdateInput
}

type ChecksCopyToCampaignInput

type ChecksCopyToCampaignInput struct {
	CampaignId ID       `json:"campaignId" yaml:"campaignId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                    // The ID of the existing campaign. (Required.)
	CheckIds   []string `json:"checkIds" yaml:"checkIds" example:"['Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk', 'Z2lkOi8vc2VydmljZS85ODc2NTQzMjE']"` // The IDs of the existing rubric checks to be copied. (Required.)
}

ChecksCopyToCampaignInput specifies the input fields used to copy selected rubric checks to an existing campaign.

type Client

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

func NewGQLClient

func NewGQLClient(options ...Option) *Client

func (*Client) AddContact

func (client *Client) AddContact(team string, contact ContactInput) (*Contact, error)

func (*Client) AddMemberships

func (client *Client) AddMemberships(team *TeamId, memberships ...TeamMembershipUserInput) ([]TeamMembership, error)

func (*Client) AssignTag

func (client *Client) AssignTag(input TagAssignInput) ([]Tag, error)

func (*Client) AssignTags

func (client *Client) AssignTags(identifier string, tags map[string]string) ([]Tag, error)

func (*Client) AssignTagsWithTagInputs added in v2024.6.27

func (client *Client) AssignTagsWithTagInputs(identifier string, tags []TagInput) ([]Tag, error)

func (*Client) ConnectServiceRepository

func (client *Client) ConnectServiceRepository(service *ServiceId, repository *Repository) (*ServiceRepository, error)

func (*Client) CreateAlertSourceService

func (client *Client) CreateAlertSourceService(input AlertSourceServiceCreateInput) (*AlertSourceService, error)

func (*Client) CreateAlias

func (client *Client) CreateAlias(input AliasCreateInput) ([]string, error)

func (*Client) CreateAliases

func (client *Client) CreateAliases(ownerId ID, aliases []string) ([]string, error)

func (*Client) CreateCategory

func (client *Client) CreateCategory(input CategoryCreateInput) (*Category, error)

func (*Client) CreateCheck

func (client *Client) CreateCheck(input any) (*Check, error)

func (*Client) CreateCheckAlertSourceUsage

func (client *Client) CreateCheckAlertSourceUsage(input CheckAlertSourceUsageCreateInput) (*Check, error)

func (*Client) CreateCheckCodeIssue added in v2024.10.28

func (client *Client) CreateCheckCodeIssue(input CheckCodeIssueCreateInput) (*Check, error)

func (*Client) CreateCheckCustomEvent

func (client *Client) CreateCheckCustomEvent(input CheckCustomEventCreateInput) (*Check, error)

func (*Client) CreateCheckGitBranchProtection

func (client *Client) CreateCheckGitBranchProtection(input CheckGitBranchProtectionCreateInput) (*Check, error)

func (*Client) CreateCheckHasDocumentation

func (client *Client) CreateCheckHasDocumentation(input CheckHasDocumentationCreateInput) (*Check, error)

func (*Client) CreateCheckHasRecentDeploy

func (client *Client) CreateCheckHasRecentDeploy(input CheckHasRecentDeployCreateInput) (*Check, error)

func (*Client) CreateCheckManual

func (client *Client) CreateCheckManual(input CheckManualCreateInput) (*Check, error)

func (*Client) CreateCheckPackageVersion added in v2024.8.1

func (client *Client) CreateCheckPackageVersion(input CheckPackageVersionCreateInput) (*Check, error)

CreateCheckPackageVersion Creates a package version check.

func (*Client) CreateCheckRepositoryFile

func (client *Client) CreateCheckRepositoryFile(input CheckRepositoryFileCreateInput) (*Check, error)

func (*Client) CreateCheckRepositoryGrep

func (client *Client) CreateCheckRepositoryGrep(input CheckRepositoryGrepCreateInput) (*Check, error)

func (*Client) CreateCheckRepositoryIntegrated

func (client *Client) CreateCheckRepositoryIntegrated(input CheckRepositoryIntegratedCreateInput) (*Check, error)

func (*Client) CreateCheckRepositorySearch

func (client *Client) CreateCheckRepositorySearch(input CheckRepositorySearchCreateInput) (*Check, error)

func (*Client) CreateCheckServiceConfiguration

func (client *Client) CreateCheckServiceConfiguration(input CheckServiceConfigurationCreateInput) (*Check, error)

func (*Client) CreateCheckServiceDependency

func (client *Client) CreateCheckServiceDependency(input CheckServiceDependencyCreateInput) (*Check, error)

func (*Client) CreateCheckServiceOwnership

func (client *Client) CreateCheckServiceOwnership(input CheckServiceOwnershipCreateInput) (*Check, error)

func (*Client) CreateCheckServiceProperty

func (client *Client) CreateCheckServiceProperty(input CheckServicePropertyCreateInput) (*Check, error)

func (*Client) CreateCheckTagDefined

func (client *Client) CreateCheckTagDefined(input CheckTagDefinedCreateInput) (*Check, error)

func (*Client) CreateCheckToolUsage

func (client *Client) CreateCheckToolUsage(input CheckToolUsageCreateInput) (*Check, error)

func (*Client) CreateDomain

func (client *Client) CreateDomain(input DomainInput) (*Domain, error)

func (*Client) CreateEventIntegration added in v2024.10.11

func (client *Client) CreateEventIntegration(input EventIntegrationInput) (*Integration, error)

func (*Client) CreateFilter

func (client *Client) CreateFilter(input FilterCreateInput) (*Filter, error)

func (*Client) CreateInfrastructure

func (client *Client) CreateInfrastructure(input InfraInput) (*InfrastructureResource, error)

func (*Client) CreateIntegrationAWS

func (client *Client) CreateIntegrationAWS(input AWSIntegrationInput) (*Integration, error)

func (*Client) CreateIntegrationAzureResources added in v2024.8.1

func (client *Client) CreateIntegrationAzureResources(input AzureResourcesIntegrationInput) (*Integration, error)

func (*Client) CreateIntegrationGCP added in v2024.8.16

func (client *Client) CreateIntegrationGCP(input GoogleCloudIntegrationInput) (*Integration, error)

func (*Client) CreateIntegrationNewRelic

func (client *Client) CreateIntegrationNewRelic(input NewRelicIntegrationInput) (*Integration, error)

func (*Client) CreateLevel

func (client *Client) CreateLevel(input LevelCreateInput) (*Level, error)

func (*Client) CreatePropertyDefinition

func (client *Client) CreatePropertyDefinition(input PropertyDefinitionInput) (*PropertyDefinition, error)

func (*Client) CreateScorecard

func (client *Client) CreateScorecard(input ScorecardInput) (*Scorecard, error)

func (*Client) CreateSecret

func (client *Client) CreateSecret(alias string, input SecretInput) (*Secret, error)

func (*Client) CreateService

func (client *Client) CreateService(input ServiceCreateInput) (*Service, error)

func (*Client) CreateServiceDependency

func (client *Client) CreateServiceDependency(input ServiceDependencyCreateInput) (*ServiceDependency, error)

func (*Client) CreateServiceRepository

func (client *Client) CreateServiceRepository(input ServiceRepositoryCreateInput) (*ServiceRepository, error)

func (*Client) CreateSystem

func (client *Client) CreateSystem(input SystemInput) (*System, error)

func (*Client) CreateTag

func (client *Client) CreateTag(input TagCreateInput) (*Tag, error)

func (*Client) CreateTags

func (client *Client) CreateTags(identifier string, tags map[string]string) ([]Tag, error)

func (*Client) CreateTeam

func (client *Client) CreateTeam(input TeamCreateInput) (*Team, error)

func (*Client) CreateTool

func (client *Client) CreateTool(input ToolCreateInput) (*Tool, error)

func (*Client) CreateTriggerDefinition

func (client *Client) CreateTriggerDefinition(input CustomActionsTriggerDefinitionCreateInput) (*CustomActionsTriggerDefinition, error)

func (*Client) CreateWebhookAction

func (client *Client) CreateWebhookAction(input CustomActionsWebhookActionCreateInput) (*CustomActionsExternalAction, error)

func (*Client) DeleteAlertSourceService

func (client *Client) DeleteAlertSourceService(id ID) error

func (*Client) DeleteAlias

func (client *Client) DeleteAlias(input AliasDeleteInput) error

func (*Client) DeleteAliases added in v2024.6.27

func (client *Client) DeleteAliases(aliasOwnerType AliasOwnerTypeEnum, aliases []string) error

func (*Client) DeleteCategory

func (client *Client) DeleteCategory(id ID) error

func (*Client) DeleteCheck

func (client *Client) DeleteCheck(id ID) error

func (*Client) DeleteDomain

func (client *Client) DeleteDomain(identifier string) error

func (*Client) DeleteFilter

func (client *Client) DeleteFilter(id ID) error

func (*Client) DeleteInfraAlias deprecated

func (client *Client) DeleteInfraAlias(alias string) error

Deprecated: use client.DeleteAlias instead

func (*Client) DeleteInfrastructure

func (client *Client) DeleteInfrastructure(identifier string) error

func (*Client) DeleteIntegration

func (client *Client) DeleteIntegration(identifier string) error

func (*Client) DeleteLevel

func (client *Client) DeleteLevel(id ID) error

func (*Client) DeletePropertyDefinition

func (client *Client) DeletePropertyDefinition(input string) error

func (*Client) DeleteScorecard

func (client *Client) DeleteScorecard(identifier string) (*ID, error)

func (*Client) DeleteSecret

func (client *Client) DeleteSecret(identifier string) error

func (*Client) DeleteService

func (client *Client) DeleteService(identifier string) error

func (*Client) DeleteServiceAlias deprecated

func (client *Client) DeleteServiceAlias(alias string) error

Deprecated: use client.DeleteAlias instead

func (*Client) DeleteServiceDependency

func (client *Client) DeleteServiceDependency(id ID) error

func (*Client) DeleteServiceRepository

func (client *Client) DeleteServiceRepository(id ID) error

func (*Client) DeleteSystem

func (client *Client) DeleteSystem(identifier string) error

func (*Client) DeleteTag

func (client *Client) DeleteTag(id ID) error

func (*Client) DeleteTeam

func (client *Client) DeleteTeam(identifier string) error

func (*Client) DeleteTeamAlias deprecated

func (client *Client) DeleteTeamAlias(alias string) error

Deprecated: use client.DeleteAlias instead

func (*Client) DeleteTool

func (client *Client) DeleteTool(id ID) error

func (*Client) DeleteTriggerDefinition

func (client *Client) DeleteTriggerDefinition(input string) error

func (*Client) DeleteUser

func (client *Client) DeleteUser(user string) error

func (*Client) DeleteWebhookAction

func (client *Client) DeleteWebhookAction(input string) error

func (*Client) ExecRaw

func (client *Client) ExecRaw(q string, variables map[string]interface{}, options ...graphql.Option) ([]byte, error)

func (*Client) ExecRawCTX

func (client *Client) ExecRawCTX(ctx context.Context, q string, variables map[string]interface{}, options ...graphql.Option) ([]byte, error)

func (*Client) GetAlertSource

func (client *Client) GetAlertSource(id ID) (*AlertSource, error)

func (*Client) GetAlertSourceWithExternalIdentifier

func (client *Client) GetAlertSourceWithExternalIdentifier(input AlertSourceExternalIdentifier) (*AlertSource, error)

func (*Client) GetAliasableResource added in v2024.10.28

func (client *Client) GetAliasableResource(resourceType AliasOwnerTypeEnum, identifier string) (AliasableResourceInterface, error)

func (*Client) GetCategory

func (client *Client) GetCategory(id ID) (*Category, error)

func (*Client) GetCheck

func (client *Client) GetCheck(id ID) (*Check, error)

func (*Client) GetCustomAction

func (client *Client) GetCustomAction(input string) (*CustomActionsExternalAction, error)

func (*Client) GetDomain

func (client *Client) GetDomain(identifier string) (*Domain, error)

func (*Client) GetFilter

func (client *Client) GetFilter(id ID) (*Filter, error)

func (*Client) GetInfrastructure

func (client *Client) GetInfrastructure(identifier string) (*InfrastructureResource, error)

func (*Client) GetIntegration

func (client *Client) GetIntegration(id ID) (*Integration, error)

func (*Client) GetLevel

func (client *Client) GetLevel(id ID) (*Level, error)

func (*Client) GetProperty

func (client *Client) GetProperty(owner string, definition string) (*Property, error)

func (*Client) GetPropertyDefinition

func (client *Client) GetPropertyDefinition(input string) (*PropertyDefinition, error)

func (*Client) GetRepository

func (client *Client) GetRepository(id ID) (*Repository, error)

func (*Client) GetRepositoryWithAlias

func (client *Client) GetRepositoryWithAlias(alias string) (*Repository, error)

func (*Client) GetScorecard

func (client *Client) GetScorecard(input string) (*Scorecard, error)

func (*Client) GetSecret

func (client *Client) GetSecret(identifier string) (*Secret, error)

func (*Client) GetService

func (client *Client) GetService(id ID) (*Service, error)

func (*Client) GetServiceCount

func (client *Client) GetServiceCount() (int, error)

func (*Client) GetServiceIdWithAlias

func (client *Client) GetServiceIdWithAlias(alias string) (*ServiceId, error)

func (*Client) GetServiceMaturityWithAlias

func (client *Client) GetServiceMaturityWithAlias(alias string) (*ServiceMaturity, error)

func (*Client) GetServiceWithAlias

func (client *Client) GetServiceWithAlias(alias string) (*Service, error)

func (*Client) GetSystem

func (client *Client) GetSystem(identifier string) (*System, error)

func (*Client) GetTaggableResource

func (client *Client) GetTaggableResource(resourceType TaggableResource, identifier string) (TaggableResourceInterface, error)

func (*Client) GetTeam

func (client *Client) GetTeam(id ID) (*Team, error)

func (*Client) GetTeamCount

func (client *Client) GetTeamCount() (int, error)

func (*Client) GetTeamWithAlias

func (client *Client) GetTeamWithAlias(alias string) (*Team, error)

func (*Client) GetTriggerDefinition

func (client *Client) GetTriggerDefinition(input string) (*CustomActionsTriggerDefinition, error)

func (*Client) GetUser

func (client *Client) GetUser(value string) (*User, error)

func (*Client) InitialPageVariables

func (client *Client) InitialPageVariables() PayloadVariables

func (*Client) InitialPageVariablesPointer

func (client *Client) InitialPageVariablesPointer() *PayloadVariables

func (*Client) IntegrationReactivate added in v2024.10.11

func (client *Client) IntegrationReactivate(identifier string) (*Integration, error)

func (*Client) InviteUser

func (client *Client) InviteUser(email string, input UserInput, sendInvite bool) (*User, error)

func (*Client) ListCategories

func (client *Client) ListCategories(variables *PayloadVariables) (*CategoryConnection, error)

func (*Client) ListChecks

func (client *Client) ListChecks(variables *PayloadVariables) (*CheckConnection, error)

func (*Client) ListCustomActions

func (client *Client) ListCustomActions(variables *PayloadVariables) (*CustomActionsExternalActionsConnection, error)

func (*Client) ListDomains

func (client *Client) ListDomains(variables *PayloadVariables) (*DomainConnection, error)

func (*Client) ListFilters

func (client *Client) ListFilters(variables *PayloadVariables) (*FilterConnection, error)

func (*Client) ListInfrastructure

func (client *Client) ListInfrastructure(variables *PayloadVariables) (*InfrastructureResourceConnection, error)

func (*Client) ListInfrastructureSchemas

func (client *Client) ListInfrastructureSchemas(variables *PayloadVariables) (*InfrastructureResourceSchemaConnection, error)

func (*Client) ListIntegrations

func (client *Client) ListIntegrations(variables *PayloadVariables) (*IntegrationConnection, error)

func (*Client) ListLevels

func (client *Client) ListLevels() ([]Level, error)

func (*Client) ListLifecycles

func (client *Client) ListLifecycles() ([]Lifecycle, error)

func (*Client) ListPropertyDefinitions

func (client *Client) ListPropertyDefinitions(variables *PayloadVariables) (*PropertyDefinitionConnection, error)

func (*Client) ListRepositories

func (client *Client) ListRepositories(variables *PayloadVariables) (*RepositoryConnection, error)

func (*Client) ListRepositoriesWithTier

func (client *Client) ListRepositoriesWithTier(tier string, variables *PayloadVariables) (*RepositoryConnection, error)

func (*Client) ListScorecards

func (client *Client) ListScorecards(variables *PayloadVariables) (*ScorecardConnection, error)

func (*Client) ListSecretsVaultsSecret

func (client *Client) ListSecretsVaultsSecret(variables *PayloadVariables) (*SecretsVaultsSecretConnection, error)

func (*Client) ListServices

func (client *Client) ListServices(variables *PayloadVariables) (*ServiceConnection, error)

func (*Client) ListServicesMaturity

func (client *Client) ListServicesMaturity(variables *PayloadVariables) (*ServiceMaturityConnection, error)

func (*Client) ListServicesWithFilter added in v2024.4.26

func (client *Client) ListServicesWithFilter(filterIdentifier string, variables *PayloadVariables) (*ServiceConnection, error)

func (*Client) ListServicesWithFramework

func (client *Client) ListServicesWithFramework(framework string, variables *PayloadVariables) (*ServiceConnection, error)

func (*Client) ListServicesWithLanguage

func (client *Client) ListServicesWithLanguage(language string, variables *PayloadVariables) (*ServiceConnection, error)

func (*Client) ListServicesWithLifecycle

func (client *Client) ListServicesWithLifecycle(lifecycle string, variables *PayloadVariables) (*ServiceConnection, error)

func (*Client) ListServicesWithOwner

func (client *Client) ListServicesWithOwner(owner string, variables *PayloadVariables) (*ServiceConnection, error)

func (*Client) ListServicesWithProduct

func (client *Client) ListServicesWithProduct(product string, variables *PayloadVariables) (*ServiceConnection, error)

func (*Client) ListServicesWithTag

func (client *Client) ListServicesWithTag(tag TagArgs, variables *PayloadVariables) (*ServiceConnection, error)

func (*Client) ListServicesWithTier

func (client *Client) ListServicesWithTier(tier string, variables *PayloadVariables) (*ServiceConnection, error)

func (*Client) ListSystems

func (client *Client) ListSystems(variables *PayloadVariables) (*SystemConnection, error)

func (*Client) ListTeams

func (client *Client) ListTeams(variables *PayloadVariables) (*TeamConnection, error)

func (*Client) ListTeamsWithManager

func (client *Client) ListTeamsWithManager(email string, variables *PayloadVariables) (*TeamConnection, error)

func (*Client) ListTiers

func (client *Client) ListTiers() ([]Tier, error)

func (*Client) ListTriggerDefinitions

func (client *Client) ListTriggerDefinitions(variables *PayloadVariables) (*CustomActionsTriggerDefinitionsConnection, error)

func (*Client) ListUsers

func (client *Client) ListUsers(variables *PayloadVariables) (*UserConnection, error)

func (*Client) Mutate

func (client *Client) Mutate(m interface{}, variables map[string]interface{}, options ...graphql.Option) error

func (*Client) MutateCTX

func (client *Client) MutateCTX(ctx context.Context, m interface{}, variables map[string]interface{}, options ...graphql.Option) error

func (*Client) PropertyAssign

func (client *Client) PropertyAssign(input PropertyInput) (*Property, error)

func (*Client) PropertyUnassign

func (client *Client) PropertyUnassign(owner string, definition string) error

func (*Client) Query

func (client *Client) Query(q interface{}, variables map[string]interface{}, options ...graphql.Option) error

func (*Client) QueryCTX

func (client *Client) QueryCTX(ctx context.Context, q interface{}, variables map[string]interface{}, options ...graphql.Option) error

func (*Client) ReconcileTags added in v2024.6.27

func (client *Client) ReconcileTags(resourceType TaggableResourceInterface, tagsDesired []Tag) error

ReconcileTags manages tags API operations for TaggableResourceInterface implementations

Tags from `tagsDesired` are compared against current tags of TaggableResourceInterface and differences are either created or deleted.

func (*Client) RemoveContact

func (client *Client) RemoveContact(contact ID) error

func (*Client) RemoveMemberships

func (client *Client) RemoveMemberships(team *TeamId, memberships ...TeamMembershipUserInput) ([]User, error)

func (*Client) RunnerAppendJobLog

func (client *Client) RunnerAppendJobLog(input RunnerAppendJobLogInput) error

func (*Client) RunnerGetPendingJob

func (client *Client) RunnerGetPendingJob(runnerId ID, lastUpdateToken ID) (*RunnerJob, ID, error)

func (*Client) RunnerRegister

func (client *Client) RunnerRegister() (*Runner, error)

func (*Client) RunnerReportJobOutcome

func (client *Client) RunnerReportJobOutcome(input RunnerReportJobOutcomeInput) error

func (*Client) RunnerScale

func (client *Client) RunnerScale(runnerId ID, currentReplicaCount, jobConcurrency int) (*RunnerScale, error)

func (*Client) RunnerUnregister

func (client *Client) RunnerUnregister(runnerId ID) error

func (*Client) ServiceApiDocSettingsUpdate

func (client *Client) ServiceApiDocSettingsUpdate(service string, docPath string, docSource *ApiDocumentSourceEnum) (*Service, error)

func (*Client) UpdateCategory

func (client *Client) UpdateCategory(input CategoryUpdateInput) (*Category, error)

func (*Client) UpdateCheck

func (client *Client) UpdateCheck(input any) (*Check, error)

func (*Client) UpdateCheckAlertSourceUsage

func (client *Client) UpdateCheckAlertSourceUsage(input CheckAlertSourceUsageUpdateInput) (*Check, error)

func (*Client) UpdateCheckCodeIssue added in v2024.10.28

func (client *Client) UpdateCheckCodeIssue(input CheckCodeIssueUpdateInput) (*Check, error)

func (*Client) UpdateCheckCustomEvent

func (client *Client) UpdateCheckCustomEvent(input CheckCustomEventUpdateInput) (*Check, error)

func (*Client) UpdateCheckGitBranchProtection

func (client *Client) UpdateCheckGitBranchProtection(input CheckGitBranchProtectionUpdateInput) (*Check, error)

func (*Client) UpdateCheckHasDocumentation

func (client *Client) UpdateCheckHasDocumentation(input CheckHasDocumentationUpdateInput) (*Check, error)

func (*Client) UpdateCheckHasRecentDeploy

func (client *Client) UpdateCheckHasRecentDeploy(input CheckHasRecentDeployUpdateInput) (*Check, error)

func (*Client) UpdateCheckManual

func (client *Client) UpdateCheckManual(input CheckManualUpdateInput) (*Check, error)

func (*Client) UpdateCheckPackageVersion added in v2024.8.1

func (client *Client) UpdateCheckPackageVersion(input CheckPackageVersionUpdateInput) (*Check, error)

UpdateCheckPackageVersion Updates a package version check.

func (*Client) UpdateCheckRepositoryFile

func (client *Client) UpdateCheckRepositoryFile(input CheckRepositoryFileUpdateInput) (*Check, error)

func (*Client) UpdateCheckRepositoryGrep

func (client *Client) UpdateCheckRepositoryGrep(input CheckRepositoryGrepUpdateInput) (*Check, error)

func (*Client) UpdateCheckRepositoryIntegrated

func (client *Client) UpdateCheckRepositoryIntegrated(input CheckRepositoryIntegratedUpdateInput) (*Check, error)

func (*Client) UpdateCheckRepositorySearch

func (client *Client) UpdateCheckRepositorySearch(input CheckRepositorySearchUpdateInput) (*Check, error)

func (*Client) UpdateCheckServiceConfiguration

func (client *Client) UpdateCheckServiceConfiguration(input CheckServiceConfigurationUpdateInput) (*Check, error)

func (*Client) UpdateCheckServiceDependency

func (client *Client) UpdateCheckServiceDependency(input CheckServiceDependencyUpdateInput) (*Check, error)

func (*Client) UpdateCheckServiceOwnership

func (client *Client) UpdateCheckServiceOwnership(input CheckServiceOwnershipUpdateInput) (*Check, error)

func (*Client) UpdateCheckServiceProperty

func (client *Client) UpdateCheckServiceProperty(input CheckServicePropertyUpdateInput) (*Check, error)

func (*Client) UpdateCheckTagDefined

func (client *Client) UpdateCheckTagDefined(input CheckTagDefinedUpdateInput) (*Check, error)

func (*Client) UpdateCheckToolUsage

func (client *Client) UpdateCheckToolUsage(input CheckToolUsageUpdateInput) (*Check, error)

func (*Client) UpdateContact

func (client *Client) UpdateContact(id ID, contact ContactInput) (*Contact, error)

func (*Client) UpdateDomain

func (client *Client) UpdateDomain(identifier string, input DomainInput) (*Domain, error)

func (*Client) UpdateEventIntegration added in v2024.10.11

func (client *Client) UpdateEventIntegration(input EventIntegrationUpdateInput) (*Integration, error)

func (*Client) UpdateFilter

func (client *Client) UpdateFilter(input FilterUpdateInput) (*Filter, error)

func (*Client) UpdateInfrastructure

func (client *Client) UpdateInfrastructure(identifier string, input InfraInput) (*InfrastructureResource, error)

func (*Client) UpdateIntegrationAWS

func (client *Client) UpdateIntegrationAWS(identifier string, input AWSIntegrationInput) (*Integration, error)

func (*Client) UpdateIntegrationAzureResources added in v2024.8.1

func (client *Client) UpdateIntegrationAzureResources(identifier string, input AzureResourcesIntegrationInput) (*Integration, error)

func (*Client) UpdateIntegrationGCP added in v2024.8.16

func (client *Client) UpdateIntegrationGCP(identifier string, input GoogleCloudIntegrationInput) (*Integration, error)

func (*Client) UpdateIntegrationNewRelic

func (client *Client) UpdateIntegrationNewRelic(identifier string, input NewRelicIntegrationInput) (*Integration, error)

func (*Client) UpdateLevel

func (client *Client) UpdateLevel(input LevelUpdateInput) (*Level, error)

func (*Client) UpdatePropertyDefinition

func (client *Client) UpdatePropertyDefinition(identifier string, input PropertyDefinitionInput) (*PropertyDefinition, error)

func (*Client) UpdateRepository

func (client *Client) UpdateRepository(input RepositoryUpdateInput) (*Repository, error)

func (*Client) UpdateScorecard

func (client *Client) UpdateScorecard(identifier string, input ScorecardInput) (*Scorecard, error)

func (*Client) UpdateSecret

func (client *Client) UpdateSecret(identifier string, secretInput SecretInput) (*Secret, error)

func (*Client) UpdateService

func (client *Client) UpdateService(input ServiceUpdater) (*Service, error)

func (*Client) UpdateServiceNote added in v2024.9.18

func (client *Client) UpdateServiceNote(input ServiceNoteUpdateInput) (*Service, error)

func (*Client) UpdateServiceRepository

func (client *Client) UpdateServiceRepository(input ServiceRepositoryUpdateInput) (*ServiceRepository, error)

func (*Client) UpdateSystem

func (client *Client) UpdateSystem(identifier string, input SystemInput) (*System, error)

func (*Client) UpdateTag

func (client *Client) UpdateTag(input TagUpdateInput) (*Tag, error)

func (*Client) UpdateTeam

func (client *Client) UpdateTeam(input TeamUpdateInput) (*Team, error)

func (*Client) UpdateTool

func (client *Client) UpdateTool(input ToolUpdateInput) (*Tool, error)

func (*Client) UpdateTriggerDefinition

func (client *Client) UpdateTriggerDefinition(input CustomActionsTriggerDefinitionUpdateInput) (*CustomActionsTriggerDefinition, error)

func (*Client) UpdateUser

func (client *Client) UpdateUser(user string, input UserInput) (*User, error)

func (*Client) UpdateWebhookAction

func (client *Client) UpdateWebhookAction(input CustomActionsWebhookActionUpdateInput) (*CustomActionsExternalAction, error)

func (*Client) Validate

func (client *Client) Validate() error

type ClientSettings

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

type CodeIssueCheckFragment added in v2024.10.28

type CodeIssueCheckFragment struct {
	Constraint     CheckCodeIssueConstraintEnum `graphql:"constraint"`     // The type of constraint used in evaluation the code issues check.
	IssueName      string                       `graphql:"issueName"`      // The issue name used for code issue lookup.
	IssueType      []string                     `graphql:"issueType"`      // The type of code issue to consider.
	MaxAllowed     int                          `graphql:"maxAllowed"`     // The threshold count of code issues beyond which the check starts failing.
	ResolutionTime CodeIssueResolutionTime      `graphql:"resolutionTime"` // The resolution time recommended by the reporting source of the code issue.
	Severity       []string                     `graphql:"severity"`       // The severity levels of the issue.
}

type CodeIssueResolutionTime added in v2024.10.28

type CodeIssueResolutionTime struct {
	Unit  CodeIssueResolutionTimeUnitEnum `graphql:"unit"`  // The name of duration of time.
	Value int                             `graphql:"value"` // The count value of the specified unit.
}

CodeIssueResolutionTime represents how long a code issue has been detected.

type CodeIssueResolutionTimeInput added in v2024.10.28

type CodeIssueResolutionTimeInput struct {
	Unit  CodeIssueResolutionTimeUnitEnum `json:"unit" yaml:"unit" example:"day"` // . (Required.)
	Value int                             `json:"value" yaml:"value" example:"3"` // . (Required.)
}

CodeIssueResolutionTimeInput represents the allowed threshold for how long an issue has been detected before the check starts failing.

type CodeIssueResolutionTimeUnitEnum added in v2024.10.28

type CodeIssueResolutionTimeUnitEnum string

CodeIssueResolutionTimeUnitEnum represents the allowed values for duration units for the resolution time.

const (
	CodeIssueResolutionTimeUnitEnumDay   CodeIssueResolutionTimeUnitEnum = "day"   // Day, as a duration.
	CodeIssueResolutionTimeUnitEnumWeek  CodeIssueResolutionTimeUnitEnum = "week"  // Week, as a duration.
	CodeIssueResolutionTimeUnitEnumMonth CodeIssueResolutionTimeUnitEnum = "month" // Month, as a duration.
)

type ConnectiveEnum

type ConnectiveEnum string

ConnectiveEnum represents the logical operator to be used in conjunction with multiple filters (requires filters to be supplied).

const (
	ConnectiveEnumAnd ConnectiveEnum = "and" // Used to ensure **all** filters match for a given resource.
	ConnectiveEnumOr  ConnectiveEnum = "or"  // Used to ensure **any** filters match for a given resource.
)

type Contact

type Contact struct {
	Address     string
	DisplayName string
	DisplayType string
	ExternalId  string
	Id          ID
	IsDefault   bool
	Type        ContactType
}

type ContactCreateInput

type ContactCreateInput struct {
	Type        ContactType `json:"type" yaml:"type" example:"slack"`                                                           // The method of contact [email, slack, slack_handle, web]. (Required.)
	DisplayName *string     `json:"displayName,omitempty" yaml:"displayName,omitempty" example:"example_name"`                  // The name shown in the UI for the contact. (Optional.)
	Address     string      `json:"address" yaml:"address" example:"support@company.com"`                                       // The contact address. Examples: support@company.com for type `email`, https:/opslevel.com for type `web`. (Required.)
	TeamAlias   *string     `json:"teamAlias,omitempty" yaml:"teamAlias,omitempty" example:"example_alias"`                     // The alias of the team the contact belongs to. (Optional.)
	OwnerId     *ID         `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`       // The id of the owner of this contact. (Optional.)
	DisplayType *string     `json:"displayType,omitempty" yaml:"displayType,omitempty" example:"example_type"`                  // The type shown in the UI for the contact. (Optional.)
	ExternalId  *string     `json:"externalId,omitempty" yaml:"externalId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The remote identifier of the contact method. (Optional.)
}

ContactCreateInput specifies the input fields used to create a contact.

type ContactDeleteInput

type ContactDeleteInput struct {
	Id ID `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The `id` of the contact you wish to delete. (Required.)
}

ContactDeleteInput specifies the input fields used to delete a contact.

type ContactInput

type ContactInput struct {
	Type        ContactType `json:"type" yaml:"type" example:"slack"`                                          // The method of contact [email, slack, slack_handle, web]. (Required.)
	Address     string      `json:"address" yaml:"address" example:"support@company.com"`                      // The contact address. Examples: support@company.com for type `email`, https:/opslevel.com for type `web`. (Required.)
	DisplayName *string     `json:"displayName,omitempty" yaml:"displayName,omitempty" example:"example_name"` // The name shown in the UI for the contact. (Optional.)
}

ContactInput specifies the input fields used to create a contact.

func CreateContactEmail

func CreateContactEmail(email string, name *string) ContactInput

func CreateContactSlack

func CreateContactSlack(channel string, name *string) ContactInput

func CreateContactSlackHandle

func CreateContactSlackHandle(channel string, name *string) ContactInput

func CreateContactWeb

func CreateContactWeb(address string, name *string) ContactInput

type ContactType

type ContactType string

ContactType represents the method of contact.

const (
	ContactTypeSlack       ContactType = "slack"        // A Slack channel contact method.
	ContactTypeSlackHandle ContactType = "slack_handle" // A Slack handle contact method.
	ContactTypeEmail       ContactType = "email"        // An email contact method.
	ContactTypeWeb         ContactType = "web"          // A website contact method.
	ContactTypeGitHub      ContactType = "github"       // A GitHub handle.
)

type ContactUpdateInput

type ContactUpdateInput struct {
	Id          ID           `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The unique identifier for the contact. (Required.)
	Type        *ContactType `json:"type,omitempty" yaml:"type,omitempty" example:"slack"`                                       // The method of contact [email, slack, slack_handle, web]. (Optional.)
	Address     *string      `json:"address,omitempty" yaml:"address,omitempty" example:"support@company.com"`                   // The contact address. Examples: support@company.com for type `email`, https:/opslevel.com for type `web`. (Optional.)
	DisplayName *string      `json:"displayName,omitempty" yaml:"displayName,omitempty" example:"example_name"`                  // The name shown in the UI for the contact. (Optional.)
	DisplayType *string      `json:"displayType,omitempty" yaml:"displayType,omitempty" example:"example_type"`                  // The type shown in the UI for the contact. (Optional.)
	ExternalId  *string      `json:"externalId,omitempty" yaml:"externalId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The remote identifier of the contact method. (Optional.)
	MakeDefault *bool        `json:"makeDefault,omitempty" yaml:"makeDefault,omitempty" example:"false"`                         // Makes the contact the default for the given type. Only available for team contacts. (Optional.)
}

ContactUpdateInput specifies the input fields used to update a contact.

type CustomActionsEntityTypeEnum

type CustomActionsEntityTypeEnum string

CustomActionsEntityTypeEnum represents the entity types a custom action can be associated with.

const (
	CustomActionsEntityTypeEnumService CustomActionsEntityTypeEnum = "SERVICE" // A custom action associated with services.
	CustomActionsEntityTypeEnumGlobal  CustomActionsEntityTypeEnum = "GLOBAL"  // A custom action associated with the global scope (no particular entity type).
)

type CustomActionsExternalAction

type CustomActionsExternalAction struct {
	CustomActionsId

	Description    string `graphql:"description"`    // A description of what the action should accomplish.
	LiquidTemplate string `graphql:"liquidTemplate"` // The liquid template used to generate the data sent to the external action.
	Name           string `graphql:"name"`           // The name of the external action.

	CustomActionsWebhookAction `graphql:"... on CustomActionsWebhookAction"`
}

CustomActionsExternalAction represents an external action to be triggered by a custom action.

type CustomActionsExternalActionsConnection

type CustomActionsExternalActionsConnection struct {
	Nodes      []CustomActionsExternalAction
	PageInfo   PageInfo
	TotalCount int
}

type CustomActionsHttpMethodEnum

type CustomActionsHttpMethodEnum string

CustomActionsHttpMethodEnum represents an HTTP request method.

const (
	CustomActionsHttpMethodEnumGet    CustomActionsHttpMethodEnum = "GET"    // An HTTP GET request.
	CustomActionsHttpMethodEnumPatch  CustomActionsHttpMethodEnum = "PATCH"  // An HTTP PATCH request.
	CustomActionsHttpMethodEnumPost   CustomActionsHttpMethodEnum = "POST"   // An HTTP POST request.
	CustomActionsHttpMethodEnumPut    CustomActionsHttpMethodEnum = "PUT"    // An HTTP PUT request.
	CustomActionsHttpMethodEnumDelete CustomActionsHttpMethodEnum = "DELETE" // An HTTP DELETE request.
)

type CustomActionsId

type CustomActionsId struct {
	Aliases []string `graphql:"aliases"`
	Id      ID       `graphql:"id"`
}

type CustomActionsTriggerDefinition

type CustomActionsTriggerDefinition struct {
	Action                 CustomActionsId                                 `graphql:"action"`
	Aliases                []string                                        `graphql:"aliases"`
	Description            string                                          `graphql:"description"`
	Filter                 FilterId                                        `graphql:"filter"`
	Id                     ID                                              `graphql:"id"`
	ManualInputsDefinition string                                          `graphql:"manualInputsDefinition"`
	Name                   string                                          `graphql:"name"`
	Owner                  TeamId                                          `graphql:"owner"`
	Published              bool                                            `graphql:"published"`
	Timestamps             Timestamps                                      `graphql:"timestamps"`
	AccessControl          CustomActionsTriggerDefinitionAccessControlEnum `graphql:"accessControl"`
	ResponseTemplate       string                                          `graphql:"responseTemplate"`
	EntityType             CustomActionsEntityTypeEnum                     `graphql:"entityType"`
}

func (*CustomActionsTriggerDefinition) ExtendedTeamAccess

func (customActionsTriggerDefinition *CustomActionsTriggerDefinition) ExtendedTeamAccess(client *Client, variables *PayloadVariables) (*TeamConnection, error)

type CustomActionsTriggerDefinitionAccessControlEnum

type CustomActionsTriggerDefinitionAccessControlEnum string

CustomActionsTriggerDefinitionAccessControlEnum represents who can see and use the trigger definition.

const (
	CustomActionsTriggerDefinitionAccessControlEnumEveryone      CustomActionsTriggerDefinitionAccessControlEnum = "everyone"       // All users of OpsLevel.
	CustomActionsTriggerDefinitionAccessControlEnumAdmins        CustomActionsTriggerDefinitionAccessControlEnum = "admins"         // Admin users.
	CustomActionsTriggerDefinitionAccessControlEnumServiceOwners CustomActionsTriggerDefinitionAccessControlEnum = "service_owners" // The owners of a service.
)

type CustomActionsTriggerDefinitionBase added in v2024.2.26

type CustomActionsTriggerDefinitionBase struct {
	AccessControl          string `graphql:"accessControl"`          // The set of users that should be able to use the trigger definition.
	Description            string `graphql:"description"`            // The description of what the trigger definition will do, supports Markdown.
	ManualInputsDefinition string `graphql:"manualInputsDefinition"` // The YAML definition of any custom inputs for this trigger definition.
	Name                   string `graphql:"name"`                   // The name of the trigger definition.
	Published              bool   `graphql:"published"`              // The published state of the action; true if the definition is ready for use; false if it is a draft.
	ResponseTemplate       string `graphql:"responseTemplate"`       // The liquid template used to parse the response from the External Action.
}

CustomActionsTriggerDefinitionBase represents .

type CustomActionsTriggerDefinitionCreateInput

type CustomActionsTriggerDefinitionCreateInput struct {
	Name                   string                                           `json:"name" yaml:"name" example:"example_name"`                                                               // The name of the Trigger Definition. (Required.)
	Description            *string                                          `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"`                      // The description of what the Trigger Definition will do, supports Markdown. (Optional.)
	OwnerId                ID                                               `json:"ownerId" yaml:"ownerId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                      // The owner of the Trigger Definition. (Required.)
	ActionId               *ID                                              `json:"actionId,omitempty" yaml:"actionId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                // The action that will be triggered by the Trigger Definition. (Optional.)
	FilterId               *ID                                              `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                // The filter that will determine which services apply to the Trigger Definition. (Optional.)
	ManualInputsDefinition *string                                          `json:"manualInputsDefinition,omitempty" yaml:"manualInputsDefinition,omitempty" example:"example_definition"` // The YAML definition of custom inputs for the Trigger Definition. (Optional.)
	Published              *bool                                            `json:"published,omitempty" yaml:"published,omitempty" example:"false"`                                        // The published state of the action; true if the definition is ready for use; false if it is a draft. (Optional.)
	AccessControl          *CustomActionsTriggerDefinitionAccessControlEnum `json:"accessControl,omitempty" yaml:"accessControl,omitempty" example:"service_owners"`                       // The set of users that should be able to use the trigger definition. (Optional.)
	ResponseTemplate       *string                                          ``                                                                                                             // The liquid template used to parse the response from the External Action. (Optional.)
	/* 142-byte string literal not displayed */
	EntityType         *CustomActionsEntityTypeEnum `json:"entityType,omitempty" yaml:"entityType,omitempty" example:"GLOBAL"`             // The entity type to associate with the Trigger Definition. (Optional.)
	ExtendedTeamAccess *[]IdentifierInput           `json:"extendedTeamAccess,omitempty" yaml:"extendedTeamAccess,omitempty" example:"[]"` // The set of additional teams who can invoke this Trigger Definition. (Optional.)
}

CustomActionsTriggerDefinitionCreateInput specifies the input fields used in the `customActionsTriggerDefinitionCreate` mutation.

type CustomActionsTriggerDefinitionUpdateInput

type CustomActionsTriggerDefinitionUpdateInput struct {
	Id                     ID                                               `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                                // The ID of the trigger definition. (Required.)
	Name                   *string                                          `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                           // The name of the Trigger Definition. (Optional.)
	Description            *string                                          `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"`                      // The description of what the Trigger Definition will do, support Markdown. (Optional.)
	OwnerId                *ID                                              `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                  // The owner of the Trigger Definition. (Optional.)
	ActionId               *ID                                              `json:"actionId,omitempty" yaml:"actionId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                // The action that will be triggered by the Trigger Definition. (Optional.)
	FilterId               *ID                                              `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                // The filter that will determine which services apply to the Trigger Definition. (Optional.)
	Action                 *CustomActionsWebhookActionUpdateInput           `json:"action,omitempty" yaml:"action,omitempty"`                                                              // The details for the action to update for the Trigger Definition. (Optional.)
	ManualInputsDefinition *string                                          `json:"manualInputsDefinition,omitempty" yaml:"manualInputsDefinition,omitempty" example:"example_definition"` // The YAML definition of custom inputs for the Trigger Definition. (Optional.)
	Published              *bool                                            `json:"published,omitempty" yaml:"published,omitempty" example:"false"`                                        // The published state of the action; true if the definition is ready for use; false if it is a draft. (Optional.)
	AccessControl          *CustomActionsTriggerDefinitionAccessControlEnum `json:"accessControl,omitempty" yaml:"accessControl,omitempty" example:"service_owners"`                       // The set of users that should be able to use the trigger definition. (Optional.)
	ResponseTemplate       *string                                          ``                                                                                                             // The liquid template used to parse the response from the External Action. (Optional.)
	/* 142-byte string literal not displayed */
	EntityType         *CustomActionsEntityTypeEnum `json:"entityType,omitempty" yaml:"entityType,omitempty" example:"GLOBAL"`             // The entity type to associate with the Trigger Definition. (Optional.)
	ExtendedTeamAccess *[]IdentifierInput           `json:"extendedTeamAccess,omitempty" yaml:"extendedTeamAccess,omitempty" example:"[]"` // The set of additional teams who can invoke this Trigger Definition. (Optional.)
}

CustomActionsTriggerDefinitionUpdateInput specifies the input fields used in the `customActionsTriggerDefinitionUpdate` mutation.

type CustomActionsTriggerDefinitionsConnection

type CustomActionsTriggerDefinitionsConnection struct {
	Nodes      []CustomActionsTriggerDefinition
	PageInfo   PageInfo
	TotalCount int
}

type CustomActionsTriggerEventStatusEnum

type CustomActionsTriggerEventStatusEnum string

CustomActionsTriggerEventStatusEnum represents the status of the custom action trigger event.

const (
	CustomActionsTriggerEventStatusEnumPending CustomActionsTriggerEventStatusEnum = "PENDING" // A result has not been determined.
	CustomActionsTriggerEventStatusEnumSuccess CustomActionsTriggerEventStatusEnum = "SUCCESS" // The action completed successfully.
	CustomActionsTriggerEventStatusEnumFailure CustomActionsTriggerEventStatusEnum = "FAILURE" // The action failed to complete.
)

type CustomActionsWebhookAction

type CustomActionsWebhookAction struct {
	Headers    JSON                        `graphql:"headers" scalar:"true"`
	HTTPMethod CustomActionsHttpMethodEnum `graphql:"httpMethod"`
	WebhookURL string                      `graphql:"webhookUrl"`
}

type CustomActionsWebhookActionCreateInput

type CustomActionsWebhookActionCreateInput struct {
	Name           string  `json:"name" yaml:"name" example:"example_name"`                                          // The name that gets assigned to the Webhook Action you're creating. (Required.)
	Description    *string `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"` // The description that gets assigned to the Webhook Action you're creating. (Optional.)
	LiquidTemplate *string ``                                                                                        // Template that can be used to generate a Webhook payload. (Optional.)
	/* 138-byte string literal not displayed */
	WebhookUrl string                      `json:"webhookUrl" yaml:"webhookUrl" example:"john.doe@example.com"` // The URL that you wish to send the Webhook to when triggered. (Required.)
	HttpMethod CustomActionsHttpMethodEnum `json:"httpMethod" yaml:"httpMethod" example:"GET"`                  // HTTP used when the Webhook is triggered. Either POST or PUT. (Required.)
	Headers    *JSON                       ``                                                                   // HTTP headers be passed along with your Webhook when triggered. (Optional.)
	/* 165-byte string literal not displayed */
}

CustomActionsWebhookActionCreateInput specifies the input fields used in the `customActionsWebhookActionCreate` mutation.

type CustomActionsWebhookActionUpdateInput

type CustomActionsWebhookActionUpdateInput struct {
	Id             ID      `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                           // The ID of the Webhook Action you wish to update. (Required.)
	Name           *string `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                      // The name that gets assigned to the Webhook Action you're creating. (Optional.)
	Description    *string `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"` // The description that gets assigned to the Webhook Action you're creating. (Optional.)
	LiquidTemplate *string ``                                                                                        // Template that can be used to generate a Webhook payload. (Optional.)
	/* 138-byte string literal not displayed */
	WebhookUrl *string                      `json:"webhookUrl,omitempty" yaml:"webhookUrl,omitempty" example:"john.doe@example.com"` // The URL that you wish to send the Webhook too when triggered. (Optional.)
	HttpMethod *CustomActionsHttpMethodEnum `json:"httpMethod,omitempty" yaml:"httpMethod,omitempty" example:"GET"`                  // HTTP used when the Webhook is triggered. Either POST or PUT. (Optional.)
	Headers    *JSON                        ``                                                                                       // HTTP headers be passed along with your Webhook when triggered. (Optional.)
	/* 165-byte string literal not displayed */
}

CustomActionsWebhookActionUpdateInput represents inputs that specify the details of a Webhook Action you wish to update.

type CustomEventCheckFragment

type CustomEventCheckFragment struct {
	Integration      IntegrationId `graphql:"integration"`      // The integration this check uses.
	PassPending      bool          `graphql:"passPending"`      // True if this check should pass by default. Otherwise the default 'pending' state counts as a failure.
	ResultMessage    string        `graphql:"resultMessage"`    // The check result message template.
	ServiceSelector  string        `graphql:"serviceSelector"`  // A jq expression that will be ran against your payload to select the service.
	SuccessCondition string        `graphql:"successCondition"` // A jq expression that will be ran against your payload to evaluate the check result. A truthy value will result in the check passing.
}

type DayOfWeekEnum

type DayOfWeekEnum string

DayOfWeekEnum represents possible days of the week.

const (
	DayOfWeekEnumMonday    DayOfWeekEnum = "monday"    // Monday is the day of the week that takes place between Sunday and Tuesday.
	DayOfWeekEnumTuesday   DayOfWeekEnum = "tuesday"   // Tuesday is the day of the week between Monday and Wednesday.
	DayOfWeekEnumWednesday DayOfWeekEnum = "wednesday" // The day of the week before Thursday and following Tuesday.
	DayOfWeekEnumThursday  DayOfWeekEnum = "thursday"  // The day of the week before Friday and following Wednesday.
	DayOfWeekEnumFriday    DayOfWeekEnum = "friday"    // Yesterday was Thursday. Tomorrow is Saturday. We so excited.
	DayOfWeekEnumSaturday  DayOfWeekEnum = "saturday"  // The day of the week before Sunday and following Friday, and (together with Sunday) forming part of the weekend.
	DayOfWeekEnumSunday    DayOfWeekEnum = "sunday"    // The day of the week before Monday and following Saturday, (together with Saturday) forming part of the weekend.
)

type DeleteInput

type DeleteInput struct {
	Id ID `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the entity to be deleted. (Required.)
}

DeleteInput specifies the input fields used to delete an entity.

type Domain

type Domain struct {
	DomainId

	Description    string      `graphql:"description"`
	HTMLUrl        string      `graphql:"htmlUrl"`
	ManagedAliases []string    `graphql:"managedAliases"` // A list of aliases that can be set by users. The unique identifier for the resource is omitted.
	Name           string      `graphql:"name"`
	Note           string      `graphql:"note"`
	Owner          EntityOwner `graphql:"owner"`
}

func (*Domain) ReconcileAliases added in v2024.6.27

func (d *Domain) ReconcileAliases(client *Client, aliasesWanted []string) error

func (*Domain) UniqueIdentifiers added in v2024.7.2

func (d *Domain) UniqueIdentifiers() []string

Returns unique identifiers created by OpsLevel, values in Aliases but not ManagedAliases

type DomainConnection

type DomainConnection struct {
	Nodes      []Domain `json:"nodes"`
	PageInfo   PageInfo `json:"pageInfo"`
	TotalCount int      `json:"totalCount" graphql:"-"`
}

type DomainId

type DomainId Identifier

func (*DomainId) AliasableType added in v2024.10.28

func (DomainId *DomainId) AliasableType() AliasOwnerTypeEnum

func (*DomainId) AssignSystem

func (domainId *DomainId) AssignSystem(client *Client, systems ...string) error

func (*DomainId) ChildSystems

func (domainId *DomainId) ChildSystems(client *Client, variables *PayloadVariables) (*SystemConnection, error)

func (*DomainId) GetAliases added in v2024.10.28

func (domainId *DomainId) GetAliases() []string

func (*DomainId) GetTags

func (domainId *DomainId) GetTags(client *Client, variables *PayloadVariables) (*TagConnection, error)

func (*DomainId) ResourceId

func (domainId *DomainId) ResourceId() ID

func (*DomainId) ResourceType

func (domainId *DomainId) ResourceType() TaggableResource

type DomainInput

type DomainInput struct {
	Name        *string `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                          // The name for the domain. (Optional.)
	Description *string `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"`     // The description for the domain. (Optional.)
	OwnerId     *ID     `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the owner for the domain. (Optional.)
	Note        *string `json:"note,omitempty" yaml:"note,omitempty" example:"example_note"`                          // Additional information about the domain. (Optional.)
}

DomainInput specifies the input fields for a domain.

type EntityOwner

type EntityOwner struct {
	OnTeam EntityOwnerTeam `graphql:"... on Team"`
}

func (*EntityOwner) Alias

func (entityOwner *EntityOwner) Alias() string

func (*EntityOwner) Id

func (entityOwner *EntityOwner) Id() ID

type EntityOwnerService

type EntityOwnerService struct {
	OnService ServiceId `graphql:"... on Service"`
}

func (*EntityOwnerService) Aliases

func (entityOwnerService *EntityOwnerService) Aliases() []string

func (*EntityOwnerService) Id

func (entityOwnerService *EntityOwnerService) Id() ID

type EntityOwnerTeam

type EntityOwnerTeam struct {
	Alias string `json:"alias,omitempty" graphql:"teamAlias:alias"`
	Id    ID     `json:"id"`
}

func (*EntityOwnerTeam) AsTeam

func (entityOwnerTeam *EntityOwnerTeam) AsTeam() TeamId

type EventIntegrationEnum added in v2024.10.11

type EventIntegrationEnum string

EventIntegrationEnum represents the type of event integration.

const (
	EventIntegrationEnumDeploy        EventIntegrationEnum = "deploy"        // Deploy integration.
	EventIntegrationEnumArgocd        EventIntegrationEnum = "argocd"        // ArgoCD deploy integration.
	EventIntegrationEnumCircleci      EventIntegrationEnum = "circleci"      // CircleCI deploy integration.
	EventIntegrationEnumFlux          EventIntegrationEnum = "flux"          // Flux deploy integration.
	EventIntegrationEnumJenkins       EventIntegrationEnum = "jenkins"       // Jenkins deploy integration.
	EventIntegrationEnumOctopus       EventIntegrationEnum = "octopus"       // Octopus deploy integration.
	EventIntegrationEnumGithubactions EventIntegrationEnum = "githubActions" // Github Actions deploy integration.
	EventIntegrationEnumGitlabci      EventIntegrationEnum = "gitlabCi"      // Gitlab CI deploy integration.
	EventIntegrationEnumAquasecurity  EventIntegrationEnum = "aquaSecurity"  // Aqua Security Custom Event Check integration.
	EventIntegrationEnumAwsecr        EventIntegrationEnum = "awsEcr"        // AWS ECR Custom Event Check integration.
	EventIntegrationEnumBugsnag       EventIntegrationEnum = "bugsnag"       // Bugsnag Custom Event Check integration.
	EventIntegrationEnumCodacy        EventIntegrationEnum = "codacy"        // Codacy Custom Event Check integration.
	EventIntegrationEnumCoveralls     EventIntegrationEnum = "coveralls"     // Coveralls Custom Event Check integration.
	EventIntegrationEnumDatadogcheck  EventIntegrationEnum = "datadogCheck"  // Datadog Check integration.
	EventIntegrationEnumDynatrace     EventIntegrationEnum = "dynatrace"     // Dynatrace Custom Event Check integration.
	EventIntegrationEnumGrafana       EventIntegrationEnum = "grafana"       // Grafana Custom Event Check integration.
	EventIntegrationEnumGrype         EventIntegrationEnum = "grype"         // Grype Custom Event Check integration.
	EventIntegrationEnumJfrogxray     EventIntegrationEnum = "jfrogXray"     // JFrog Xray Custom Event Check integration.
	EventIntegrationEnumLacework      EventIntegrationEnum = "lacework"      // Lacework Custom Event Check integration.
	EventIntegrationEnumNewreliccheck EventIntegrationEnum = "newRelicCheck" // New Relic Check integration.
	EventIntegrationEnumPrismacloud   EventIntegrationEnum = "prismaCloud"   // Prisma Cloud Custom Event Check integration.
	EventIntegrationEnumPrometheus    EventIntegrationEnum = "prometheus"    // Prometheus Custom Event Check integration.
	EventIntegrationEnumRollbar       EventIntegrationEnum = "rollbar"       // Rollbar Custom Event Check integration.
	EventIntegrationEnumSentry        EventIntegrationEnum = "sentry"        // Sentry Custom Event Check integration.
	EventIntegrationEnumSnyk          EventIntegrationEnum = "snyk"          // Snyk Custom Event Check integration.
	EventIntegrationEnumSonarqube     EventIntegrationEnum = "sonarqube"     // SonarQube Custom Event Check integration.
	EventIntegrationEnumStackhawk     EventIntegrationEnum = "stackhawk"     // StackHawk Custom Event Check integration.
	EventIntegrationEnumSumologic     EventIntegrationEnum = "sumoLogic"     // Sumo Logic Custom Event Check integration.
	EventIntegrationEnumVeracode      EventIntegrationEnum = "veracode"      // Veracode Custom Event Check integration.
	EventIntegrationEnumCustomevent   EventIntegrationEnum = "customEvent"   // Custom Event integration.
	EventIntegrationEnumApidoc        EventIntegrationEnum = "apiDoc"        // API Documentation integration.
)

type EventIntegrationInput added in v2024.10.11

type EventIntegrationInput struct {
	Name *string              `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"` // The name of the event integration. (Optional.)
	Type EventIntegrationEnum `json:"type" yaml:"type" example:"example_type"`                     // The type of event integration to create. (Required.)
}

EventIntegrationInput represents .

type EventIntegrationUpdateInput added in v2024.10.11

type EventIntegrationUpdateInput struct {
	Id   ID     `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The ID of the event integration to update. (Required.)
	Name string `json:"name" yaml:"name" example:"example_name"`                // The name of the event integration. (Required.)
}

EventIntegrationUpdateInput represents .

type ExternalUuidMutationInput

type ExternalUuidMutationInput struct {
	ResourceId ID `json:"resourceId" yaml:"resourceId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the resource. (Required.)
}

ExternalUuidMutationInput specifies the input used for modifying a resource's external UUID.

type Filter

type Filter struct {
	FilterId
	Connective ConnectiveEnum
	HtmlUrl    string
	Predicates []FilterPredicate
}

func (*Filter) Alias

func (filter *Filter) Alias() string

type FilterConnection

type FilterConnection struct {
	Nodes      []Filter
	PageInfo   PageInfo
	TotalCount int
}

type FilterCreateInput

type FilterCreateInput struct {
	Name       string                  `json:"name" yaml:"name" example:"example_name"`                       // The display name of the filter. (Required.)
	Predicates *[]FilterPredicateInput `json:"predicates,omitempty" yaml:"predicates,omitempty" example:"[]"` // The list of predicates used to select which services apply to the filter. (Optional.)
	Connective *ConnectiveEnum         `json:"connective,omitempty" yaml:"connective,omitempty" example:"or"` // The logical operator to be used in conjunction with predicates. (Optional.)
}

FilterCreateInput specifies the input fields used to create a filter.

type FilterId

type FilterId struct {
	Id   ID
	Name string
}

type FilterPredicate

type FilterPredicate struct {
	Key           PredicateKeyEnum  `json:"key" yaml:"key" default:"repository_ids"`
	KeyData       string            `json:"keyData,omitempty" yaml:"keyData,omitempty" default:"null"`
	Type          PredicateTypeEnum `json:"type" yaml:"type" default:"equals"`
	Value         string            `json:"value,omitempty" yaml:"value,omitempty" default:"1"`
	CaseSensitive *bool             `json:"caseSensitive,omitempty" yaml:"caseSensitive,omitempty" default:"false"`
}

func (*FilterPredicate) Validate added in v2024.6.17

func (filterPredicate *FilterPredicate) Validate() error

Validate the FilterPredicate based on known expectations before sending to API

type FilterPredicateInput

type FilterPredicateInput struct {
	Type          PredicateTypeEnum `json:"type" yaml:"type" example:"satisfies_jq_expression"`                     // The condition type used by the predicate. (Required.)
	Value         *string           `json:"value,omitempty" yaml:"value,omitempty" example:"example_value"`         // The condition value used by the predicate. (Optional.)
	Key           PredicateKeyEnum  `json:"key" yaml:"key" example:"filter_id"`                                     // The condition key used by the predicate. (Required.)
	KeyData       *string           `json:"keyData,omitempty" yaml:"keyData,omitempty" example:"example_data"`      // Additional data used by the predicate. This field is used by predicates with key = 'tags' to specify the tag key. For example, to create a predicate for services containing the tag 'db:mysql', set keyData = 'db' and value = 'mysql'. (Optional.)
	CaseSensitive *bool             `json:"caseSensitive,omitempty" yaml:"caseSensitive,omitempty" example:"false"` // . (Optional.)
}

FilterPredicateInput represents a condition that should be satisfied.

type FilterUpdateInput

type FilterUpdateInput struct {
	Id         ID                      `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`        // The id of the filter. (Required.)
	Name       *string                 `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`   // The display name of the filter. (Optional.)
	Predicates *[]FilterPredicateInput `json:"predicates,omitempty" yaml:"predicates,omitempty" example:"[]"` // The list of predicates used to select which services apply to the filter. All existing predicates will be replaced by these predicates. (Optional.)
	Connective *ConnectiveEnum         `json:"connective,omitempty" yaml:"connective,omitempty" example:"or"` // The logical operator to be used in conjunction with predicates. (Optional.)
}

FilterUpdateInput specifies the input fields used to update a filter.

type FrequencyTimeScale

type FrequencyTimeScale string

FrequencyTimeScale represents the time scale type for the frequency.

const (
	FrequencyTimeScaleDay   FrequencyTimeScale = "day"   // Consider the time scale of days.
	FrequencyTimeScaleWeek  FrequencyTimeScale = "week"  // Consider the time scale of weeks.
	FrequencyTimeScaleMonth FrequencyTimeScale = "month" // Consider the time scale of months.
	FrequencyTimeScaleYear  FrequencyTimeScale = "year"  // Consider the time scale of years.
)

type GitBranchProtectionCheckFragment

type GitBranchProtectionCheckFragment struct{}

type GoogleCloudIntegrationFragment added in v2024.8.16

type GoogleCloudIntegrationFragment struct {
	Aliases               []string             `graphql:"aliases"`
	ClientEmail           string               `graphql:"clientEmail"`
	OwnershipTagKeys      []string             `graphql:"ownershipTagKeys"`
	Projects              []GoogleCloudProject `graphql:"projects"`
	TagsOverrideOwnership bool                 `graphql:"tagsOverrideOwnership"`
}

type GoogleCloudIntegrationInput added in v2024.8.16

type GoogleCloudIntegrationInput struct {
	Name                  *string   `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                     // The name of the integration. (Optional.)
	OwnershipTagKeys      *[]string `json:"ownershipTagKeys,omitempty" yaml:"ownershipTagKeys,omitempty" example:"['tag_key1', 'tag_key2']"` // An array of tag keys used to associate ownership from an integration. Max 5. (Optional.)
	PrivateKey            *string   `json:"privateKey,omitempty" yaml:"privateKey,omitempty" example:"XXX_example_key_XXX"`                  // The private key for the service account that OpsLevel uses to access the Google Cloud account. (Optional.)
	ClientEmail           *string   `json:"clientEmail,omitempty" yaml:"clientEmail,omitempty" example:"first.last@domain.com"`              // The service account email OpsLevel uses to access the Google Cloud account. (Optional.)
	TagsOverrideOwnership *bool     `json:"tagsOverrideOwnership,omitempty" yaml:"tagsOverrideOwnership,omitempty" example:"false"`          // Allow tags imported from Google Cloud to override ownership set in OpsLevel directly. (Optional.)
}

GoogleCloudIntegrationInput specifies the input fields used to create and update a Google Cloud integration.

type GoogleCloudProject added in v2024.8.16

type GoogleCloudProject struct {
	ID   string `graphql:"id"`
	Name string `graphql:"name"`
	URL  string `graphql:"url"`
}

type HasDocumentationCheckFragment

type HasDocumentationCheckFragment struct {
	DocumentSubtype HasDocumentationSubtypeEnum `graphql:"documentSubtype"` // The subtype of the document.
	DocumentType    HasDocumentationTypeEnum    `graphql:"documentType"`    // The type of the document.
}

type HasDocumentationSubtypeEnum

type HasDocumentationSubtypeEnum string

HasDocumentationSubtypeEnum represents the subtype of the document.

const (
	HasDocumentationSubtypeEnumOpenapi HasDocumentationSubtypeEnum = "openapi" // Document is an OpenAPI document.
)

type HasDocumentationTypeEnum

type HasDocumentationTypeEnum string

HasDocumentationTypeEnum represents the type of the document.

const (
	HasDocumentationTypeEnumTech HasDocumentationTypeEnum = "tech" // Document is a Tech document.
	HasDocumentationTypeEnumAPI  HasDocumentationTypeEnum = "api"  // Document is an API document.
)

type HasRecentDeployCheckFragment

type HasRecentDeployCheckFragment struct {
	Days int `graphql:"days"` // The number of days to check since the last deploy.
}

type ID

type ID string

func NewID

func NewID(id ...string) *ID

func (ID) GetGraphQLType

func (id ID) GetGraphQLType() string

func (*ID) MarshalJSON

func (id *ID) MarshalJSON() ([]byte, error)

type Identifier

type Identifier struct {
	Id      ID       `graphql:"id" json:"id"`
	Aliases []string `graphql:"aliases" json:"aliases"`
}

type IdentifierInput

type IdentifierInput struct {
	Id    *ID     `json:"id,omitempty" yaml:"id,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the resource. (Optional.)
	Alias *string `json:"alias,omitempty" yaml:"alias,omitempty" example:"example_alias"`             // The human-friendly, unique identifier for the resource. (Optional.)
}

IdentifierInput specifies the input fields used to identify a resource.

func NewIdentifier

func NewIdentifier(value ...string) *IdentifierInput

func NewIdentifierArray

func NewIdentifierArray(values []string) []IdentifierInput

func (IdentifierInput) MarshalJSON

func (identifierInput IdentifierInput) MarshalJSON() ([]byte, error)

type InfraInput

type InfraInput struct {
	Schema   string              `json:"schema" yaml:"schema" default:"Database"`
	Owner    *ID                 `json:"owner,omitempty" yaml:"owner,omitempty" default:"XXX_owner_id_XXX"`
	Provider *InfraProviderInput `json:"provider" yaml:"provider"`
	Data     *JSON               `` /* 139-byte string literal not displayed */
}

type InfraProviderInput

type InfraProviderInput struct {
	Account string `json:"account" yaml:"account" default:"Dev - 123456789"`
	Name    string `json:"name" yaml:"name" default:"Google"`
	Type    string `json:"type" yaml:"type" default:"BigQuery"`
	URL     string `json:"url" yaml:"url" default:"https://google.com"`
}

type InfrastructureResource

type InfrastructureResource struct {
	Id           string                             `json:"id"`
	Aliases      []string                           `json:"aliases"`
	Name         string                             `json:"name"`
	Schema       string                             `json:"type" graphql:"type @include(if: $all)"`
	ProviderType string                             `json:"providerResourceType" graphql:"providerResourceType @include(if: $all)"`
	ProviderData InfrastructureResourceProviderData `json:"providerData" graphql:"providerData @include(if: $all)"`
	Owner        EntityOwner                        `json:"owner" graphql:"owner @include(if: $all)"`
	OwnerLocked  bool                               `json:"ownerLocked" graphql:"ownerLocked @include(if: $all)"`
	ParsedData   JSON                               `json:"data" scalar:"true" graphql:"data @include(if: $all)"`
	Data         JSON                               `json:"rawData" scalar:"true" graphql:"rawData @include(if: $all)"`
}

func (*InfrastructureResource) AliasableType added in v2024.10.28

func (infrastructureResource *InfrastructureResource) AliasableType() AliasOwnerTypeEnum

func (*InfrastructureResource) GetAliases added in v2024.10.28

func (infrastructureResource *InfrastructureResource) GetAliases() []string

func (*InfrastructureResource) GetTags

func (infrastructureResource *InfrastructureResource) GetTags(client *Client, variables *PayloadVariables) (*TagConnection, error)

func (*InfrastructureResource) ReconcileAliases added in v2024.6.27

func (infrastructureResource *InfrastructureResource) ReconcileAliases(client *Client, aliasesWanted []string) error

func (*InfrastructureResource) ResourceId

func (infrastructureResource *InfrastructureResource) ResourceId() ID

func (*InfrastructureResource) ResourceType

func (infrastructureResource *InfrastructureResource) ResourceType() TaggableResource

type InfrastructureResourceConnection

type InfrastructureResourceConnection struct {
	Nodes      []InfrastructureResource
	PageInfo   PageInfo
	TotalCount int `graphql:"-"`
}

type InfrastructureResourceInput

type InfrastructureResourceInput struct {
	OwnerId *ID   `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the owner for the infrastructure_resource. (Optional.)
	Data    *JSON ``                                                                                            // The data for the infrastructure_resource. (Optional.)
	/* 159-byte string literal not displayed */
	Schema               *InfrastructureResourceSchemaInput       `json:"schema,omitempty" yaml:"schema,omitempty"`                                                    // The schema for the infrastructure_resource that determines its type. (Optional.)
	ProviderData         *InfrastructureResourceProviderDataInput `json:"providerData,omitempty" yaml:"providerData,omitempty"`                                        // Data about the provider of the infrastructure resource. (Optional.)
	ProviderResourceType *string                                  `json:"providerResourceType,omitempty" yaml:"providerResourceType,omitempty" example:"example_type"` // The type of the infrastructure resource in its provider. (Optional.)
}

InfrastructureResourceInput specifies the input fields for a infrastructure resource.

type InfrastructureResourceProviderData

type InfrastructureResourceProviderData struct {
	AccountName  string `json:"accountName" graphql:"accountName"`
	ExternalURL  string `json:"externalUrl" graphql:"externalUrl"`
	ProviderName string `json:"providerName" graphql:"providerName"`
}

type InfrastructureResourceProviderDataInput

type InfrastructureResourceProviderDataInput struct {
	AccountName  string  `json:"accountName" yaml:"accountName" example:"example_name"`                             // The account name of the provider. (Required.)
	ExternalUrl  *string `json:"externalUrl,omitempty" yaml:"externalUrl,omitempty" example:"john.doe@example.com"` // The external URL of the infrastructure resource in its provider. (Optional.)
	ProviderName *string `json:"providerName,omitempty" yaml:"providerName,omitempty" example:"example_name"`       // The name of the provider (e.g. AWS, GCP, Azure). (Optional.)
}

InfrastructureResourceProviderDataInput specifies the input fields for data about an infrastructure resource's provider.

type InfrastructureResourceSchema

type InfrastructureResourceSchema struct {
	Type   string `json:"type"`
	Schema JSON   `json:"schema" scalar:"true"`
}

type InfrastructureResourceSchemaConnection

type InfrastructureResourceSchemaConnection struct {
	Nodes      []InfrastructureResourceSchema
	PageInfo   PageInfo
	TotalCount int `graphql:"-"`
}

type InfrastructureResourceSchemaInput

type InfrastructureResourceSchemaInput struct {
	Type string `json:"type" yaml:"type" example:"example_type"` // The type of the infrastructure resource. (Required.)
}

InfrastructureResourceSchemaInput specifies the schema for an infrastructure resource.

type Integration

type Integration struct {
	IntegrationId

	DisplayName string       `graphql:"displayName"` // The display name of the integration.
	WebhookURL  *string      `graphql:"webhookUrl"`  // The endpoint to send events via webhook (if applicable).
	CreatedAt   iso8601.Time `graphql:"createdAt"`   // The time this integration was created.
	InstalledAt iso8601.Time `graphql:"installedAt"` // The time that this integration was successfully installed, if null, this indicates the integration was not completed installed.

	AWSIntegrationFragment            `graphql:"... on AwsIntegration"`
	AzureResourcesIntegrationFragment `graphql:"... on AzureResourcesIntegration"`
	GoogleCloudIntegrationFragment    `graphql:"... on GoogleCloudIntegration"`
	NewRelicIntegrationFragment       `graphql:"... on NewRelicIntegration"`
}

Integration represents an integration is a way of extending OpsLevel functionality.

type IntegrationConnection

type IntegrationConnection struct {
	Nodes      []Integration
	PageInfo   PageInfo
	TotalCount int
}

type IntegrationId

type IntegrationId struct {
	Id   ID     `json:"id"`   // The unique identifier of the integration.
	Name string `json:"name"` // The name of the integration.
	Type string `json:"type"` // The type of the integration.
}

func (*IntegrationId) Alias

func (integrationId *IntegrationId) Alias() string

type JSON

type JSON map[string]any

JSON represents a json object with keys and values for use with the OpsLevel API. Instantiate using NewJSON. Has a different graphql type compared to JSONSchema.

func NewJSON

func NewJSON(data string) (*JSON, error)

func (JSON) GetGraphQLType

func (jsonObject JSON) GetGraphQLType() string

func (JSON) MarshalJSON

func (jsonObject JSON) MarshalJSON() ([]byte, error)

func (JSON) ToJSON

func (jsonObject JSON) ToJSON() string

ToJSON returns a string containing its key value pairs marshalled as a json object.

type JSONSchema

type JSONSchema map[string]any

JSONSchema represents a json object with keys and values for use with the OpsLevel API. Instantiate using NewJSONSchema. Has a different graphql type compared to JSON.

func NewJSONSchema

func NewJSONSchema(data string) (*JSONSchema, error)

func (JSONSchema) AsString

func (jsonSchema JSONSchema) AsString() string

AsString returns a string containing its key value pairs marshalled as a json object.

func (JSONSchema) GetGraphQLType

func (jsonSchema JSONSchema) GetGraphQLType() string

func (JSONSchema) MarshalJSON

func (jsonSchema JSONSchema) MarshalJSON() ([]byte, error)

type JsonString

type JsonString string

JsonString is a specialized input type to support serialization of any json compatible type (bool, string, int, map, slice, etc.) for use with the OpsLevel API. Instantiate using NewJSONInput.

func NewJSONInput

func NewJSONInput(data any) (*JsonString, error)

NewJSONInput converts any json compatible type (bool, string, int, map, slice, etc.) into a valid JsonString. If passed a json object or array wrapped in a string, it will not use json.Marshal(data) and instead simply return the value of of JsonString(data) to prevent adding unnecessary escape characters.

func (JsonString) AsArray

func (jsonString JsonString) AsArray() []any

func (JsonString) AsBool

func (jsonString JsonString) AsBool() bool

func (JsonString) AsFloat64

func (jsonString JsonString) AsFloat64() float64

func (JsonString) AsInt

func (jsonString JsonString) AsInt() int

func (JsonString) AsMap

func (jsonString JsonString) AsMap() map[string]any

func (JsonString) AsString

func (jsonString JsonString) AsString() string

func (JsonString) GetGraphQLType

func (jsonString JsonString) GetGraphQLType() string

type Language

type Language struct {
	Name  string
	Usage float64
}

type Level

type Level struct {
	Alias       string
	Description string `json:"description,omitempty"`
	Id          ID     `json:"id"`
	Index       int
	Name        string
}

type LevelConnection

type LevelConnection struct {
	Nodes      []Level
	PageInfo   PageInfo
	TotalCount int
}

func (*LevelConnection) Hydrate

func (conn *LevelConnection) Hydrate(client *Client) error

type LevelCreateInput

type LevelCreateInput struct {
	Name        string  `json:"name" yaml:"name" example:"example_name"`                                          // The display name of the level. (Required.)
	Description *string `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"` // The description of the level. (Optional.)
	Index       *int    `json:"index,omitempty" yaml:"index,omitempty" example:"3"`                               // an integer allowing this level to be inserted between others. Must be unique per Rubric. (Optional.)
}

LevelCreateInput specifies the input fields used to create a level. The new level will be added as the highest level (greatest level index).

type LevelDeleteInput

type LevelDeleteInput struct {
	Id ID `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the level to be deleted. (Required.)
}

LevelDeleteInput specifies the input fields used to delete a level.

type LevelUpdateInput

type LevelUpdateInput struct {
	Id          ID      `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                           // The id of the level to be updated. (Required.)
	Name        *string `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                      // The display name of the level. (Optional.)
	Description *string `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"` // The description of the level. (Optional.)
}

LevelUpdateInput specifies the input fields used to update a level.

type Lifecycle

type Lifecycle struct {
	Alias       string
	Description string
	Id          ID
	Index       int
	Name        string
}

type ManualAlertSourceSync added in v2024.2.26

type ManualAlertSourceSync struct {
	AllowManualSyncAlertSources string `graphql:"allowManualSyncAlertSources"` // Indicates if manual alert source synchronization can be triggered.
	LastManualSyncAlertSources  string `graphql:"lastManualSyncAlertSources"`  // The time that alert sources were last manually synchronized at.
}

ManualAlertSourceSync represents .

type ManualCheckFragment

type ManualCheckFragment struct {
	UpdateFrequency       *ManualCheckFrequency `graphql:"updateFrequency"`       // The minimum frequency of the updates.
	UpdateRequiresComment bool                  `graphql:"updateRequiresComment"` // Whether the check requires a comment or not.
}

type ManualCheckFrequency

type ManualCheckFrequency struct {
	FrequencyTimeScale FrequencyTimeScale `graphql:"frequencyTimeScale"`
	FrequencyValue     int                `graphql:"frequencyValue"`
	StartingDate       iso8601.Time       `graphql:"startingDate"`
}

type ManualCheckFrequencyInput

type ManualCheckFrequencyInput struct {
	StartingDate       iso8601.Time       `json:"startingDate" yaml:"startingDate" example:"2024-01-05T01:00:00.000Z"` // The date that the check will start to evaluate. (Required.)
	FrequencyTimeScale FrequencyTimeScale `json:"frequencyTimeScale" yaml:"frequencyTimeScale" example:"week"`         // The time scale type for the frequency. (Required.)
	FrequencyValue     int                `json:"frequencyValue" yaml:"frequencyValue" example:"3"`                    // The value to be used together with the frequency scale. (Required.)
}

ManualCheckFrequencyInput represents defines a frequency for the check update.

func NewManualCheckFrequencyInput

func NewManualCheckFrequencyInput(startingDate string, timeScale FrequencyTimeScale, value int) *ManualCheckFrequencyInput

type ManualCheckFrequencyUpdateInput

type ManualCheckFrequencyUpdateInput struct {
	StartingDate       *iso8601.Time       `json:"startingDate,omitempty" yaml:"startingDate,omitempty" example:"2024-01-05T01:00:00.000Z"` // The date that the check will start to evaluate. (Optional.)
	FrequencyTimeScale *FrequencyTimeScale `json:"frequencyTimeScale,omitempty" yaml:"frequencyTimeScale,omitempty" example:"week"`         // The time scale type for the frequency. (Optional.)
	FrequencyValue     *int                `json:"frequencyValue,omitempty" yaml:"frequencyValue,omitempty" example:"3"`                    // The value to be used together with the frequency scale. (Optional.)
}

ManualCheckFrequencyUpdateInput represents defines a frequency for the check update.

func NewManualCheckFrequencyUpdateInput

func NewManualCheckFrequencyUpdateInput(startingDate string, timeScale FrequencyTimeScale, value int) *ManualCheckFrequencyUpdateInput

type MaturityReport

type MaturityReport struct {
	CategoryBreakdown []CategoryBreakdown
	OverallLevel      Level
}

func (*MaturityReport) Get

func (maturityReport *MaturityReport) Get(category string) *Level

Get Given a 'category' name returns the 'Level'

type MemberInput

type MemberInput struct {
	Email string `json:"email" yaml:"email" example:"first.last@domain.com"` // The user's email. (Required.)
}

MemberInput represents input for specifying members on a group.

type NewRelicIntegrationAccountsInput

type NewRelicIntegrationAccountsInput struct {
	ApiKey  string `json:"apiKey" yaml:"apiKey" example:"XXX_example_key_XXX"`    // The API Key for the New Relic API. (Required.)
	BaseUrl string `json:"baseUrl" yaml:"baseUrl" example:"john.doe@example.com"` // The API URL for New Relic API. (Required.)
}

NewRelicIntegrationAccountsInput represents .

type NewRelicIntegrationFragment

type NewRelicIntegrationFragment struct {
	BaseUrl    string `graphql:"baseUrl"`
	AccountKey string `graphql:"accountKey"`
}

type NewRelicIntegrationInput

type NewRelicIntegrationInput struct {
	ApiKey  *string `json:"apiKey,omitempty" yaml:"apiKey,omitempty" example:"XXX_example_key_XXX"`    // The API Key for the New Relic API. (Optional.)
	BaseUrl *string `json:"baseUrl,omitempty" yaml:"baseUrl,omitempty" example:"john.doe@example.com"` // The API URL for New Relic API. (Optional.)
}

NewRelicIntegrationInput represents .

func (NewRelicIntegrationInput) GetGraphQLType

func (newRelicIntegrationInput NewRelicIntegrationInput) GetGraphQLType() string

type Nullable added in v2024.5.13

type Nullable[T NullableConstraint] struct {
	Value   T
	SetNull bool
}

Nullable can be used to unset a value using an OpsLevel input struct type, should always be instantiated using a constructor.

func NewNull added in v2024.5.13

func NewNull[T string]() *Nullable[T]

NewNull returns a Nullable string that will always marshal into `null`, can be used to unset fields

func NewNullOf added in v2024.10.28

func NewNullOf[T NullableConstraint]() *Nullable[T]

NewNullOf returns a Nullable of any type that fits NullableConstraint that will always marshal into `null`, can be used to unset fields

func NewNullableFrom added in v2024.5.13

func NewNullableFrom[T NullableConstraint](value T) *Nullable[T]

NewNullableFrom returns a Nullable that will never marshal into `null`, can be used to change fields or even set them to an empty value (like "")

func NullableString added in v2024.10.11

func NullableString(value *string) *Nullable[string]

func (Nullable[T]) MarshalJSON added in v2024.5.13

func (nullable Nullable[T]) MarshalJSON() ([]byte, error)

type NullableConstraint added in v2024.5.13

type NullableConstraint interface {
	any
}

NullableConstraint defines what types can be nullable - keep separated using the union operator (pipe)

type OpsLevelErrors

type OpsLevelErrors struct {
	Message string
	Path    []string
}

type OpsLevelWarnings

type OpsLevelWarnings struct {
	Message string
}

type Option

type Option func(*ClientSettings)

func SetAPIToken

func SetAPIToken(apiToken string) Option

func SetAPIVisibility

func SetAPIVisibility(visibility string) Option

func SetHeader

func SetHeader(key string, value string) Option

func SetHeaders

func SetHeaders(headers map[string]string) Option

func SetMaxRetries

func SetMaxRetries(amount int) Option

func SetPageSize

func SetPageSize(size int) Option

func SetTimeout

func SetTimeout(amount time.Duration) Option

func SetURL

func SetURL(url string) Option

func SetUserAgentExtra

func SetUserAgentExtra(extra string) Option

type PackageConstraintEnum added in v2024.8.1

type PackageConstraintEnum string

PackageConstraintEnum represents possible values of a package version check constraint.

const (
	PackageConstraintEnumExists         PackageConstraintEnum = "exists"          // The package must be used by a service.
	PackageConstraintEnumDoesNotExist   PackageConstraintEnum = "does_not_exist"  // The package must not be used by a service.
	PackageConstraintEnumMatchesVersion PackageConstraintEnum = "matches_version" // The package usage by a service must match certain specified version constraints.
)

type PackageManagerEnum added in v2024.8.1

type PackageManagerEnum string

PackageManagerEnum represents supported software package manager types.

const (
	PackageManagerEnumAlpm      PackageManagerEnum = "alpm"      // .
	PackageManagerEnumApk       PackageManagerEnum = "apk"       // .
	PackageManagerEnumBitbucket PackageManagerEnum = "bitbucket" // .
	PackageManagerEnumBitnami   PackageManagerEnum = "bitnami"   // .
	PackageManagerEnumCocoapods PackageManagerEnum = "cocoapods" // .
	PackageManagerEnumCargo     PackageManagerEnum = "cargo"     // .
	PackageManagerEnumComposer  PackageManagerEnum = "composer"  // .
	PackageManagerEnumConan     PackageManagerEnum = "conan"     // .
	PackageManagerEnumConda     PackageManagerEnum = "conda"     // .
	PackageManagerEnumCpan      PackageManagerEnum = "cpan"      // .
	PackageManagerEnumCran      PackageManagerEnum = "cran"      // .
	PackageManagerEnumDeb       PackageManagerEnum = "deb"       // .
	PackageManagerEnumDocker    PackageManagerEnum = "docker"    // .
	PackageManagerEnumGem       PackageManagerEnum = "gem"       // .
	PackageManagerEnumGeneric   PackageManagerEnum = "generic"   // .
	PackageManagerEnumGitHub    PackageManagerEnum = "github"    // .
	PackageManagerEnumGolang    PackageManagerEnum = "golang"    // .
	PackageManagerEnumGradle    PackageManagerEnum = "gradle"    // .
	PackageManagerEnumHackage   PackageManagerEnum = "hackage"   // .
	PackageManagerEnumHex       PackageManagerEnum = "hex"       // .
	PackageManagerEnumMaven     PackageManagerEnum = "maven"     // .
	PackageManagerEnumMlflow    PackageManagerEnum = "mlflow"    // .
	PackageManagerEnumNpm       PackageManagerEnum = "npm"       // .
	PackageManagerEnumNuget     PackageManagerEnum = "nuget"     // .
	PackageManagerEnumQpkg      PackageManagerEnum = "qpkg"      // .
	PackageManagerEnumOci       PackageManagerEnum = "oci"       // .
	PackageManagerEnumPub       PackageManagerEnum = "pub"       // .
	PackageManagerEnumPypi      PackageManagerEnum = "pypi"      // .
	PackageManagerEnumRpm       PackageManagerEnum = "rpm"       // .
	PackageManagerEnumSwid      PackageManagerEnum = "swid"      // .
	PackageManagerEnumSwift     PackageManagerEnum = "swift"     // .
)

type PackageVersionCheckFragment added in v2024.8.1

type PackageVersionCheckFragment struct {
	MissingPackageResult       *CheckResultStatusEnum `graphql:"missingPackageResult"`       // The check result if the package isn't being used by a service.
	PackageConstraint          PackageConstraintEnum  `graphql:"packageConstraint"`          // The package constraint the service is to be checked for.
	PackageManager             PackageManagerEnum     `graphql:"packageManager"`             // The package manager (ecosystem) this package relates to.
	PackageName                string                 `graphql:"packageName"`                // The name of the package to be checked.
	PackageNameIsRegex         bool                   `graphql:"packageNameIsRegex"`         // Whether or not the value in the package name field is a regular expression.
	VersionConstraintPredicate *Predicate             `graphql:"versionConstraintPredicate"` // The predicate that describes the version constraint the package must satisfy.
}

type PageInfo

type PageInfo struct {
	HasNextPage     bool   `graphql:"hasNextPage"`
	HasPreviousPage bool   `graphql:"hasPreviousPage"`
	Start           string `graphql:"startCursor"`
	End             string `graphql:"endCursor"`
}

type PayloadSortEnum

type PayloadSortEnum string

PayloadSortEnum represents sort possibilities for payloads.

const (
	PayloadSortEnumCreatedAtAsc    PayloadSortEnum = "created_at_ASC"    // Order by `created_at` ascending.
	PayloadSortEnumCreatedAtDesc   PayloadSortEnum = "created_at_DESC"   // Order by `created_at` descending.
	PayloadSortEnumProcessedAtAsc  PayloadSortEnum = "processed_at_ASC"  // Order by `processed_at` ascending.
	PayloadSortEnumProcessedAtDesc PayloadSortEnum = "processed_at_DESC" // Order by `processed_at` descending.
)

type PayloadVariables

type PayloadVariables map[string]interface{}

func (*PayloadVariables) WithoutDeactivedUsers added in v2024.8.16

func (pv *PayloadVariables) WithoutDeactivedUsers() *PayloadVariables

WithoutDeactivedUsers filters out deactivated users on ListUsers query

type Predicate

type Predicate struct {
	Type  PredicateTypeEnum `graphql:"type"`
	Value string            `graphql:"value"`
}

func (*Predicate) Validate added in v2024.5.31

func (p *Predicate) Validate() error

type PredicateInput

type PredicateInput struct {
	Type  PredicateTypeEnum `json:"type" yaml:"type" example:"satisfies_jq_expression"`             // The condition type used by the predicate. (Required.)
	Value *string           `json:"value,omitempty" yaml:"value,omitempty" example:"example_value"` // The condition value used by the predicate. (Optional.)
}

PredicateInput represents a condition that should be satisfied.

type PredicateKeyEnum

type PredicateKeyEnum string

PredicateKeyEnum represents fields that can be used as part of filter for services.

const (
	PredicateKeyEnumTierIndex      PredicateKeyEnum = "tier_index"      // Filter by `tier` field.
	PredicateKeyEnumLifecycleIndex PredicateKeyEnum = "lifecycle_index" // Filter by `lifecycle` field.
	PredicateKeyEnumLanguage       PredicateKeyEnum = "language"        // Filter by `language` field.
	PredicateKeyEnumFramework      PredicateKeyEnum = "framework"       // Filter by `framework` field.
	PredicateKeyEnumProduct        PredicateKeyEnum = "product"         // Filter by `product` field.
	PredicateKeyEnumName           PredicateKeyEnum = "name"            // Filter by `name` field.
	PredicateKeyEnumTags           PredicateKeyEnum = "tags"            // Filter by `tags` field.
	PredicateKeyEnumOwnerID        PredicateKeyEnum = "owner_id"        // Filter by `owner` field.
	PredicateKeyEnumGroupIDs       PredicateKeyEnum = "group_ids"       // Filter by group hierarchy. Will return resources who's owner is in the group ancestry chain.
	PredicateKeyEnumOwnerIDs       PredicateKeyEnum = "owner_ids"       // Filter by `owner` hierarchy. Will return resources who's owner is in the team ancestry chain.
	PredicateKeyEnumCreationSource PredicateKeyEnum = "creation_source" // Filter by the creation source.
	PredicateKeyEnumRepositoryIDs  PredicateKeyEnum = "repository_ids"  // Filter by Repository that this service is attached to, if any.
	PredicateKeyEnumFilterID       PredicateKeyEnum = "filter_id"       // Filter by another filter.
	PredicateKeyEnumProperties     PredicateKeyEnum = "properties"      // Filter by custom-defined properties.
	PredicateKeyEnumAliases        PredicateKeyEnum = "aliases"         // Filter by Alias attached to this service, if any.
	PredicateKeyEnumDomainID       PredicateKeyEnum = "domain_id"       // Filter by Domain that includes the System this service is assigned to, if any.
	PredicateKeyEnumSystemID       PredicateKeyEnum = "system_id"       // Filter by System that this service is assigned to, if any.
)

type PredicateTypeEnum

type PredicateTypeEnum string

PredicateTypeEnum represents operations that can be used on predicates.

const (
	PredicateTypeEnumContains                   PredicateTypeEnum = "contains"                     // Contains a specific value.
	PredicateTypeEnumDoesNotContain             PredicateTypeEnum = "does_not_contain"             // Does not contain a specific value.
	PredicateTypeEnumDoesNotEqual               PredicateTypeEnum = "does_not_equal"               // Does not equal a specific value.
	PredicateTypeEnumDoesNotExist               PredicateTypeEnum = "does_not_exist"               // Specific attribute does not exist.
	PredicateTypeEnumEndsWith                   PredicateTypeEnum = "ends_with"                    // Ends with a specific value.
	PredicateTypeEnumEquals                     PredicateTypeEnum = "equals"                       // Equals a specific value.
	PredicateTypeEnumExists                     PredicateTypeEnum = "exists"                       // Specific attribute exists.
	PredicateTypeEnumGreaterThanOrEqualTo       PredicateTypeEnum = "greater_than_or_equal_to"     // Greater than or equal to a specific value (numeric only).
	PredicateTypeEnumLessThanOrEqualTo          PredicateTypeEnum = "less_than_or_equal_to"        // Less than or equal to a specific value (numeric only).
	PredicateTypeEnumStartsWith                 PredicateTypeEnum = "starts_with"                  // Starts with a specific value.
	PredicateTypeEnumSatisfiesVersionConstraint PredicateTypeEnum = "satisfies_version_constraint" // Satisfies version constraint (tag value only).
	PredicateTypeEnumMatchesRegex               PredicateTypeEnum = "matches_regex"                // Matches a value using a regular expression.
	PredicateTypeEnumDoesNotMatchRegex          PredicateTypeEnum = "does_not_match_regex"         // Does not match a value using a regular expression.
	PredicateTypeEnumBelongsTo                  PredicateTypeEnum = "belongs_to"                   // Belongs to a group's hierarchy.
	PredicateTypeEnumMatches                    PredicateTypeEnum = "matches"                      // A certain filter is matched.
	PredicateTypeEnumDoesNotMatch               PredicateTypeEnum = "does_not_match"               // A certain filter is not matched.
	PredicateTypeEnumSatisfiesJqExpression      PredicateTypeEnum = "satisfies_jq_expression"      // Satisfies an expression defined in jq.
)

type PredicateUpdateInput

type PredicateUpdateInput struct {
	Type  *PredicateTypeEnum `json:"type,omitempty" yaml:"type,omitempty" example:"satisfies_jq_expression"` // The condition type used by the predicate. (Optional.)
	Value *string            `json:"value,omitempty" yaml:"value,omitempty" example:"example_value"`         // The condition value used by the predicate. (Optional.)
}

PredicateUpdateInput represents a condition that should be satisfied.

func (*PredicateUpdateInput) MarshalJSON added in v2024.6.11

func (p *PredicateUpdateInput) MarshalJSON() ([]byte, error)

type Property

type Property struct {
	Definition       PropertyDefinitionId `graphql:"definition"`
	Locked           bool                 `graphql:"locked"`
	Owner            EntityOwnerService   `graphql:"owner"`
	ValidationErrors []OpsLevelErrors     `graphql:"validationErrors"`
	Value            *JsonString          `graphql:"value"`
}

Property represents a custom property value assigned to an entity.

type PropertyDefinition

type PropertyDefinition struct {
	Aliases               []string                          `graphql:"aliases" json:"aliases"`
	AllowedInConfigFiles  bool                              `graphql:"allowedInConfigFiles"` // Whether or not the property is allowed to be set in opslevel.yml config files.
	Id                    ID                                `graphql:"id" json:"id"`
	Name                  string                            `graphql:"name" json:"name"`
	Description           string                            `graphql:"description" json:"description"`
	DisplaySubtype        PropertyDefinitionDisplayTypeEnum `graphql:"displaySubtype" json:"displaySubtype"`
	DisplayType           PropertyDefinitionDisplayTypeEnum `graphql:"displayType" json:"displayType"`
	PropertyDisplayStatus PropertyDisplayStatusEnum         `graphql:"propertyDisplayStatus" json:"propertyDisplayStatus"`
	Schema                JSON                              `json:"schema" scalar:"true"`
}

PropertyDefinition represents the definition of a property.

type PropertyDefinitionConnection

type PropertyDefinitionConnection struct {
	Nodes      []PropertyDefinition
	PageInfo   PageInfo
	TotalCount int `graphql:"-"`
}

type PropertyDefinitionDisplayTypeEnum

type PropertyDefinitionDisplayTypeEnum string

PropertyDefinitionDisplayTypeEnum represents the set of possible display types of a property definition schema.

const (
	PropertyDefinitionDisplayTypeEnumArray    PropertyDefinitionDisplayTypeEnum = "ARRAY"    // An array.
	PropertyDefinitionDisplayTypeEnumBoolean  PropertyDefinitionDisplayTypeEnum = "BOOLEAN"  // A boolean.
	PropertyDefinitionDisplayTypeEnumDropdown PropertyDefinitionDisplayTypeEnum = "DROPDOWN" // A dropdown.
	PropertyDefinitionDisplayTypeEnumNumber   PropertyDefinitionDisplayTypeEnum = "NUMBER"   // A number.
	PropertyDefinitionDisplayTypeEnumObject   PropertyDefinitionDisplayTypeEnum = "OBJECT"   // An object.
	PropertyDefinitionDisplayTypeEnumText     PropertyDefinitionDisplayTypeEnum = "TEXT"     // A text string.
)

type PropertyDefinitionId

type PropertyDefinitionId struct {
	Id      ID       `json:"id"`
	Aliases []string `json:"aliases,omitempty"`
}

type PropertyDefinitionInput

type PropertyDefinitionInput struct {
	Name                  *string                    `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                             // The name of the property definition. (Optional.)
	Schema                *JSONSchema                `json:"schema,omitempty" yaml:"schema,omitempty" example:""`                                     // The schema of the property definition. (Optional.)
	Description           *string                    `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"`        // The description of the property definition. (Optional.)
	PropertyDisplayStatus *PropertyDisplayStatusEnum `json:"propertyDisplayStatus,omitempty" yaml:"propertyDisplayStatus,omitempty" example:"hidden"` // The display status of the custom property on service pages. (Optional.)
	AllowedInConfigFiles  *bool                      `json:"allowedInConfigFiles,omitempty" yaml:"allowedInConfigFiles,omitempty" example:"true"`     // Whether or not the property is allowed to be set in opslevel.yml config files. (Optional.)
}

PropertyDefinitionInput represents the input for defining a property.

type PropertyDisplayStatusEnum

type PropertyDisplayStatusEnum string

PropertyDisplayStatusEnum represents the display status of a custom property on service pages.

const (
	PropertyDisplayStatusEnumHidden  PropertyDisplayStatusEnum = "hidden"  // The property is not shown on the service page.
	PropertyDisplayStatusEnumVisible PropertyDisplayStatusEnum = "visible" // The property is shown on the service page.
)

type PropertyInput

type PropertyInput struct {
	Owner         IdentifierInput `json:"owner" yaml:"owner"`                                                     // The entity that the property has been assigned to. (Required.)
	Definition    IdentifierInput `json:"definition" yaml:"definition"`                                           // The definition of the property. (Required.)
	Value         JsonString      `json:"value" yaml:"value" example:"example_value"`                             // The value of the property. (Required.)
	RunValidation *bool           `json:"runValidation,omitempty" yaml:"runValidation,omitempty" example:"false"` // Validate the property value against the schema. On by default. (Optional.)
}

PropertyInput represents the input for setting a property.

type RelatedResourceRelationshipTypeEnum

type RelatedResourceRelationshipTypeEnum string

RelatedResourceRelationshipTypeEnum represents the type of the relationship between two resources.

const (
	RelatedResourceRelationshipTypeEnumBelongsTo    RelatedResourceRelationshipTypeEnum = "belongs_to"    // The resource belongs to the node on the edge.
	RelatedResourceRelationshipTypeEnumContains     RelatedResourceRelationshipTypeEnum = "contains"      // The resource contains the node on the edge.
	RelatedResourceRelationshipTypeEnumDependsOn    RelatedResourceRelationshipTypeEnum = "depends_on"    // The resource depends on the node on the edge.
	RelatedResourceRelationshipTypeEnumDependencyOf RelatedResourceRelationshipTypeEnum = "dependency_of" // The resource is a dependency of the node on the edge.
)

type RelationshipDefinition

type RelationshipDefinition struct {
	Source IdentifierInput      `json:"source" yaml:"source"`                  // The resource that is the source of the relationship. alias is ambiguous in this context and is not supported. Please supply an id. (Required.)
	Target IdentifierInput      `json:"target" yaml:"target"`                  // The resource that is the target of the relationship. alias is ambiguous in this context and is not supported. Please supply an id. (Required.)
	Type   RelationshipTypeEnum `json:"type" yaml:"type" example:"depends_on"` // The type of the relationship between source and target. (Required.)
}

RelationshipDefinition represents a source, target and relationship type specifying a relationship between two resources.

type RelationshipTypeEnum

type RelationshipTypeEnum string

RelationshipTypeEnum represents the type of relationship between two resources.

const (
	RelationshipTypeEnumBelongsTo RelationshipTypeEnum = "belongs_to" // The source resource belongs to the target resource.
	RelationshipTypeEnumDependsOn RelationshipTypeEnum = "depends_on" // The source resource depends on the target resource.
)

type Repository

type Repository struct {
	ArchivedAt         iso8601.Time
	CreatedOn          iso8601.Time
	DefaultAlias       string
	DefaultBranch      string
	Description        string
	Forked             bool
	HtmlUrl            string
	Id                 ID
	Languages          []Language
	LastOwnerChangedAt iso8601.Time
	Locked             bool
	Name               string
	Organization       string
	Owner              TeamId
	Private            bool
	RepoKey            string
	Services           *RepositoryServiceConnection
	Tags               *TagConnection
	Tier               Tier
	Type               string
	Url                string
	Visible            bool
}

func (*Repository) GetService

func (repository *Repository) GetService(service ID, directory string) *ServiceRepository

func (*Repository) GetServices

func (repository *Repository) GetServices(client *Client, variables *PayloadVariables) (*RepositoryServiceConnection, error)

func (*Repository) GetTags

func (repository *Repository) GetTags(client *Client, variables *PayloadVariables) (*TagConnection, error)

func (*Repository) Hydrate

func (repository *Repository) Hydrate(client *Client) error

func (*Repository) ResourceId

func (repository *Repository) ResourceId() ID

func (*Repository) ResourceType

func (repository *Repository) ResourceType() TaggableResource

type RepositoryConnection

type RepositoryConnection struct {
	HiddenCount       int
	Nodes             []Repository
	OrganizationCount int
	OwnedCount        int
	PageInfo          PageInfo
	TotalCount        int
	VisibleCount      int
}

type RepositoryFileCheckFragment

type RepositoryFileCheckFragment struct {
	DirectorySearch       bool       `graphql:"directorySearch"`       // Whether the check looks for the existence of a directory instead of a file.
	FileContentsPredicate *Predicate `graphql:"fileContentsPredicate"` // Condition to match the file content.
	Filepaths             []string   `graphql:"filePaths"`             // Restrict the search to certain file paths.
	UseAbsoluteRoot       bool       `graphql:"useAbsoluteRoot"`       // Whether the checks looks at the absolute root of a repo or the relative root (the directory specified when attached a repo to a service).
}

type RepositoryGrepCheckFragment

type RepositoryGrepCheckFragment struct {
	DirectorySearch       bool      `graphql:"directorySearch"`       // Whether the check looks for the existence of a directory instead of a file.
	FileContentsPredicate Predicate `graphql:"fileContentsPredicate"` // Condition to match the file content.
	Filepaths             []string  `graphql:"filePaths"`             // Restrict the search to certain file paths.
}

type RepositoryId

type RepositoryId struct {
	Id           ID
	DefaultAlias string
}

type RepositoryPath

type RepositoryPath struct {
	Href string
	Path string
}

type RepositorySearchCheckFragment

type RepositorySearchCheckFragment struct {
	FileContentsPredicate Predicate `graphql:"fileContentsPredicate"` // Condition to match the text content.
	FileExtensions        []string  `graphql:"fileExtensions"`        // Restrict the search to files of given extensions.
}

type RepositoryServiceConnection

type RepositoryServiceConnection struct {
	Edges      []RepositoryServiceEdge
	PageInfo   PageInfo
	TotalCount int
}

type RepositoryServiceEdge

type RepositoryServiceEdge struct {
	AtRoot              bool
	Node                ServiceId
	Paths               []RepositoryPath
	ServiceRepositories []ServiceRepository
}

type RepositoryUpdateInput

type RepositoryUpdateInput struct {
	Id      ID    `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                               // The id of the repository to be updated. (Required.)
	Visible *bool `json:"visible,omitempty" yaml:"visible,omitempty" example:"false"`                           // Indicates if the repository is visible. (Optional.)
	OwnerId *ID   `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The team that owns the repository. (Optional.)
}

RepositoryUpdateInput specifies the input fields used to update a repository.

type RepositoryVisibilityEnum

type RepositoryVisibilityEnum string

RepositoryVisibilityEnum represents possible visibility levels for repositories.

const (
	RepositoryVisibilityEnumPrivate      RepositoryVisibilityEnum = "PRIVATE"      // Repositories that are private to the user.
	RepositoryVisibilityEnumInternal     RepositoryVisibilityEnum = "INTERNAL"     // Repositories that are only accessible to organization users (Github, Gitlab).
	RepositoryVisibilityEnumPublic       RepositoryVisibilityEnum = "PUBLIC"       // Repositories that are publicly accessible.
	RepositoryVisibilityEnumOrganization RepositoryVisibilityEnum = "ORGANIZATION" // Repositories that are only accessible to organization users (ADO).
)

type ResourceDocumentStatusTypeEnum

type ResourceDocumentStatusTypeEnum string

ResourceDocumentStatusTypeEnum represents status of a document on a resource.

const (
	ResourceDocumentStatusTypeEnumPinned  ResourceDocumentStatusTypeEnum = "pinned"  // Document is pinned.
	ResourceDocumentStatusTypeEnumVisible ResourceDocumentStatusTypeEnum = "visible" // Document is visible.
	ResourceDocumentStatusTypeEnumHidden  ResourceDocumentStatusTypeEnum = "hidden"  // Document is hidden.
)

type RestResponse

type RestResponse struct {
	Result  string `json:"result"`
	Message string `json:"message"`
}

type Runner

type Runner struct {
	Id     ID                   `json:"id"`
	Status RunnerStatusTypeEnum `json:"status"`
}

type RunnerAppendJobLogInput

type RunnerAppendJobLogInput struct {
	RunnerId    ID           `json:"runnerId" yaml:"runnerId" default:"46290"`
	RunnerJobId ID           `json:"runnerJobId" yaml:"runnerJobId" default:"4133720"`
	SentAt      iso8601.Time `json:"sentAt" yaml:"sentAt" default:"2023-11-05T01:00:00.000Z"`
	Logs        []string     `json:"logChunk" yaml:"logChunk" default:"[\"LogRoger\",\"LogDodger\"]"`
}

type RunnerJob

type RunnerJob struct {
	Commands  []string             `json:"commands"`
	Id        ID                   `json:"id"`
	Image     string               `json:"image"`
	Outcome   RunnerJobOutcomeEnum `json:"outcome"`
	Status    RunnerJobStatusEnum  `json:"status"`
	Variables []RunnerJobVariable  `json:"variables"`
	Files     []RunnerJobFile      `json:"files"`
}

func (*RunnerJob) Number

func (runnerJob *RunnerJob) Number() string

type RunnerJobFile

type RunnerJobFile struct {
	Name     string `json:"name"`
	Contents string `json:"contents"`
}

type RunnerJobOutcomeEnum

type RunnerJobOutcomeEnum string

RunnerJobOutcomeEnum represents the runner job outcome.

const (
	RunnerJobOutcomeEnumUnstarted        RunnerJobOutcomeEnum = "unstarted"         // translation missing: en.graphql.types.runner_job_outcome_enum.unstarted.
	RunnerJobOutcomeEnumCanceled         RunnerJobOutcomeEnum = "canceled"          // Job was canceled.
	RunnerJobOutcomeEnumFailed           RunnerJobOutcomeEnum = "failed"            // Job failed during execution.
	RunnerJobOutcomeEnumSuccess          RunnerJobOutcomeEnum = "success"           // Job succeeded the execution.
	RunnerJobOutcomeEnumQueueTimeout     RunnerJobOutcomeEnum = "queue_timeout"     // Job was not assigned to a runner for too long.
	RunnerJobOutcomeEnumExecutionTimeout RunnerJobOutcomeEnum = "execution_timeout" // Job run took too long to complete, and was marked as failed.
	RunnerJobOutcomeEnumPodTimeout       RunnerJobOutcomeEnum = "pod_timeout"       // A pod could not be scheduled for the job in time.
)

type RunnerJobOutcomeVariable

type RunnerJobOutcomeVariable struct {
	Key   string `json:"key" yaml:"key" default:"job_task"`
	Value string `json:"value" yaml:"value" default:"job_status"`
}

type RunnerJobStatusEnum

type RunnerJobStatusEnum string

RunnerJobStatusEnum represents the runner job status.

const (
	RunnerJobStatusEnumCreated  RunnerJobStatusEnum = "created"  // A created runner job, but not yet ready to be run.
	RunnerJobStatusEnumPending  RunnerJobStatusEnum = "pending"  // A runner job ready to be run.
	RunnerJobStatusEnumRunning  RunnerJobStatusEnum = "running"  // A runner job being run by a runner.
	RunnerJobStatusEnumComplete RunnerJobStatusEnum = "complete" // A finished runner job.
)
const (
	RunnerStatusTypeEnumInactive   RunnerJobStatusEnum = "inactive"   // The runner will not actively take jobs.
	RunnerStatusTypeEnumRegistered RunnerJobStatusEnum = "registered" // The runner will process jobs.
)

type RunnerJobVariable

type RunnerJobVariable struct {
	Key       string `json:"key"`
	Sensitive bool   `json:"sensitive"`
	Value     string `json:"value"`
}

type RunnerReportJobOutcomeInput

type RunnerReportJobOutcomeInput struct {
	RunnerId         ID                         `json:"runnerId" yaml:"runnerId" default:"42690"`
	RunnerJobId      ID                         `json:"runnerJobId" yaml:"runnerJobId" default:"4213370"`
	Outcome          RunnerJobOutcomeEnum       `json:"outcome" yaml:"outcome" default:"pod_timeout"`
	OutcomeVariables []RunnerJobOutcomeVariable `json:"outcomeVariables,omitempty" yaml:"outcomeVariables,omitempty"`
}

type RunnerScale

type RunnerScale struct {
	RecommendedReplicaCount int `json:"recommendedReplicaCount"`
}

type RunnerStatusTypeEnum

type RunnerStatusTypeEnum string

RunnerStatusTypeEnum represents The status of an OpsLevel runner.

type Scorecard

type Scorecard struct {
	ScorecardId

	AffectsOverallServiceLevels bool        `graphql:"affectsOverallServiceLevels"`
	Description                 string      `graphql:"description"` // optional
	Filter                      Filter      `graphql:"filter"`      // optional
	Name                        string      `graphql:"name"`
	Owner                       EntityOwner `graphql:"owner"`
	PassingChecks               int         `graphql:"passingChecks"`
	ServiceCount                int         `graphql:"serviceCount"`
	ChecksCount                 int         `graphql:"totalChecks"`
}

func (*Scorecard) ListCategories added in v2024.6.17

func (scorecard *Scorecard) ListCategories(client *Client, variables *PayloadVariables) (*ScorecardCategoryConnection, error)

type ScorecardCategoryConnection added in v2024.6.17

type ScorecardCategoryConnection struct {
	Nodes      []Category `graphql:"nodes"`
	PageInfo   PageInfo   `graphql:"pageInfo"`
	TotalCount int        `graphql:"totalCount"`
}

type ScorecardConnection

type ScorecardConnection struct {
	Nodes      []Scorecard `graphql:"nodes"`
	PageInfo   PageInfo    `graphql:"pageInfo"`
	TotalCount int         `graphql:"totalCount"`
}

type ScorecardId

type ScorecardId struct {
	Aliases []string `graphql:"aliases"`
	Id      ID       `graphql:"id"`
}

func (*ScorecardId) AliasableType added in v2024.10.28

func (scorecard *ScorecardId) AliasableType() AliasOwnerTypeEnum

func (*ScorecardId) GetAliases added in v2024.10.28

func (scorecard *ScorecardId) GetAliases() []string

func (*ScorecardId) ReconcileAliases added in v2024.6.27

func (scorecard *ScorecardId) ReconcileAliases(client *Client, aliasesWanted []string) error

func (*ScorecardId) ResourceId added in v2024.10.28

func (scorecard *ScorecardId) ResourceId() ID

type ScorecardInput

type ScorecardInput struct {
	Name                        string  `json:"name" yaml:"name" example:"example_name"`                                                            // Name of the scorecard. (Required.)
	Description                 *string `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"`                   // Description of the scorecard. (Optional.)
	OwnerId                     ID      `json:"ownerId" yaml:"ownerId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                   // Owner of the scorecard. Can currently be a team or a group. (Required.)
	FilterId                    *ID     `json:"filterId,omitempty" yaml:"filterId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`             // Filter used by the scorecard to restrict services. (Optional.)
	AffectsOverallServiceLevels *bool   `json:"affectsOverallServiceLevels,omitempty" yaml:"affectsOverallServiceLevels,omitempty" example:"false"` // . (Optional.)
}

ScorecardInput represents input used to create scorecards.

type ScorecardSortEnum

type ScorecardSortEnum string

ScorecardSortEnum represents the possible options to sort the resulting list of scorecards.

const (
	ScorecardSortEnumNameAsc                         ScorecardSortEnum = "name_ASC"                         // Order by the scorecard's name, in ascending order.
	ScorecardSortEnumNameDesc                        ScorecardSortEnum = "name_DESC"                        // Order by the scorecard's name, in descending order.
	ScorecardSortEnumOwnerAsc                        ScorecardSortEnum = "owner_ASC"                        // Order by the scorecard owner's name, in ascending order.
	ScorecardSortEnumOwnerDesc                       ScorecardSortEnum = "owner_DESC"                       // Order by the scorecard owner's name, in descending order.
	ScorecardSortEnumFilterAsc                       ScorecardSortEnum = "filter_ASC"                       // Order by the associated filter's name, in ascending order.
	ScorecardSortEnumFilterDesc                      ScorecardSortEnum = "filter_DESC"                      // Order by the associated filter's name, in descending order.
	ScorecardSortEnumServicecountAsc                 ScorecardSortEnum = "serviceCount_ASC"                 // Order by the number of services covered by the scorecard, in ascending order.
	ScorecardSortEnumServicecountDesc                ScorecardSortEnum = "serviceCount_DESC"                // Order by the number of services covered by the scorecard, in descending order.
	ScorecardSortEnumPassingcheckfractionAsc         ScorecardSortEnum = "passingCheckFraction_ASC"         // Order by the fraction of passing checks on the scorecard, in ascending order.
	ScorecardSortEnumPassingcheckfractionDesc        ScorecardSortEnum = "passingCheckFraction_DESC"        // Order by the fraction of passing checks on the scorecard, in descending order.
	ScorecardSortEnumAffectsoverallservicelevelsAsc  ScorecardSortEnum = "affectsOverallServiceLevels_ASC"  // Order by whether or not the checks on the scorecard affect the overall maturity, in ascending order.
	ScorecardSortEnumAffectsoverallservicelevelsDesc ScorecardSortEnum = "affectsOverallServiceLevels_DESC" // Order by whether or not the checks on the scorecard affect the overall maturity, in descending order.
)

type Secret

type Secret struct {
	Alias      string     `json:"alias"`
	ID         ID         `json:"id"`
	Owner      TeamId     `json:"team"`
	Timestamps Timestamps `json:"timestamps"`
}

type SecretInput

type SecretInput struct {
	Value *string          `json:"value,omitempty" yaml:"value,omitempty" example:"example_value"` // A sensitive value. (Optional.)
	Owner *IdentifierInput `json:"owner,omitempty" yaml:"owner,omitempty"`                         // The owner of this secret. (Optional.)
}

SecretInput represents arguments for secret operations.

type SecretsVaultsSecretConnection

type SecretsVaultsSecretConnection struct {
	Nodes      []Secret
	PageInfo   PageInfo
	TotalCount int `graphql:"-"`
}

type Service

type Service struct {
	ApiDocumentPath string `json:"apiDocumentPath,omitempty"`
	Description     string `json:"description,omitempty"`
	Framework       string `json:"framework,omitempty"`
	HtmlURL         string `json:"htmlUrl"`
	ServiceId
	Language                   string                       `json:"language,omitempty"`
	Lifecycle                  Lifecycle                    `json:"lifecycle,omitempty"`
	Locked                     bool                         `json:"locked" graphql:"locked"`
	ManagedAliases             []string                     `json:"managedAliases,omitempty"`
	Name                       string                       `json:"name,omitempty"`
	Note                       string                       `json:"note,omitempty"`
	Owner                      TeamId                       `json:"owner,omitempty"`
	Parent                     *SystemId                    `json:"parent,omitempty" graphql:"parent"`
	PreferredApiDocument       *ServiceDocument             `json:"preferredApiDocument,omitempty"`
	PreferredApiDocumentSource *ApiDocumentSourceEnum       `json:"preferredApiDocumentSource,omitempty"`
	Product                    string                       `json:"product,omitempty"`
	Repositories               *ServiceRepositoryConnection `json:"repos,omitempty" graphql:"repos"`
	Repository                 *ServiceRepository           `graphql:"defaultServiceRepository" json:"defaultServiceRepository"`
	Tags                       *TagConnection               `json:"tags,omitempty"`
	Tier                       Tier                         `json:"tier,omitempty"`
	Timestamps                 Timestamps                   `json:"timestamps"`
	Tools                      *ToolConnection              `json:"tools,omitempty"`

	Dependencies *ServiceDependenciesConnection `graphql:"-"`
	Dependents   *ServiceDependentsConnection   `graphql:"-"`

	Properties *ServicePropertiesConnection `graphql:"-"`
}

TODO: Lifecycle, TeamId, Tier should probably be pointers.

func (*Service) AliasableType added in v2024.10.28

func (service *Service) AliasableType() AliasOwnerTypeEnum

func (*Service) GetAliases added in v2024.10.28

func (service *Service) GetAliases() []string

func (*Service) GetDependencies

func (service *Service) GetDependencies(client *Client, variables *PayloadVariables) (*ServiceDependenciesConnection, error)

func (*Service) GetDependents

func (service *Service) GetDependents(client *Client, variables *PayloadVariables) (*ServiceDependentsConnection, error)

func (*Service) GetDocuments

func (service *Service) GetDocuments(client *Client, variables *PayloadVariables) (*ServiceDocumentsConnection, error)

func (*Service) GetProperties

func (service *Service) GetProperties(client *Client, variables *PayloadVariables) (*ServicePropertiesConnection, error)

func (*Service) GetRepositories

func (service *Service) GetRepositories(client *Client, variables *PayloadVariables) (*ServiceRepositoryConnection, error)

func (*Service) GetTags

func (service *Service) GetTags(client *Client, variables *PayloadVariables) (*TagConnection, error)

func (*Service) GetTools

func (service *Service) GetTools(client *Client, variables *PayloadVariables) (*ToolConnection, error)

func (*Service) HasAlias

func (service *Service) HasAlias(alias string) bool

func (*Service) HasTag

func (service *Service) HasTag(key string, value string) bool

func (*Service) HasTool

func (service *Service) HasTool(category ToolCategory, name string, environment string) bool

func (*Service) Hydrate

func (service *Service) Hydrate(client *Client) error

func (*Service) ReconcileAliases added in v2024.6.27

func (service *Service) ReconcileAliases(client *Client, aliasesWanted []string) error

func (*Service) ResourceId

func (service *Service) ResourceId() ID

func (*Service) ResourceType

func (service *Service) ResourceType() TaggableResource

func (*Service) UniqueIdentifiers added in v2024.7.2

func (service *Service) UniqueIdentifiers() []string

Returns unique identifiers created by OpsLevel, values in Aliases but not ManagedAliases

type ServiceConnection

type ServiceConnection struct {
	Nodes      []Service
	PageInfo   PageInfo
	TotalCount int
}

type ServiceCreateInput

type ServiceCreateInput struct {
	Parent                *IdentifierInput `json:"parent,omitempty" yaml:"parent,omitempty"`                                               // The parent system for the service. (Optional.)
	Name                  string           `json:"name" yaml:"name" example:"example_name"`                                                // The display name of the service. (Required.)
	Product               *string          `json:"product,omitempty" yaml:"product,omitempty" example:"example_product"`                   // A product is an application that your end user interacts with. Multiple services can work together to power a single product. (Optional.)
	Description           *string          `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"`       // A brief description of the service. (Optional.)
	Language              *string          `json:"language,omitempty" yaml:"language,omitempty" example:"example_language"`                // The primary programming language that the service is written in. (Optional.)
	Framework             *string          `json:"framework,omitempty" yaml:"framework,omitempty" example:"example_framework"`             // The primary software development framework that the service uses. (Optional.)
	TierAlias             *string          `json:"tierAlias,omitempty" yaml:"tierAlias,omitempty" example:"example_alias"`                 // The software tier that the service belongs to. (Optional.)
	OwnerInput            *IdentifierInput `json:"ownerInput,omitempty" yaml:"ownerInput,omitempty"`                                       // The owner for this service. (Optional.)
	LifecycleAlias        *string          `json:"lifecycleAlias,omitempty" yaml:"lifecycleAlias,omitempty" example:"example_alias"`       // The lifecycle stage of the service. (Optional.)
	SkipAliasesValidation *bool            `json:"skipAliasesValidation,omitempty" yaml:"skipAliasesValidation,omitempty" example:"false"` // Allows for the creation of a service with invalid aliases. (Optional.)
}

ServiceCreateInput specifies the input fields used in the `serviceCreate` mutation.

type ServiceDeleteInput

type ServiceDeleteInput struct {
	Id    *ID     `json:"id,omitempty" yaml:"id,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the service to be deleted. (Optional.)
	Alias *string `json:"alias,omitempty" yaml:"alias,omitempty" example:"example_alias"`             // The alias of the service to be deleted. (Optional.)
}

ServiceDeleteInput specifies the input fields used in the `serviceDelete` mutation.

type ServiceDependenciesConnection

type ServiceDependenciesConnection struct {
	Edges    []ServiceDependenciesEdge `graphql:"edges"`
	PageInfo PageInfo
}

type ServiceDependenciesEdge

type ServiceDependenciesEdge struct {
	Id     ID         `graphql:"id"`
	Locked bool       `graphql:"locked"`
	Node   *ServiceId `graphql:"node"`
	Notes  string     `graphql:"notes"`
}

type ServiceDependency

type ServiceDependency struct {
	Id        ID        `graphql:"id"`
	Service   ServiceId `graphql:"sourceService"`
	DependsOn ServiceId `graphql:"destinationService"`
	Notes     string    `graphql:"notes"`
}

type ServiceDependencyCreateInput

type ServiceDependencyCreateInput struct {
	DependencyKey ServiceDependencyKey `json:"dependencyKey" yaml:"dependencyKey" example:"XXX_example_key_XXX"` // A source, destination pair specifying a dependency between services. (Required.)
	Notes         *string              `json:"notes,omitempty" yaml:"notes,omitempty" example:"example_notes"`   // Notes for service dependency. (Optional.)
}

ServiceDependencyCreateInput specifies the input fields used for creating a service dependency.

type ServiceDependencyKey

type ServiceDependencyKey struct {
	SourceIdentifier      *IdentifierInput `json:"sourceIdentifier,omitempty" yaml:"sourceIdentifier,omitempty"`           // The ID or alias identifier of the service with the dependency. (Optional.)
	DestinationIdentifier *IdentifierInput `json:"destinationIdentifier,omitempty" yaml:"destinationIdentifier,omitempty"` // The ID or alias identifier of the service that is depended upon. (Optional.)
}

ServiceDependencyKey represents a source, destination pair specifying a dependency between services.

type ServiceDependentsConnection

type ServiceDependentsConnection struct {
	Edges    []ServiceDependentsEdge `graphql:"edges"`
	PageInfo PageInfo
}

type ServiceDependentsEdge

type ServiceDependentsEdge struct {
	Id     ID         `graphql:"id"`
	Locked bool       `graphql:"locked"`
	Node   *ServiceId `graphql:"node"`
	Notes  string     `graphql:"notes"`
}

type ServiceDocument

type ServiceDocument struct {
	Id         ID                    `graphql:"id" json:"id"`
	HtmlURL    string                `graphql:"htmlUrl" json:"htmUrl,omitempty"`
	Source     ServiceDocumentSource `graphql:"source" json:"source"`
	Timestamps Timestamps            `graphql:"timestamps" json:"timestamps"`
}

type ServiceDocumentContent

type ServiceDocumentContent struct {
	ServiceDocument
	Content string `graphql:"content" json:"content,omitempty"`
}

type ServiceDocumentSource

type ServiceDocumentSource struct {
	IntegrationId     `graphql:"... on ApiDocIntegration"`
	ServiceRepository `graphql:"... on ServiceRepository"`
}

type ServiceDocumentsConnection

type ServiceDocumentsConnection struct {
	Nodes      []ServiceDocument
	PageInfo   PageInfo
	TotalCount int
}

type ServiceId

type ServiceId struct {
	Id      ID       `json:"id"`
	Aliases []string `json:"aliases,omitempty"`
}

type ServiceMaturity

type ServiceMaturity struct {
	Name           string
	MaturityReport MaturityReport
}

type ServiceMaturityConnection added in v2024.3.15

type ServiceMaturityConnection struct {
	Nodes      []ServiceMaturity
	PageInfo   PageInfo
	TotalCount int `graphql:"-"`
}

NOTE: ServiceMaturityConnection is not part of GraphQL API schema

type ServiceNoteUpdateInput

type ServiceNoteUpdateInput struct {
	Service IdentifierInput `json:"service" yaml:"service"`                                      // The identifier for the service. (Required.)
	Note    *string         `json:"note,omitempty" yaml:"note,omitempty" example:"example_note"` // Note about the service. (Optional.)
}

ServiceNoteUpdateInput specifies the input fields used in the `serviceNoteUpdate` mutation.

type ServiceOwnershipCheckFragment

type ServiceOwnershipCheckFragment struct {
	ContactMethod        *ContactType `graphql:"contactMethod"`        // The type of contact method that an owner should provide.
	RequireContactMethod *bool        `graphql:"requireContactMethod"` // Whether to require a contact method for a service owner or not.
	TeamTagKey           string       `graphql:"tagKey"`               // The tag key that should exist for a service owner.
	TeamTagPredicate     *Predicate   `graphql:"tagPredicate"`         // The condition that should be satisfied by the tag value.
}

type ServicePropertiesConnection

type ServicePropertiesConnection struct {
	Nodes      []Property
	PageInfo   PageInfo
	TotalCount int `graphql:"-"`
}

type ServicePropertyCheckFragment

type ServicePropertyCheckFragment struct {
	Property           ServicePropertyTypeEnum `graphql:"serviceProperty"`        // The property of the service that the check will verify.
	PropertyDefinition *PropertyDefinition     `graphql:"propertyDefinition"`     // The definition of a property.
	Predicate          *Predicate              `graphql:"propertyValuePredicate"` // The condition that should be satisfied by the service property value.
}

type ServicePropertyTypeEnum

type ServicePropertyTypeEnum string

ServicePropertyTypeEnum represents properties of services that can be validated.

const (
	ServicePropertyTypeEnumDescription    ServicePropertyTypeEnum = "description"     // The description of a service.
	ServicePropertyTypeEnumName           ServicePropertyTypeEnum = "name"            // The name of a service.
	ServicePropertyTypeEnumLanguage       ServicePropertyTypeEnum = "language"        // The primary programming language of a service.
	ServicePropertyTypeEnumFramework      ServicePropertyTypeEnum = "framework"       // The primary software development framework of a service.
	ServicePropertyTypeEnumProduct        ServicePropertyTypeEnum = "product"         // The product that is associated with a service.
	ServicePropertyTypeEnumLifecycleIndex ServicePropertyTypeEnum = "lifecycle_index" // The index of the lifecycle a service belongs to.
	ServicePropertyTypeEnumTierIndex      ServicePropertyTypeEnum = "tier_index"      // The index of the tier a service belongs to.
	ServicePropertyTypeEnumNote           ServicePropertyTypeEnum = "note"            // Additional information about the service.
	ServicePropertyTypeEnumSystem         ServicePropertyTypeEnum = "system"          // The system that the service belongs to.
	ServicePropertyTypeEnumCustomProperty ServicePropertyTypeEnum = "custom_property" // A custom property that is associated with the service.
)

type ServiceRepository

type ServiceRepository struct {
	BaseDirectory string
	DisplayName   string
	Id            ID
	Repository    RepositoryId
	Service       ServiceId
}

type ServiceRepositoryConnection

type ServiceRepositoryConnection struct {
	Edges      []ServiceRepositoryEdge
	PageInfo   PageInfo
	TotalCount int
}

type ServiceRepositoryCreateInput

type ServiceRepositoryCreateInput struct {
	Service       IdentifierInput `json:"service" yaml:"service"`                                                               // The identifier for the service. (Required.)
	Repository    IdentifierInput `json:"repository" yaml:"repository"`                                                         // The identifier for the repository. (Required.)
	BaseDirectory *string         `json:"baseDirectory,omitempty" yaml:"baseDirectory,omitempty" example:"/home/opslevel.yaml"` // The directory in the repository where service information exists, including the opslevel.yml file. This path is always returned without leading and trailing slashes. (Optional.)
	DisplayName   *string         `json:"displayName,omitempty" yaml:"displayName,omitempty" example:"example_name"`            // The name displayed in the UI for the service repository. (Optional.)
}

ServiceRepositoryCreateInput specifies the input fields used in the `serviceRepositoryCreate` mutation.

type ServiceRepositoryEdge

type ServiceRepositoryEdge struct {
	Node                RepositoryId
	ServiceRepositories []ServiceRepository
}

type ServiceRepositoryUpdateInput

type ServiceRepositoryUpdateInput struct {
	Id            ID      `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                               // The ID of the service repository to be updated. (Required.)
	BaseDirectory *string `json:"baseDirectory,omitempty" yaml:"baseDirectory,omitempty" example:"/home/opslevel.yaml"` // The directory in the repository where service information exists, including the opslevel.yml file. This path is always returned without leading and trailing slashes. (Optional.)
	DisplayName   *string `json:"displayName,omitempty" yaml:"displayName,omitempty" example:"example_name"`            // The name displayed in the UI for the service repository. (Optional.)
}

ServiceRepositoryUpdateInput specifies the input fields used to update a service repository.

type ServiceSortEnum

type ServiceSortEnum string

ServiceSortEnum represents sort possibilities for services.

const (
	ServiceSortEnumNameAsc           ServiceSortEnum = "name_ASC"            // Sort by `name` ascending.
	ServiceSortEnumNameDesc          ServiceSortEnum = "name_DESC"           // Sort by `name` descending.
	ServiceSortEnumProductAsc        ServiceSortEnum = "product_ASC"         // Sort by `product` ascending.
	ServiceSortEnumProductDesc       ServiceSortEnum = "product_DESC"        // Sort by `product` descending.
	ServiceSortEnumTierAsc           ServiceSortEnum = "tier_ASC"            // Sort by `tier` ascending.
	ServiceSortEnumTierDesc          ServiceSortEnum = "tier_DESC"           // Sort by `tier` descending.
	ServiceSortEnumLifecycleAsc      ServiceSortEnum = "lifecycle_ASC"       // Sort by lifecycle ascending.
	ServiceSortEnumLifecycleDesc     ServiceSortEnum = "lifecycle_DESC"      // Sort by lifecycle descending.
	ServiceSortEnumLevelIndexAsc     ServiceSortEnum = "level_index_ASC"     // Sort by level ascending.
	ServiceSortEnumLevelIndexDesc    ServiceSortEnum = "level_index_DESC"    // Sort by level descending.
	ServiceSortEnumOwnerAsc          ServiceSortEnum = "owner_ASC"           // Sort by `owner` ascending.
	ServiceSortEnumOwnerDesc         ServiceSortEnum = "owner_DESC"          // Sort by `owner` descending.
	ServiceSortEnumChecksPassingAsc  ServiceSortEnum = "checks_passing_ASC"  // Sort by `checks_passing` ascending.
	ServiceSortEnumChecksPassingDesc ServiceSortEnum = "checks_passing_DESC" // Sort by `checks_passing` descending.
	ServiceSortEnumServiceStatAsc    ServiceSortEnum = "service_stat_ASC"    // Alias to sort by `checks_passing` ascending.
	ServiceSortEnumServiceStatDesc   ServiceSortEnum = "service_stat_DESC"   // Alias to sort by `checks_passing` descending.
	ServiceSortEnumLastDeployAsc     ServiceSortEnum = "last_deploy_ASC"     // Sort by last deploy time ascending.
	ServiceSortEnumLastDeployDesc    ServiceSortEnum = "last_deploy_DESC"    // Sort by last deploy time descending.
	ServiceSortEnumAlertStatusAsc    ServiceSortEnum = "alert_status_ASC"    // Sort by alert status ascending.
	ServiceSortEnumAlertStatusDesc   ServiceSortEnum = "alert_status_DESC"   // Sort by alert status descending.
)

type ServiceUpdateInput

type ServiceUpdateInput struct {
	Parent                *IdentifierInput `json:"parent,omitempty" yaml:"parent,omitempty"`                                               // The parent system for the service. (Optional.)
	Id                    *ID              `json:"id,omitempty" yaml:"id,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`             // The id of the service to be updated. (Optional.)
	Alias                 *string          `json:"alias,omitempty" yaml:"alias,omitempty" example:"example_alias"`                         // The alias of the service to be updated. (Optional.)
	Name                  *string          `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                            // The display name of the service. (Optional.)
	Product               *string          `json:"product,omitempty" yaml:"product,omitempty" example:"example_product"`                   // A product is an application that your end user interacts with. Multiple services can work together to power a single product. (Optional.)
	Description           *string          `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"`       // A brief description of the service. (Optional.)
	Language              *string          `json:"language,omitempty" yaml:"language,omitempty" example:"example_language"`                // The primary programming language that the service is written in. (Optional.)
	Framework             *string          `json:"framework,omitempty" yaml:"framework,omitempty" example:"example_framework"`             // The primary software development framework that the service uses. (Optional.)
	TierAlias             *string          `json:"tierAlias,omitempty" yaml:"tierAlias,omitempty" example:"example_alias"`                 // The software tier that the service belongs to. (Optional.)
	OwnerInput            *IdentifierInput `json:"ownerInput,omitempty" yaml:"ownerInput,omitempty"`                                       // The owner for the service. (Optional.)
	LifecycleAlias        *string          `json:"lifecycleAlias,omitempty" yaml:"lifecycleAlias,omitempty" example:"example_alias"`       // The lifecycle stage of the service. (Optional.)
	SkipAliasesValidation *bool            `json:"skipAliasesValidation,omitempty" yaml:"skipAliasesValidation,omitempty" example:"false"` // Allows updating a service with invalid aliases. (Optional.)
}

DEPRECATED: use ServiceUpdateInputV2

type ServiceUpdateInputV2 added in v2024.5.13

type ServiceUpdateInputV2 struct {
	Parent                *IdentifierInput  `json:"parent,omitempty" yaml:"parent,omitempty"`                                               // The parent system for the service. (Optional.)
	Id                    *ID               `json:"id,omitempty" yaml:"id,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`             // The id of the service to be updated. (Optional.)
	Alias                 *Nullable[string] `json:"alias,omitempty" yaml:"alias,omitempty" example:"example_alias"`                         // The alias of the service to be updated. (Optional.)
	Name                  *Nullable[string] `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                            // The display name of the service. (Optional.)
	Product               *Nullable[string] `json:"product,omitempty" yaml:"product,omitempty" example:"example_product"`                   // A product is an application that your end user interacts with. Multiple services can work together to power a single product. (Optional.)
	Description           *Nullable[string] `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"`       // A brief description of the service. (Optional.)
	Language              *Nullable[string] `json:"language,omitempty" yaml:"language,omitempty" example:"example_language"`                // The primary programming language that the service is written in. (Optional.)
	Framework             *Nullable[string] `json:"framework,omitempty" yaml:"framework,omitempty" example:"example_framework"`             // The primary software development framework that the service uses. (Optional.)
	TierAlias             *Nullable[string] `json:"tierAlias,omitempty" yaml:"tierAlias,omitempty" example:"example_alias"`                 // The software tier that the service belongs to. (Optional.)
	OwnerInput            *IdentifierInput  `json:"ownerInput,omitempty" yaml:"ownerInput,omitempty"`                                       // The owner for the service. (Optional.)
	LifecycleAlias        *Nullable[string] `json:"lifecycleAlias,omitempty" yaml:"lifecycleAlias,omitempty" example:"example_alias"`       // The lifecycle stage of the service. (Optional.)
	SkipAliasesValidation *bool             `json:"skipAliasesValidation,omitempty" yaml:"skipAliasesValidation,omitempty" example:"false"` // Allows updating a service with invalid aliases. (Optional.)
}

ServiceUpdateInputV2 enables setting string fields like Description, Framework, LifecycleAlias, TierAlias to `null`

func ConvertServiceUpdateInput added in v2024.10.11

func ConvertServiceUpdateInput(input ServiceUpdateInput) ServiceUpdateInputV2

func (ServiceUpdateInputV2) GetGraphQLType added in v2024.5.13

func (inputType ServiceUpdateInputV2) GetGraphQLType() string

type ServiceUpdater added in v2024.5.13

type ServiceUpdater interface {
	// contains filtered or unexported methods
}

ServiceUpdater exists for backwards compatability between ServiceUpdateInput and ServiceUpdateInputV2

type System

type System struct {
	SystemId
	ManagedAliases []string    `graphql:"managedAliases"`
	Name           string      `graphql:"name"`
	Description    string      `graphql:"description"`
	HTMLUrl        string      `graphql:"htmlUrl"`
	Owner          EntityOwner `graphql:"owner"`
	Parent         Domain      `graphql:"parent"`
	Note           string      `graphql:"note"`
}

func (*System) UniqueIdentifiers added in v2024.8.16

func (system *System) UniqueIdentifiers() []string

Returns unique identifiers created by OpsLevel, values in Aliases but not ManagedAliases

type SystemConnection

type SystemConnection struct {
	Nodes      []System `json:"nodes"`
	PageInfo   PageInfo `json:"pageInfo"`
	TotalCount int      `json:"totalCount" graphql:"-"`
}

type SystemId

type SystemId Identifier

func (*SystemId) AliasableType added in v2024.10.28

func (systemId *SystemId) AliasableType() AliasOwnerTypeEnum

func (*SystemId) AssignService

func (systemId *SystemId) AssignService(client *Client, services ...string) error

func (*SystemId) ChildServices

func (systemId *SystemId) ChildServices(client *Client, variables *PayloadVariables) (*ServiceConnection, error)

func (*SystemId) GetAliases added in v2024.10.28

func (systemId *SystemId) GetAliases() []string

func (*SystemId) GetTags

func (systemId *SystemId) GetTags(client *Client, variables *PayloadVariables) (*TagConnection, error)

func (*SystemId) ReconcileAliases added in v2024.6.27

func (system *SystemId) ReconcileAliases(client *Client, aliasesWanted []string) error

func (*SystemId) ResourceId

func (systemId *SystemId) ResourceId() ID

func (*SystemId) ResourceType

func (systemId *SystemId) ResourceType() TaggableResource

type SystemInput

type SystemInput struct {
	Name        *string          `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                          // The name for the system. (Optional.)
	Description *string          `json:"description,omitempty" yaml:"description,omitempty" example:"example_description"`     // The description for the system. (Optional.)
	OwnerId     *ID              `json:"ownerId,omitempty" yaml:"ownerId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the owner for the system. (Optional.)
	Parent      *IdentifierInput `json:"parent,omitempty" yaml:"parent,omitempty"`                                             // The parent domain for the system. (Optional.)
	Note        *string          `json:"note,omitempty" yaml:"note,omitempty" example:"example_note"`                          // Additional information about the system. (Optional.)
}

SystemInput specifies the input fields for a system.

type Tag

type Tag struct {
	Id    ID     `json:"id"`
	Key   string `json:"key"`
	Value string `json:"value"`
}

func (Tag) Flatten added in v2024.6.27

func (t Tag) Flatten() string

func (Tag) HasSameKeyValue added in v2024.6.27

func (t Tag) HasSameKeyValue(otherTag Tag) bool

type TagArgs

type TagArgs struct {
	Key   *string `json:"key,omitempty" yaml:"key,omitempty" example:"XXX_example_key_XXX"` // The key of a tag. (Optional.)
	Value *string `json:"value,omitempty" yaml:"value,omitempty" example:"example_value"`   // The value of a tag. (Optional.)
}

TagArgs represents arguments used to query with a certain tag.

func NewTagArgs

func NewTagArgs(tag string) (TagArgs, error)

type TagAssignInput

type TagAssignInput struct {
	Id    *ID               `json:"id,omitempty" yaml:"id,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the resource that the tags will be assigned to. (Optional.)
	Alias *string           `json:"alias,omitempty" yaml:"alias,omitempty" example:"example_alias"`             // The alias of the resource that tags will be added to. (Optional.)
	Type  *TaggableResource `json:"type,omitempty" yaml:"type,omitempty" example:"example_type"`                // The type of resource `alias` refers to, if `alias` is provided. (Optional.)
	Tags  []TagInput        `json:"tags" yaml:"tags" example:"[]"`                                              // The desired tags to assign to the resource. (Required.)
}

TagAssignInput specifies the input fields used to assign tags.

type TagConnection

type TagConnection struct {
	Nodes      []Tag
	PageInfo   PageInfo
	TotalCount int
}

func (*TagConnection) GetTagById

func (tagConnection *TagConnection) GetTagById(tagId ID) (*Tag, error)

type TagCreateInput

type TagCreateInput struct {
	Id    *ID               `json:"id,omitempty" yaml:"id,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the resource that this tag will be added to. (Optional.)
	Alias *string           `json:"alias,omitempty" yaml:"alias,omitempty" example:"example_alias"`             // The alias of the resource that this tag will be added to. (Optional.)
	Type  *TaggableResource `json:"type,omitempty" yaml:"type,omitempty" example:"example_type"`                // The type of resource `alias` refers to, if `alias` is provided. (Optional.)
	Key   string            `json:"key" yaml:"key" example:"XXX_example_key_XXX"`                               // The tag's key. (Required.)
	Value string            `json:"value" yaml:"value" example:"example_value"`                                 // The tag's value. (Required.)
}

TagCreateInput specifies the input fields used to create a tag.

type TagDefinedCheckFragment

type TagDefinedCheckFragment struct {
	TagKey       string     `graphql:"tagKey"`       // The tag key where the tag predicate should be applied.
	TagPredicate *Predicate `graphql:"tagPredicate"` // The condition that should be satisfied by the tag value.
}

type TagDeleteInput

type TagDeleteInput struct {
	Id ID `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the tag to be deleted. (Required.)
}

TagDeleteInput specifies the input fields used to delete a tag.

type TagInput

type TagInput struct {
	Key   string `json:"key" yaml:"key" example:"XXX_example_key_XXX"` // The tag's key. (Required.)
	Value string `json:"value" yaml:"value" example:"example_value"`   // The tag's value. (Required.)
}

TagInput specifies the basic input fields used to construct a tag.

type TagOwner

type TagOwner string
const (
	TagOwnerService    TagOwner = "Service"
	TagOwnerRepository TagOwner = "Repository"
)

type TagUpdateInput

type TagUpdateInput struct {
	Id    ID      `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`           // The id of the tag to be updated. (Required.)
	Key   *string `json:"key,omitempty" yaml:"key,omitempty" example:"XXX_example_key_XXX"` // The tag's key. (Optional.)
	Value *string `json:"value,omitempty" yaml:"value,omitempty" example:"example_value"`   // The tag's value. (Optional.)
}

TagUpdateInput specifies the input fields used to update a tag.

type TaggableResource

type TaggableResource string

TaggableResource represents possible types to apply tags to.

const (
	TaggableResourceService                TaggableResource = "Service"                // Used to identify a Service.
	TaggableResourceRepository             TaggableResource = "Repository"             // Used to identify a Repository.
	TaggableResourceTeam                   TaggableResource = "Team"                   // Used to identify a Team.
	TaggableResourceUser                   TaggableResource = "User"                   // Used to identify a User.
	TaggableResourceDomain                 TaggableResource = "Domain"                 // Used to identify a Domain.
	TaggableResourceSystem                 TaggableResource = "System"                 // Used to identify a System.
	TaggableResourceInfrastructureresource TaggableResource = "InfrastructureResource" // Used to identify an Infrastructure Resource.
)

type TaggableResourceInterface

type TaggableResourceInterface interface {
	GetTags(*Client, *PayloadVariables) (*TagConnection, error)
	ResourceId() ID
	ResourceType() TaggableResource
}

type Team

type Team struct {
	TeamId

	Aliases        []string `graphql:"aliases" json:"aliases" yaml:"aliases"`
	ManagedAliases []string `graphql:"managedAliases" json:"managedAliases" yaml:"managedAliases"`
	Contacts       []Contact

	HTMLUrl          string
	Manager          User
	Memberships      *TeamMembershipConnection
	Name             string
	ParentTeam       TeamId
	Responsibilities string
	Tags             *TagConnection
}

func (*Team) AliasableType added in v2024.10.28

func (team *Team) AliasableType() AliasOwnerTypeEnum

func (*Team) GetAliases added in v2024.10.28

func (team *Team) GetAliases() []string

func (*Team) GetMemberships

func (team *Team) GetMemberships(client *Client, variables *PayloadVariables) (*TeamMembershipConnection, error)

func (*Team) GetTags

func (team *Team) GetTags(client *Client, variables *PayloadVariables) (*TagConnection, error)

func (*Team) HasTag

func (team *Team) HasTag(key string, value string) bool

func (*Team) Hydrate

func (team *Team) Hydrate(client *Client) error

func (*Team) ReconcileAliases added in v2024.6.27

func (team *Team) ReconcileAliases(client *Client, aliasesWanted []string) error

func (*Team) ResourceId

func (team *Team) ResourceId() ID

func (*Team) ResourceType

func (team *Team) ResourceType() TaggableResource

func (*Team) UniqueIdentifiers added in v2024.7.2

func (team *Team) UniqueIdentifiers() []string

Returns unique identifiers created by OpsLevel, values in Aliases but not ManagedAliases

type TeamConnection

type TeamConnection struct {
	Nodes      []Team
	PageInfo   PageInfo
	TotalCount int
}

type TeamCreateInput

type TeamCreateInput struct {
	Responsibilities *string                    `json:"responsibilities,omitempty" yaml:"responsibilities,omitempty" example:"example description of responsibilities"` // A description of what the team is responsible for. (Optional.)
	Group            *IdentifierInput           `json:"group,omitempty" yaml:"group,omitempty"`                                                                         // The group this team belongs to. (Optional.)
	Members          *[]TeamMembershipUserInput `json:"members,omitempty" yaml:"members,omitempty" example:"[]"`                                                        // A set of emails that identify users in OpsLevel. (Optional.)
	ParentTeam       *IdentifierInput           `json:"parentTeam,omitempty" yaml:"parentTeam,omitempty"`                                                               // The parent team. (Optional.)
	Name             string                     `json:"name" yaml:"name" example:"example_name"`                                                                        // The team's display name. (Required.)
	Contacts         *[]ContactInput            `json:"contacts,omitempty" yaml:"contacts,omitempty" example:"[]"`                                                      // The contacts for the team. (Optional.)
}

TeamCreateInput specifies the input fields used to create a team.

type TeamDeleteInput

type TeamDeleteInput struct {
	Id    *ID     `json:"id,omitempty" yaml:"id,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the team to be deleted. (Optional.)
	Alias *string `json:"alias,omitempty" yaml:"alias,omitempty" example:"example_alias"`             // The alias of the team to be deleted. (Optional.)
}

TeamDeleteInput specifies the input fields used to delete a team.

type TeamId

type TeamId struct {
	Alias string
	Id    ID
}

type TeamIdConnection

type TeamIdConnection struct {
	Nodes      []TeamId
	PageInfo   PageInfo
	TotalCount int
}

TeamIdConnection exists to prevent circular references on User because Team has a UserConnection

type TeamMembership

type TeamMembership struct {
	Role string `graphql:"role"`
	Team TeamId `graphql:"team"`
	User UserId `graphql:"user"`
}

type TeamMembershipConnection

type TeamMembershipConnection struct {
	Nodes      []TeamMembership
	PageInfo   PageInfo
	TotalCount int
}

type TeamMembershipCreateInput

type TeamMembershipCreateInput struct {
	TeamId  ID                        `json:"teamId" yaml:"teamId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The ID of the team to add members. (Required.)
	Members []TeamMembershipUserInput `json:"members" yaml:"members" example:"[]"`                            // A set of emails that identify users in OpsLevel. (Required.)
}

TeamMembershipCreateInput represents input for adding members to a team.

type TeamMembershipDeleteInput

type TeamMembershipDeleteInput struct {
	TeamId  ID                        `json:"teamId" yaml:"teamId" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The ID of the team to remove members from. (Required.)
	Members []TeamMembershipUserInput `json:"members" yaml:"members" example:"[]"`                            // A set of emails that identify users in OpsLevel. (Required.)
}

TeamMembershipDeleteInput represents input for removing members from a team.

type TeamMembershipUserInput

type TeamMembershipUserInput struct {
	User *UserIdentifierInput `json:"user,omitempty" yaml:"user,omitempty"`                        // The email address or ID of the user to add to a team. (Optional.)
	Role *string              `json:"role,omitempty" yaml:"role,omitempty" example:"example_role"` // The type of relationship this membership implies. (Optional.)
}

TeamMembershipUserInput represents input for specifying members on a team.

type TeamUpdateInput

type TeamUpdateInput struct {
	Responsibilities *string                    `json:"responsibilities,omitempty" yaml:"responsibilities,omitempty" example:"example description of responsibilities"` // A description of what the team is responsible for. (Optional.)
	Group            *IdentifierInput           `json:"group,omitempty" yaml:"group,omitempty"`                                                                         // The group this team belongs to. (Optional.)
	Members          *[]TeamMembershipUserInput `json:"members,omitempty" yaml:"members,omitempty" example:"[]"`                                                        // A set of emails that identify users in OpsLevel. (Optional.)
	ParentTeam       *IdentifierInput           `json:"parentTeam,omitempty" yaml:"parentTeam,omitempty"`                                                               // The parent team. (Optional.)
	Id               *ID                        `json:"id,omitempty" yaml:"id,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                     // The id of the team to be updated. (Optional.)
	Alias            *string                    `json:"alias,omitempty" yaml:"alias,omitempty" example:"example_alias"`                                                 // The alias of the team to be updated. (Optional.)
	Name             *string                    `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                                                    // The team's display name. (Optional.)
}

TeamUpdateInput specifies the input fields used to update a team.

type Tier

type Tier struct {
	Alias       string
	Description string
	Id          ID
	Index       int
	Name        string
}

type Timestamps

type Timestamps struct {
	CreatedAt iso8601.Time `json:"createdAt"`
	UpdatedAt iso8601.Time `json:"updatedAt"`
}

type Tool

type Tool struct {
	Category      ToolCategory
	CategoryAlias string `json:",omitempty"`
	DisplayName   string
	Environment   string `json:",omitempty"`
	Id            ID     `json:",omitempty"`
	Url           string
	Service       ServiceId
}

type ToolCategory

type ToolCategory string

ToolCategory represents the specific categories that a tool can belong to.

const (
	ToolCategoryAdmin                 ToolCategory = "admin"                  // Tools used for administrative purposes.
	ToolCategoryAPIDocumentation      ToolCategory = "api_documentation"      // Tools used as API documentation for this service.
	ToolCategoryArchitectureDiagram   ToolCategory = "architecture_diagram"   // Tools used for diagramming architecture.
	ToolCategoryBacklog               ToolCategory = "backlog"                // Tools used for tracking issues.
	ToolCategoryCode                  ToolCategory = "code"                   // Tools used for source code.
	ToolCategoryContinuousIntegration ToolCategory = "continuous_integration" // Tools used for building/unit testing a service.
	ToolCategoryDeployment            ToolCategory = "deployment"             // Tools used for deploying changes to a service.
	ToolCategoryDesignDocumentation   ToolCategory = "design_documentation"   // Tools used for documenting design.
	ToolCategoryErrors                ToolCategory = "errors"                 // Tools used for tracking/reporting errors.
	ToolCategoryFeatureFlag           ToolCategory = "feature_flag"           // Tools used for managing feature flags.
	ToolCategoryHealthChecks          ToolCategory = "health_checks"          // Tools used for tracking/reporting the health of a service.
	ToolCategoryIncidents             ToolCategory = "incidents"              // Tools used to surface incidents on a service.
	ToolCategoryIssueTracking         ToolCategory = "issue_tracking"         // Tools used for tracking issues.
	ToolCategoryLogs                  ToolCategory = "logs"                   // Tools used for displaying logs from services.
	ToolCategoryMetrics               ToolCategory = "metrics"                // Tools used for tracking/reporting service metrics.
	ToolCategoryObservability         ToolCategory = "observability"          // Tools used for observability.
	ToolCategoryOrchestrator          ToolCategory = "orchestrator"           // Tools used for orchestrating a service.
	ToolCategoryOther                 ToolCategory = "other"                  // Tools that do not fit into the available categories.
	ToolCategoryResiliency            ToolCategory = "resiliency"             // Tools used for testing the resiliency of a service.
	ToolCategoryRunbooks              ToolCategory = "runbooks"               // Tools used for managing runbooks for a service.
	ToolCategorySecurityScans         ToolCategory = "security_scans"         // Tools used for performing security scans.
	ToolCategoryStatusPage            ToolCategory = "status_page"            // Tools used for reporting the status of a service.
	ToolCategoryWiki                  ToolCategory = "wiki"                   // Tools used as a wiki for this service.
)

type ToolConnection

type ToolConnection struct {
	Nodes      []Tool
	PageInfo   PageInfo
	TotalCount int
}

type ToolCreateInput

type ToolCreateInput struct {
	Category     ToolCategory `json:"category" yaml:"category" example:"api_documentation"`                                          // The category that the tool belongs to. (Required.)
	DisplayName  string       `json:"displayName" yaml:"displayName" example:"example_name"`                                         // The display name of the tool. (Required.)
	Url          string       `json:"url" yaml:"url" example:"john.doe@example.com"`                                                 // The URL of the tool. (Required.)
	Environment  *string      `json:"environment,omitempty" yaml:"environment,omitempty" example:"environment that tool belongs to"` // The environment that the tool belongs to. (Optional.)
	ServiceId    *ID          `json:"serviceId,omitempty" yaml:"serviceId,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`      // The id of the service the tool will be assigned to. (Optional.)
	ServiceAlias *string      `json:"serviceAlias,omitempty" yaml:"serviceAlias,omitempty" example:"example_alias"`                  // The alias of the service the tool will be assigned to. (Optional.)
}

ToolCreateInput specifies the input fields used to create a tool.

type ToolDeleteInput

type ToolDeleteInput struct {
	Id ID `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The id of the tool to be deleted. (Required.)
}

ToolDeleteInput specifies the input fields used to delete a tool.

type ToolUpdateInput

type ToolUpdateInput struct {
	Id          ID            `json:"id" yaml:"id" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"`                                        // The id of the tool to be updated. (Required.)
	Category    *ToolCategory `json:"category,omitempty" yaml:"category,omitempty" example:"api_documentation"`                      // The category that the tool belongs to. (Optional.)
	DisplayName *string       `json:"displayName,omitempty" yaml:"displayName,omitempty" example:"example_name"`                     // The display name of the tool. (Optional.)
	Url         *string       `json:"url,omitempty" yaml:"url,omitempty" example:"john.doe@example.com"`                             // The URL of the tool. (Optional.)
	Environment *string       `json:"environment,omitempty" yaml:"environment,omitempty" example:"environment that tool belongs to"` // The environment that the tool belongs to. (Optional.)
}

ToolUpdateInput specifies the input fields used to update a tool.

type ToolUsageCheckFragment

type ToolUsageCheckFragment struct {
	EnvironmentPredicate *Predicate   `graphql:"environmentPredicate"` // The condition that the environment should satisfy to be evaluated.
	ToolCategory         ToolCategory `graphql:"toolCategory"`         // The category that the tool belongs to.
	ToolNamePredicate    *Predicate   `graphql:"toolNamePredicate"`    // The condition that the tool name should satisfy to be evaluated.
	ToolUrlPredicate     *Predicate   `graphql:"toolUrlPredicate"`     // The condition that the tool url should satisfy to be evaluated.
}

type User

type User struct {
	UserId
	HTMLUrl string
	Name    string
	Role    UserRole
}

func (*User) ResourceId

func (user *User) ResourceId() ID

func (*User) ResourceType

func (user *User) ResourceType() TaggableResource

func (*User) Teams

func (user *User) Teams(client *Client, variables *PayloadVariables) (*TeamIdConnection, error)

type UserConnection

type UserConnection struct {
	Nodes      []User
	PageInfo   PageInfo
	TotalCount int
}

type UserId

type UserId struct {
	Id    ID
	Email string
}

func (*UserId) GetTags

func (userId *UserId) GetTags(client *Client, variables *PayloadVariables) (*TagConnection, error)

type UserIdentifierInput

type UserIdentifierInput struct {
	Id    *ID     `json:"id,omitempty" yaml:"id,omitempty" example:"Z2lkOi8vc2VydmljZS8xMjM0NTY3ODk"` // The ID of the user. (Optional.)
	Email *string `json:"email,omitempty" yaml:"email,omitempty" example:"first.last@domain.com"`     // The email address of the user. (Optional.)
}

UserIdentifierInput specifies the input fields used to identify a user. Exactly one field should be provided.

func NewUserIdentifier

func NewUserIdentifier(value string) *UserIdentifierInput

type UserInput

type UserInput struct {
	Name             *string   `json:"name,omitempty" yaml:"name,omitempty" example:"example_name"`                  // The name of the user. (Optional.)
	Role             *UserRole `json:"role,omitempty" yaml:"role,omitempty" example:"admin"`                         // The access role (e.g. user vs admin) of the user. (Optional.)
	SkipWelcomeEmail *bool     `json:"skipWelcomeEmail,omitempty" yaml:"skipWelcomeEmail,omitempty" example:"false"` // Don't send an email welcoming the user to OpsLevel. (Optional.)
}

UserInput specifies the input fields used to create and update a user.

type UserRole

type UserRole string

UserRole represents a role that can be assigned to a user.

const (
	UserRoleUser           UserRole = "user"            // A regular user on the account.
	UserRoleAdmin          UserRole = "admin"           // An administrator on the account.
	UserRoleTeamMember     UserRole = "team_member"     // Read access to all resources. Write access based on team membership.
	UserRoleStandardsAdmin UserRole = "standards_admin" // Full write access to Standards resources, including rubric, campaigns, and checks. User-level access to all other entities.
)

type UsersFilterEnum

type UsersFilterEnum string

UsersFilterEnum represents fields that can be used as part of filter for users.

const (
	UsersFilterEnumName          UsersFilterEnum = "name"            // Filter by `name` field.
	UsersFilterEnumEmail         UsersFilterEnum = "email"           // Filter by `email` field.
	UsersFilterEnumRole          UsersFilterEnum = "role"            // Filter by `role` field. (user or admin).
	UsersFilterEnumTag           UsersFilterEnum = "tag"             // Filter by `tags` belonging to user.
	UsersFilterEnumDeactivatedAt UsersFilterEnum = "deactivated_at"  // Filter by the `deactivated_at` field.
	UsersFilterEnumLastSignInAt  UsersFilterEnum = "last_sign_in_at" // Filter by the `last_sign_in_at` field.
)

type UsersFilterInput

type UsersFilterInput struct {
	Key  UsersFilterEnum `json:"key" yaml:"key" example:"last_sign_in_at"`                      // Field to be filtered. (Required.)
	Arg  *string         `json:"arg,omitempty" yaml:"arg,omitempty" example:"example_arg"`      // Value to be filtered. (Optional.)
	Type *BasicTypeEnum  `json:"type,omitempty" yaml:"type,omitempty" example:"does_not_equal"` // The operation applied to value on the field. (Optional.)
}

UsersFilterInput represents the input for filtering users.

type VaultSecretsSortEnum

type VaultSecretsSortEnum string

VaultSecretsSortEnum represents sort possibilities for secrets.

const (
	VaultSecretsSortEnumSlugAsc       VaultSecretsSortEnum = "slug_ASC"        // Sort by slug ascending.
	VaultSecretsSortEnumSlugDesc      VaultSecretsSortEnum = "slug_DESC"       // Sort by slug descending.
	VaultSecretsSortEnumUpdatedAtAsc  VaultSecretsSortEnum = "updated_at_ASC"  // Sort by updated_at ascending.
	VaultSecretsSortEnumUpdatedAtDesc VaultSecretsSortEnum = "updated_at_DESC" // Sort by updated_at descending.
)

Jump to

Keyboard shortcuts

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