import { AlertEventStatus, AlertPriority, AttachCompassComponentDataManagerInput, CompassApplicationManagedComponentsQuery, CompassBuildEventPipelineInput, CompassBuildEventState, CompassChangeMetadata, CompassComponentLabel, CompassComponentType, CompassComponentTypeObject, CompassCreatePullRequestStatus, CompassCustomBooleanField, CompassCustomEventIcon, CompassCustomFieldDefinition, CompassCustomMultiSelectField, CompassCustomNumberField, CompassCustomSingleSelectField, CompassCustomTextField, CompassCustomUserField, CompassDeploymentEventEnvironmentInput, CompassDeploymentEventPipelineInput, CompassDeploymentEventState, CompassEventType, CompassEventsInEventSourceQuery, CompassExternalAlias, CompassExternalAliasInput, CompassIncidentEventSeverityInput, CompassIncidentEventState, CompassLifecycleEventStage, CompassLink, CompassMetricDefinition, CompassMetricSource, CompassPushEventAuthorInput, CompassRelationship, CompassRelationshipType, CompassSearchComponentQuery, CompassVulnerabilityEventSeverityLevel, CompassVulnerabilityEventState, CreateEventSourceInput, EventSource, InputMaybe, Maybe, PageInfo, Scalars, UpdateCompassComponentDataManagerMetadataInput, } from './graphql-types'; /** Options for what to include in individual component results */ interface GetOptions { /** Include event sources in the results */ includeEventSources?: boolean; /** Include links in the results */ includeLinks?: boolean; /** Include metric sources in the results */ includeMetricSources?: boolean; /** Include custom fields in the result */ includeCustomFields?: boolean; /** Include metric sources values in the results */ includeMetricSourceValues?: boolean; /** Include custom field options in the results */ includeCustomFieldOptions?: boolean; } /** Options for what to include in search components results */ interface SearchComponentsOptions extends GetOptions { /** Include external aliases in the results */ includeExternalAliases?: boolean; } interface GetAllComponentTypesInput { /** The cloud ID of the site to query for component types on. */ cloudId: string; } interface GetApplicationManagedComponentsInput { /** The query to find components */ query: CompassApplicationManagedComponentsQuery; } interface GetComponentInput { /** Component id of component to retrieve */ componentId: string; /** Options for what to include in search results */ options?: GetOptions; } interface GetMetricDefinitionsOptions { /** Include metric sources in the results */ includeMetricSources?: boolean; } interface GetMetricDefinitionsInput { /** The cloud ID of the site to query for metric definitions on. */ cloudId: Scalars['ID']; /** Returns results after the specified cursor. */ after?: InputMaybe; /** The number of results to return in the query. The default is 10. */ first?: InputMaybe; /** Options for what to include in search results */ options?: GetMetricDefinitionsOptions; } interface SearchComponentsInput { /** Cloud id of Compass site that the Component exists on */ cloudId: string; /** The query to find components */ query?: CompassSearchComponentQuery; /** Options for what to include in search results. */ options?: SearchComponentsOptions; } interface GetComponentByExternalAliasInput { /** Cloud id of Compass site that the Component exists on */ cloudId: string; /** The external system hosting the component */ externalSource: string; /** The ID of the component in an external system */ externalId: string; /** Options for what to include in search results */ options?: GetOptions; } interface AddEventSourceInput { /** Component id that created event source will be attached to */ componentId: string; /** Event source to create */ eventSource: CreateEventSourceInput; } interface UpdateEventSourcesInput { componentId: string; oldEventSources: Array; newEventSources: Array; } interface UpdateComponentTypeInput { componentId: string; typeId?: string; type?: string; } type CreateLinkInput = Pick; type Link = Pick; interface Relationship { /** The end node of relationship. */ nodeId: string; /** The type of relationship. */ type: CompassRelationshipType; } type DataManagerInput = Pick< AttachCompassComponentDataManagerInput, 'externalSourceURL' >; interface ComponentTypePayload { /** Component Types returned by a request */ componentTypes: CompassComponentTypeObject[]; } enum CustomFieldType { TEXT = 'text', NUMBER = 'number', BOOLEAN = 'boolean', USER = 'user', SINGLE_SELECT = 'single_select', MULTI_SELECT = 'multi_select', } type CustomFieldValue = | string | number | boolean /** For a list of option UUID strings. */ | string[]; interface CustomFieldFromYAML { name: string; type: CustomFieldType; value?: CustomFieldValue; displayValue?: string | string[] | null; } type CustomField = | CompassCustomTextField | CompassCustomNumberField | CompassCustomBooleanField | CompassCustomUserField | CompassCustomSingleSelectField | CompassCustomMultiSelectField; type CustomFields = Array; interface Component { /** The unique identifier (ID) of the component. */ id: string; /** The name of the component. */ name: string; /** The unique slug of the component. */ slug?: string; /** The unique identifier for the type of the Component. */ typeId: string; /** The type of the component. */ type: CompassComponentType; /** The description of the component. */ description?: string; /** A collection of fields for storing data about the component. Where the key is the name in the field definition * and the value is the CompassFieldValueInput. */ fields?: Record; /** The unique identifier (ID) of the team that owns the component. */ ownerId?: string; /** A collection of links to other entities on the internet. */ links?: Array; /** A collection of relationships between the component and other entities in Compass. */ relationships?: Array; /** A collection of labels that provide additional contextual information about the component. */ labels?: Array; /** Metadata about who created the component and when. */ changeMetadata: CompassChangeMetadata; /** The external integration that manages data for this component. */ dataManager?: | DataManagerInput | UpdateCompassComponentDataManagerMetadataInput; /** The event sources associated to the component. */ eventSources?: Array; /** A collection of aliases that represent the component in external systems. */ externalAliases?: Array; /** The metric source associated to the component. */ metricSources?: Array; customFields?: CustomFields; } interface CustomBooleanField { definitionId: string; value: boolean; type: 'boolean'; } interface CustomTextField { definitionId: string; value: string; type: 'text'; } interface CustomNumberField { definitionId: string; value: number; type: 'number'; } interface CustomUserField { definitionId: string; value: string; type: 'user'; } interface CustomSingleSelectField { definitionId: string; value: string; type: 'single_select'; } interface CustomMultiSelectField { definitionId: string; value: string[]; type: 'multi_select'; } export type CustomFieldInput = | CustomBooleanField | CustomTextField | CustomNumberField | CustomUserField | CustomSingleSelectField | CustomMultiSelectField; interface BaseComponentInput { /** The name of the component. */ name?: string; /** The description of the component. */ description?: string; /** The unique slug of the component. */ slug?: string; /** A collection of fields for storing data about the component. Where the key is the name in the field definition * and the value is the CompassFieldValueInput. */ fields?: Record>; customFields?: CustomFieldInput[]; /** The unique identifier (ID) of the team that owns the component. */ ownerId?: string; /** A collection of links to other entities on the internet. */ links?: Array; /** A collection of relationships between the component and other entities in Compass. */ relationships?: Array; /** A collection of labels that provide additional contextual information about the component. */ labels?: Array; /** The external integration that manages data for this component. */ dataManager?: DataManagerInput; /** The event sources associated to the component. */ externalAlias?: CompassExternalAliasInput; typeId?: string; } interface GqlErrorExtensions { /** Application layer in which the error occurred. */ errorSource: string; /** Application specific error type. */ errorType?: string; /** Application specific error classification. */ classification: string; } /** Error stemming from Graphql Gateway schema. */ interface GqlError { /** A human readable error message. */ message: string; extensions?: GqlErrorExtensions; } interface MutationErrorExtensions { /** Application layer in which the error occurred. */ statusCode: number; /** Application specific error type. */ errorType: string; } /** Error that gets returned from requests. */ interface SdkError { /** A human readable error message. */ message: string; /** A numerical code (such as a HTTP status code) representing the error category */ statusCode?: number; /** Application specific error type. */ errorType?: string; /** Application layer in which the error occurred. */ errorSource?: string; } export enum InvocationStatusCode { OK = 200, BAD_REQUEST = 400, UNAUTHORIZED = 401, FORBIDDEN = 403, NOT_FOUND = 404, REQUEST_TIMEOUT = 408, TOO_MANY_REQUESTS = 429, INTERNAL_SERVER_ERROR = 500, } type ForgeInvocationErrorOptions = { backoffTimeInSeconds: number; }; /** Error steming from a Forge inocation */ interface ForgeInvocationError { error: string; statusCode: InvocationStatusCode; options: ForgeInvocationErrorOptions; } interface SyncComponentByExternalAliasInputOptions { /** When true, if a component is not found by the external alias, create a new component. When false, if a component is * not found by external alias, return an error message. Defaults to true. */ createComponentIfNotFound: boolean; } interface SyncComponentByExternalAliasInput extends BaseComponentInput { /** Id of the Compass site to search for the component/create the component on if it does not already exist. */ cloudId: string; /** External alias to search for the component by. */ externalAlias: CompassExternalAliasInput; /** The name to apply to the component. */ name: string; /** The type to apply to the component. */ type?: CompassComponentType; /** The collection of links to sync on the component. If a given link does not exist on the component, it gets created. If * a link exists in Compass but not in the collection defined here, the link on Compass gets deleted. If an empty list * or null is supplied, the existing links on the Compass component are removed. If this value is left undefined, * no action is taken on the existing collection of links on the Compass component. */ links?: Array; /** The collection of event sources to sync on the component. If a given event source does not exist on the component, * it gets created. If an event source exists in Compass but not in the collection defined here, the event source on Compass gets deleted. * If an empty list or null is supplied, the existing event sources on the Compass component are removed. If this value is left undefined, * no action is taken on the existing collection of event sources on the Compass component. */ eventSources?: Array; /** Options for how to handle sync behavior. */ options?: SyncComponentByExternalAliasInputOptions; } interface UpdatedFromFileMetadata { /** The action being performed */ action?: string; /** The subject of the action */ actionSubject?: string; /** The ID of the subject */ actionSubjectId?: string; /** The source of the update */ source?: string; /** Whether the name field was updated */ name?: string; /** Whether the description field was updated */ description?: string; /** Whether the ownerId field was updated */ ownerId?: string; /** Whether the fields were updated */ fields?: string; /** Whether the customFields were updated */ customFields?: string; /** Whether the dataManager was updated */ dataManager?: string; /** Whether the links were updated */ links?: string; /** Whether the relationships were updated */ relationships?: string; /** Whether the labels were updated */ labels?: string; /** Whether the typeId was updated */ typeId?: string; } interface CreateComponentOptions { /** Source of the created file used in analytics */ createdFromFile?: boolean; } interface UpdateComponentOptions { /** Metadata about the update from file used in analytics */ updatedFromFile?: UpdatedFromFileMetadata; } export enum ComponentState { ACTIVE = 'ACTIVE', PENDING = 'PENDING', } interface CreateComponentInput extends BaseComponentInput { /** Id of the Compass site to create the component on. */ cloudId: string; /** The name of the component. */ name: string; /** The state of the component */ state?: ComponentState; /** The type of the component. */ type?: CompassComponentType; /** Options for how to create the component */ options?: CreateComponentOptions; } interface UpdateComponentInput extends BaseComponentInput { /** The ID of the component being updated. */ id: string; /** The existing component to be updated. This saves one call to getComponent. */ currentComponent?: Component; /** The updated collection of links to assign to the component. */ links?: Array; /** The updated collection of eventSources to assign to the component. */ eventSources?: Array; /** Options for how to update the component */ options?: UpdateComponentOptions; } interface EventSourcesPayload { /** Collection of event sources returned by a request. */ eventSources?: Array; } interface EventSourcePayload { /** Event source returned by a request. */ eventSource?: EventSource; } interface CustomFieldDefinitionPayload { customFieldDefinition: CompassCustomFieldDefinition; } /** Payload shape of requests in Toolkit */ interface ApiPayload { /** Collection of error details due to a failed request */ errors: Array; /** Status of whether or not the request was successful */ success: boolean; /** Response data relevant to request */ data?: T; } interface LabelsPayload { /** Collection of labels returned by a request. */ labelNames: Array; } interface ComponentPayload { /** Component details returned by a request. */ component: Component | null; } interface ComponentsPayload { /** Collection of component details returned by a request. */ components: Component[]; } interface MetricDefinitionPayload { /** Metric definition returned by a request */ metricDefinition: CompassMetricDefinition; } export interface MetricSourcesPayload { metricSources: CompassMetricSource[]; pageInfo: PageInfo; } interface MetricDefinitionsPayload { /** Metric definitions returned by a request */ metricDefinitions: CompassMetricDefinition[]; pageInfo: PageInfo | null; } interface ExternalAliasPayload { /** External alias returned by a request. */ externalAlias: CompassExternalAlias; } interface LinkPayload { /** Component link returned by a request. */ link: CompassLink; } interface RelationshipPayload { /** Component relationship returned by a request. */ relationship: CompassRelationship; } interface IdPayload { /** Id returned by a request. */ id: string; } interface MetricSourceIdPayload { /** Id returned by a request. */ metricSourceId: string; } interface SearchComponentsPayload { /** Component details returned by a request. */ components: Component[] | null; pageInfo: PageInfo | null; } interface ApplicationManagedComponentsPayload { /** Component details returned by a request. */ components: Component[] | null; pageInfo: PageInfo | null; } interface GetEventSourceInputOptions { includeEvents?: boolean; eventsQuery?: CompassEventsInEventSourceQuery; } interface GetEventSourceInput { cloudId: string; eventType: CompassEventType; externalEventSourceId: string; options?: GetEventSourceInputOptions; } type DataProviderBuildEvent = { /** Time the build completed. */ completedAt?: InputMaybe; /** The build event pipeline. */ pipeline: CompassBuildEventPipelineInput; /** Time the build started. */ startedAt: Scalars['DateTime']; /** The state of the build. */ state: CompassBuildEventState; /** The description of the event. */ description?: Maybe; /** The name of the event. */ displayName: Scalars['String']; /** The last time this event was updated. */ lastUpdated: Scalars['DateTime']; /** A number specifying the order of the update to the event. */ updateSequenceNumber: Scalars['Long']; /** The URL of the event. */ url?: Maybe; }; type DataProviderAlertEvent = { /** The last time the alert status changed to ACKNOWLEDGED. */ acknowledgedAt?: InputMaybe; /** The last time the alert status changed to CLOSED. */ closedAt?: InputMaybe; /** Timestamp for when the alert was created, when status is set to OPENED. */ createdAt?: InputMaybe; /** The ID of the alert. */ id: Scalars['ID']; /** Priority of the alert. */ priority?: InputMaybe; /** The last time the alert status changed to SNOOZED. */ snoozedAt?: InputMaybe; /** Status of the alert. */ status?: InputMaybe; /** The description of the event. */ description?: Maybe; /** The name of the event. */ displayName: Scalars['String']; /** The last time this event was updated. */ lastUpdated: Scalars['DateTime']; /** A number specifying the order of the update to the event. */ updateSequenceNumber: Scalars['Long']; /** The URL of the event. */ url?: Maybe; }; type DataProviderCustomEvent = { /** The icon for the custom event. */ icon: CompassCustomEventIcon; /** The ID of the custom event. */ id: Scalars['ID']; /** The description of the event. */ description?: Maybe; /** The name of the event. */ displayName: Scalars['String']; /** The last time this event was updated. */ lastUpdated: Scalars['DateTime']; /** A number specifying the order of the update to the event. */ updateSequenceNumber: Scalars['Long']; /** The URL of the event. */ url?: Maybe; }; type DataProviderDeploymentEvent = { /** The time this deployment was completed at. */ completedAt?: InputMaybe; /** The environment where the deployment event has occurred. */ environment: CompassDeploymentEventEnvironmentInput; /** The deployment event pipeline. */ pipeline: CompassDeploymentEventPipelineInput; /** The sequence number for the deployment. */ sequenceNumber: Scalars['Long']; /** The time this deployment was started at. */ startedAt?: InputMaybe; /** The state of the deployment. */ state: CompassDeploymentEventState; /** The description of the event. */ description?: Maybe; /** The name of the event. */ displayName: Scalars['String']; /** The last time this event was updated. */ lastUpdated: Scalars['DateTime']; /** A number specifying the order of the update to the event. */ updateSequenceNumber: Scalars['Long']; /** The URL of the event. */ url?: Maybe; }; type DataProviderFlagEvent = { /** The ID of the flag. */ id: Scalars['ID']; /** The flag's status. The recognized values (case-insensitive) are on, off, created, archived, deleted, and targeting_updated. Any other value, although acceptable, will be displayed as unknown on the activity feed. */ status?: InputMaybe; /** The description of the event. */ description?: Maybe; /** The name of the event. */ displayName: Scalars['String']; /** The last time this event was updated. */ lastUpdated: Scalars['DateTime']; /** A number specifying the order of the update to the event. */ updateSequenceNumber: Scalars['Long']; /** The URL of the event. */ url?: Maybe; }; type DataProviderIncidentEvent = { /** The time when the incident ended */ endTime?: InputMaybe; /** The ID of the incident. */ id: Scalars['ID']; /** The severity of the incident */ severity?: InputMaybe; /** The time when the incident started */ startTime: Scalars['DateTime']; /** The state of the incident. */ state: CompassIncidentEventState; /** The description of the event. */ description?: Maybe; /** The name of the event. */ displayName: Scalars['String']; /** The last time this event was updated. */ lastUpdated: Scalars['DateTime']; /** A number specifying the order of the update to the event. */ updateSequenceNumber: Scalars['Long']; /** The URL of the event. */ url?: Maybe; }; type DataProviderLifecycleEvent = { /** The ID of the lifecycle. */ id: Scalars['ID']; /** The stage of the lifecycle event. */ stage: CompassLifecycleEventStage; /** The description of the event. */ description?: Maybe; /** The name of the event. */ displayName: Scalars['String']; /** The last time this event was updated. */ lastUpdated: Scalars['DateTime']; /** A number specifying the order of the update to the event. */ updateSequenceNumber: Scalars['Long']; /** The URL of the event. */ url?: Maybe; }; type DataProviderPushEvent = { /** The author who made the push. */ author?: InputMaybe; /** The name of the branch being pushed to. */ branchName: Scalars['String']; /** The ID of the push to event. */ id: Scalars['ID']; /** The description of the event. */ description?: Maybe; /** The name of the event. */ displayName: Scalars['String']; /** The last time this event was updated. */ lastUpdated: Scalars['DateTime']; /** A number specifying the order of the update to the event. */ updateSequenceNumber: Scalars['Long']; /** The URL of the event. */ url?: Maybe; }; type DataProviderVulnerabilityEvent = { /** The source or tool that discovered the vulnerability. */ discoverySource?: InputMaybe; /** The ID of the vulnerability. */ id: Scalars['ID']; /** The time when the vulnerability was remediated. */ remediationTime?: InputMaybe; /** The CVSS score of the vulnerability (0-10). */ score?: InputMaybe; /** The label to use for displaying the severity */ severityLabel?: InputMaybe; /** The severity level of the vulnerability */ severityLevel: CompassVulnerabilityEventSeverityLevel; /** The state of the vulnerability. */ state: CompassVulnerabilityEventState; /** The time when the vulnerability started. */ vulnerabilityStartTime: Scalars['DateTime']; /** The target system or component that is vulnerable. */ vulnerableTarget?: InputMaybe; /** The description of the event. */ description?: InputMaybe; /** The name of the event. */ displayName: Scalars['String']; /** The last time this event was updated. */ lastUpdated: Scalars['DateTime']; /** A number specifying the order of the update to the event. Must be incremented to save new events. Otherwise, the request will be ignored. */ updateSequenceNumber: Scalars['Long']; /** The URL of the event. */ url?: Maybe; }; type DataProviderPullRequestEvent = { /** The ID of the pull request event. */ id: Scalars['String']; /** The URL of the pull request. */ pullRequestUrl: Scalars['String']; /** The URL of the repository of the pull request. */ repoUrl: Scalars['String']; /** The status of the pull request. */ status: CompassCreatePullRequestStatus; /** The description of the event. */ description?: Maybe; /** The name of the event. */ displayName: Scalars['String']; /** The last time this event was updated. */ lastUpdated: Scalars['DateTime']; /** A number specifying the order of the update to the event. */ updateSequenceNumber: Scalars['Long']; /** The URL of the event. */ url?: Maybe; }; type DataProviderAlertConfiguration = { initialValues?: DataProviderAlertEvent[]; }; type DataProviderBuildConfiguration = { initialValues?: DataProviderBuildEvent[]; }; type DataProviderCustomConfiguration = { initialValues?: DataProviderCustomEvent[]; }; type DataProviderDeploymentConfiguration = { initialValues?: DataProviderDeploymentEvent[]; }; type DataProviderFlagConfiguration = { initialValues?: DataProviderFlagEvent[]; }; type DataProviderIncidentConfiguration = { initialValues?: DataProviderIncidentEvent[]; }; type DataProviderLifecycleConfiguration = { initialValues?: DataProviderLifecycleEvent[]; }; type DataProviderPullRequestConfiguration = { initialValues?: DataProviderPullRequestEvent[]; }; type DataProviderPushConfiguration = { initialValues?: DataProviderPushEvent[]; }; type DataProviderVulnerabilityConfiguration = { initialValues?: DataProviderVulnerabilityEvent[]; }; type DataProviderEventsConfiguration = { alerts?: DataProviderAlertConfiguration; builds?: DataProviderBuildConfiguration; custom?: DataProviderCustomConfiguration; deployments?: DataProviderDeploymentConfiguration; flags?: DataProviderFlagConfiguration; incidents?: DataProviderIncidentConfiguration; lifecycles?: DataProviderLifecycleConfiguration; pullRequests?: DataProviderPullRequestConfiguration; pushes?: DataProviderPushConfiguration; vulnerabilities?: DataProviderVulnerabilityConfiguration; }; type OnCallTimeRange = { scheduleStartTime: string; scheduleEndTime: string; }; type OnCallUser = { name: string; timeRange: OnCallTimeRange | null; url?: string; }; type OnCallLevel = { levelName: string; priority: number; currentOnCall?: OnCallUser; nextOnCall?: OnCallUser; }; type OnCallScheduleInfo = { scheduleName: string; scheduleLink: string; logo?: string; cardHeaderText: string; levels: OnCallLevel[]; }; type OnCallProviderData = { onCallScheduleInfo?: OnCallScheduleInfo; }; type OnCallProviderResult = { success: boolean; result: OnCallProviderData; error: string; }; enum DataProviderEventTypes { ALERTS = 'alerts', BUILDS = 'builds', CUSTOM = 'custom', DEPLOYMENTS = 'deployments', FLAGS = 'flags', INCIDENTS = 'incidents', LIFECYCLES = 'lifecycles', PUSH = 'pushes', PULL_REQUESTS = 'pullRequests', VULNERABILITIES = 'vulnerabilities', } enum BuiltinMetricDefinitions { BUILD_SUCCESS_RATE = 'ari:cloud:compass::metric-definition/builtin/build-success-rate', BUILD_TIME_AVG_LAST_10 = 'ari:cloud:compass::metric-definition/builtin/build-time-avg-last-10', WEEKLY_DEPLOYMENT_FREQUENCY_28D = 'ari:cloud:compass::metric-definition/builtin/weekly-deployment-frequency-28d', DEPLOYMENT_TIME_AVG_LAST_25 = 'ari:cloud:compass::metric-definition/builtin/deployment-time-avg-last-25', MTTR_LAST_10 = 'ari:cloud:compass::metric-definition/builtin/mttr-avg-last-10', INCIDENT_COUNT_28D = 'ari:cloud:compass::metric-definition/builtin/incident-count-28d', RELIABILITY_28D = 'ari:cloud:compass::metric-definition/builtin/reliability-28d', PULL_REQUEST_CYCLE_TIME_AVG_LAST_10 = 'ari:cloud:compass::metric-definition/builtin/pull-request-cycle-time-avg-last-10', QUALITY_GATE_CONDITIONS_PASSING = 'ari:cloud:compass::metric-definition/builtin/quality-gate-conditions-passing', OPEN_BUGS = 'ari:cloud:compass::metric-definition/builtin/open-bugs', UNIT_TEST_COVERAGE_AVG_LAST_10 = 'ari:cloud:compass::metric-definition/builtin/unit-test-coverage-avg-last-10', OPEN_CRITICAL_SEV_VULNERABILITY_COUNT_28D = 'ari:cloud:compass::metric-definition/builtin/open-critical-sev-vulnerability-count-28d', OPEN_HIGH_SEV_VULNERABILITY_COUNT_28D = 'ari:cloud:compass::metric-definition/builtin/open-high-sev-vulnerability-count-28d', MTTR_CRITICAL_SEV_VULNERABILITY = 'ari:cloud:compass::metric-definition/builtin/mttr-critical-sev-vulnerability-avg-last-10', MTTR_HIGH_SEV_VULNERABILITY = 'ari:cloud:compass::metric-definition/builtin/mttr-high-sev-vulnerability-avg-last-10', CRITICAL_ALERT_COUNT = 'ari:cloud:compass::metric-definition/builtin/critical-alert-count-28d', NON_CRITICAL_ALERT_COUNT = 'ari:cloud:compass::metric-definition/builtin/non-critical-alert-count-28d', AVAILABILITY_28D = 'ari:cloud:compass::metric-definition/builtin/availability-28d', CHANGE_FAILURE_RATE_28D = 'ari:cloud:compass::metric-definition/builtin/change-failure-rate-28d', CYCLOMATIC_COMPLEXITY_AVG_LAST_10 = 'ari:cloud:compass::metric-definition/builtin/cyclomatic-complexity-avg-last-10', OPEN_PULL_REQUESTS = 'ari:cloud:compass::metric-definition/builtin/open-pull-requests', OPEN_VULNERABILITIES = 'ari:cloud:compass::metric-definition/builtin/open-vulnerabilities', } type BuiltinMetricSourceInput = { name: BuiltinMetricDefinitions; derived: boolean; }; type BuiltinMetricDefinition = | BuiltinMetricDefinitions[] | BuiltinMetricSourceInput[]; type CustomMetricDefinition = { name: string; format?: { suffix?: string; }; description?: string; }; type CustomMetric = CustomMetricDefinition & { initialValue?: number }; type DataProviderMetricsConfiguration = { builtIn?: { [K in BuiltinMetricDefinitions]?: { initialValue?: number; derived?: boolean; }; }; custom?: CustomMetric[]; }; type DataProviderResult = { externalSourceId: string; events?: DataProviderEventsConfiguration; metrics?: DataProviderMetricsConfiguration; }; type ConfigValidatorData = { appConfigured: boolean; }; type ConfigValidatorResult = { success: boolean; result: ConfigValidatorData; error: string; }; type UpgradeAppConfiguration = { url: string; orgName: string; shouldUpgradeApp: boolean; }; interface UpgradeAppInput { url: string; orgName: string; shouldUpgrade: boolean; } type OAuthConfigResult = { authUrl: string; upgrade?: UpgradeAppConfiguration[]; }; type MetricValue = { value: number; timestamp: string; }; type MetricSupplierResult = { metricValues?: MetricValue[]; error?: string; }; enum ConfigFileActions { CREATE = 'CREATE', UPDATE = 'UPDATE', } type ConfigFileMetadata = { /** Action performed on the file */ configFileAction: ConfigFileActions; /** Path of the file after creation or update */ newPath: string; /** Path of the file before update */ oldPath?: string; /** External identifier used to help uniquely identify components without id */ deduplicationId?: string; }; interface SyncComponentWithFileInput { /** The cloudId of the user workspace */ cloudId: string; /** The ID of the component being updated. */ configFile: string; /** Metadata for collision detection between files created with the same external identifiers */ configFileMetadata: ConfigFileMetadata; /** The url of the externalSource */ externalSourceURL?: string; /** Array of Compass links to combine with the links from the file */ additionalLinks?: CreateLinkInput[]; /** Array of Compass External Aliases to add to the component */ additionalExternalAliases?: CompassExternalAliasInput[]; } interface UnLinkComponentInput { /** The cloudId of the user workspace */ cloudId: string; /** Path of the compass yml file representing the component. */ filePath: string; /** Component id of component to retrieve */ componentId?: string; /** External identifier used to help uniquely identify components without id. */ deduplicationId?: string; /** Optional. Any external aliases that need to be deleted as part of the unlink process. */ additionalExternalAliasesToRemove?: CompassExternalAliasInput[]; } export { AddEventSourceInput, ApiPayload, ApplicationManagedComponentsPayload, BaseComponentInput, BuiltinMetricDefinition, BuiltinMetricDefinitions, Component, ComponentPayload, ComponentsPayload, ComponentTypePayload, ConfigFileActions, ConfigFileMetadata, ConfigValidatorData, ConfigValidatorResult, CreateComponentInput, CreateComponentOptions, CreateLinkInput, CustomField, CustomFieldDefinitionPayload, CustomFieldFromYAML, CustomFieldType, CustomFieldValue, CustomFields, CustomMetricDefinition, DataManagerInput, DataProviderAlertEvent, DataProviderAlertConfiguration, DataProviderBuildConfiguration, DataProviderCustomConfiguration, DataProviderDeploymentConfiguration, DataProviderFlagConfiguration, DataProviderIncidentConfiguration, DataProviderLifecycleConfiguration, DataProviderPullRequestConfiguration, DataProviderPushConfiguration, DataProviderVulnerabilityConfiguration, DataProviderBuildEvent, DataProviderCustomEvent, DataProviderDeploymentEvent, DataProviderEventTypes, DataProviderEventsConfiguration, DataProviderFlagEvent, DataProviderIncidentEvent, DataProviderLifecycleEvent, DataProviderMetricsConfiguration, DataProviderPullRequestEvent, DataProviderPushEvent, DataProviderVulnerabilityEvent, DataProviderResult, EventSourcePayload, EventSourcesPayload, ExternalAliasPayload, ForgeInvocationError, ForgeInvocationErrorOptions, GetAllComponentTypesInput, GetApplicationManagedComponentsInput, GetComponentByExternalAliasInput, GetComponentInput, GetEventSourceInput, GetEventSourceInputOptions, GetMetricDefinitionsInput, GetMetricDefinitionsOptions, GetOptions, GqlError, GqlErrorExtensions, IdPayload, LabelsPayload, Link, LinkPayload, MetricDefinitionPayload, MetricDefinitionsPayload, MetricSourceIdPayload, MetricSupplierResult, MetricValue, MutationErrorExtensions, OAuthConfigResult, OnCallLevel, OnCallProviderData, OnCallProviderResult, OnCallScheduleInfo, OnCallUser, Relationship, RelationshipPayload, SdkError, SearchComponentsInput, SearchComponentsPayload, SyncComponentByExternalAliasInput, SyncComponentByExternalAliasInputOptions, SyncComponentWithFileInput, UnLinkComponentInput, UpdateComponentInput, UpdateComponentOptions, UpdateComponentTypeInput, UpdateEventSourcesInput, UpgradeAppConfiguration, UpgradeAppInput, };