Skip to main content

Component

A bundle placed in a project's blueprint, representing a slot for deployable infrastructure.

A component is the design-time building block of your architecture. It says "I want a database here" or "I need a Kubernetes cluster there." The component defines what to deploy; the actual running infrastructure lives in instances -- one per environment the component is deployed to.

Components are connected to each other via links, which declare that one component's output (e.g., a connection string) should be wired into another component's input.

type Component {
id: ID!
name: String!
description: String
attributes: Map!
effectiveAttributes: Map!
position: ComponentPosition
createdAt: DateTime!
updatedAt: DateTime!
deletable: Deletable!
ociRepo: OciRepo
project: Project
instances(
sort: InstancesSort
cursor: Cursor
): InstancesPage
}

Fields​

Component.id ● ID! non-null scalar {#id}​

Component.name ● String! non-null scalar {#name}​

Human-readable display name shown in the UI.

Component.description ● String scalar {#description}​

Optional free-text description of this component's purpose.

Component.attributes ● Map! non-null scalar {#attributes}​

Key-value attributes assigned directly to this component.

Component.effectiveAttributes ● Map! non-null scalar {#effective-attributes}​

The full attribute map the authorization system evaluates policies against for this component — user attributes merged with the parent project (project wins on conflict) plus auto-injected md-* system attributes.

System attributes always present on a component:

  • md-id — the component's identifier
  • md-project — the project's identifier
  • md-component — the component's local identifier

Component.position ● ComponentPosition object {#position}​

Position on the visual canvas. Null if never placed.

Component.createdAt ● DateTime! non-null scalar {#created-at}​

When this component was created (UTC).

Component.updatedAt ● DateTime! non-null scalar {#updated-at}​

When this component was last modified (UTC).

Component.deletable ● Deletable! non-null object {#deletable}​

Whether this component can be safely deleted. Check constraints for blocking conditions.

Component.ociRepo ● OciRepo object {#oci-repo}​

The OCI repository (bundle) this component is based on.

Component.project ● Project object {#project}​

The project that owns this component.

Component.instances ● InstancesPage object {#instances}​

Paginated list of instances deployed from this component.

Returns one instance per environment the component has been deployed to. Defaults to alphabetical order by name.

Component.instances.sort ● InstancesSort input {#component-instances-sort}​

Sort field and direction. Defaults to name ascending.

Component.instances.cursor ● Cursor input {#component-instances-cursor}​

Pagination cursor returned by a previous page.

Returned By​

component query

Member Of​

ComponentEvent object ● ComponentPayload object ● ComponentsPage object ● Instance object ● InstanceComparison object ● Link object ● Project object