Skip to main content

CreateCustomAttributeInput

Declare a custom attribute key for your organization. Custom attributes control which user-defined attribute keys can be set on resources at each level of the hierarchy. System attributes (md-*) are auto-injected by Massdriver and do not need to be declared.

input CreateCustomAttributeInput {
key: String!
required: Boolean
scope: AttributeScope!
values: [String!]!
}

Fields

CreateCustomAttributeInput.key ● String! non-null scalar {#key}

1-64 characters, identifier-like: starts with a letter or underscore; letters, digits, and underscores only. Case-insensitive (TEAM and team are the same key). Keys starting with md- are reserved for system use.

CreateCustomAttributeInput.required ● Boolean scalar {#required}

Whether this attribute must be set when creating a resource at the specified scope.

CreateCustomAttributeInput.scope ● AttributeScope! non-null enum {#scope}

The resource level where this attribute is set. Hierarchy scopes (PROJECT, ENVIRONMENT, COMPONENT, INSTANCE) cascade values downward. REPO scope applies to OCI repositories; the bundle name propagates to derived components, instances, deployments, and resources via the md-repo system attribute.

CreateCustomAttributeInput.values ● [String!]! non-null scalar {#values}

The closed set of values this attribute may take. Must contain at least one entry, no duplicates, and may not contain the literal "*" (reserved for a future "any value" semantic).

Member Of

createCustomAttribute mutation