diff --git a/docs/api/graphql/operations/mutations/update-organization-settings.mdx b/docs/api/graphql/operations/mutations/update-organization-settings.mdx
new file mode 100644
index 0000000..01d5beb
--- /dev/null
+++ b/docs/api/graphql/operations/mutations/update-organization-settings.mdx
@@ -0,0 +1,89 @@
+---
+pagination_next: null
+pagination_prev: null
+hide_table_of_contents: true
+id: update-organization-settings
+title: updateOrganizationSettings
+---
+
+
+
+
+export const Bullet = () => <> ● >
+
+export const SpecifiedBy = (props) => <>Specification⎘>
+
+export const Badge = (props) => <>{props.text}>
+
+import { useState } from 'react';
+
+export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
+ const [open, setOpen] = useState(startOpen);
+ return (
+
+ {
+ e.preventDefault();
+ setOpen((open) => !open);
+ }}
+ style={{ listStyle:'none' }}
+ >
+ {open ? dataOpen : dataClose}
+
+ {open && children}
+
+ );
+};
+
+
+
+
+
+
+
+
+Change organization-wide behavior settings.
+
+Only the settings you provide are changed; omitted settings keep their
+current values. Requires the `organization:manageSettings` action.
+
+
+
+
+```graphql
+updateOrganizationSettings(
+ organizationId: ID!
+ input: UpdateOrganizationSettingsInput!
+): OrganizationPayload
+```
+
+
+
+
+
+### Form Schema
+
+This mutation supports dynamic form generation using JSON Schema.
+
+- [JSON Schema](https://api.massdriver.cloud/graphql/v2/inputs/updateOrganizationSettings.json)
+- [UI Schema](https://api.massdriver.cloud/graphql/v2/inputs/updateOrganizationSettings.ui.json)
+
+
+
+### Arguments
+
+#### [updateOrganizationSettings.organizationId](#organization-id)[ID!](/api/graphql/types/scalars/id.mdx) \{#organization-id\}
+Your organization's unique identifier.
+
+
+#### [updateOrganizationSettings.input](#input)[UpdateOrganizationSettingsInput!](/api/graphql/types/inputs/update-organization-settings-input.mdx) \{#input\}
+Change organization-wide behavior settings. Only the settings you provide are changed; omitted settings keep their current values.
+
+
+### Type
+
+#### [OrganizationPayload](/api/graphql/types/objects/organization-payload.mdx)
\ No newline at end of file
diff --git a/docs/api/graphql/operations/queries/oci-repos.mdx b/docs/api/graphql/operations/queries/oci-repos.mdx
index 6e0a8de..6a9f7d8 100644
--- a/docs/api/graphql/operations/queries/oci-repos.mdx
+++ b/docs/api/graphql/operations/queries/oci-repos.mdx
@@ -44,9 +44,10 @@ export const Details = ({ dataOpen, dataClose, children, startOpen = false }) =>
List OCI repositories in your organization's bundle catalog.
-Returns a paginated list of repositories. Each repository is the container
-for all published versions of a bundle. Use `filter` to narrow by name,
-artifact type, or full-text search.
+Returns a paginated list of repositories of every artifact type (bundles
+and resource types). Each repository is the container for all published
+versions of its artifact. Use `filter` to narrow by name, artifact type,
+or full-text search.
```graphql
query {
diff --git a/docs/api/graphql/operations/queries/organization.mdx b/docs/api/graphql/operations/queries/organization.mdx
index a282606..893d2e8 100644
--- a/docs/api/graphql/operations/queries/organization.mdx
+++ b/docs/api/graphql/operations/queries/organization.mdx
@@ -94,6 +94,6 @@ graph TD
Members access resources through **group memberships** with role-based permissions.
Custom attributes defined at the organization level govern attribute metadata across all child resources.
-Administrative fields (`billing`, `members`, `customAttributes`) resolve to `null` for
-callers who lack the corresponding ABAC action; in that case a top-level `FORBIDDEN`
-error is added to the response while the rest of the organization still resolves.
\ No newline at end of file
+Administrative fields (`billing`, `members`, `customAttributes`, `settings`) resolve to
+`null` for callers who lack the corresponding ABAC action; in that case a top-level
+`FORBIDDEN` error is added to the response while the rest of the organization still resolves.
\ No newline at end of file
diff --git a/docs/api/graphql/types/enums/oci-artifact-type.mdx b/docs/api/graphql/types/enums/oci-artifact-type.mdx
index f045efc..2c9a7c8 100644
--- a/docs/api/graphql/types/enums/oci-artifact-type.mdx
+++ b/docs/api/graphql/types/enums/oci-artifact-type.mdx
@@ -45,12 +45,13 @@ export const Details = ({ dataOpen, dataClose, children, startOpen = false }) =>
The kind of artifact stored in an OCI repository.
Each value maps to a concrete [OCI artifact type](https://github.com/opencontainers/image-spec/blob/main/manifest.md#guidelines-for-artifact-usage)
-media string written to the manifest. Today only `BUNDLE` is supported; additional types will be added as the catalog expands.
+media string written to the manifest. Additional types will be added as the catalog expands.
```graphql
enum OciArtifactType {
BUNDLE
+ RESOURCE_TYPE
}
```
@@ -63,6 +64,10 @@ enum OciArtifactType {
Massdriver bundle (`application/vnd.massdriver.bundle.v1+json`).
+#### [OciArtifactType.RESOURCE_TYPE](#resource-type) \{#resource-type\}
+Massdriver resource type (`application/vnd.massdriver.resource-type.v1+json`).
+
+
diff --git a/docs/api/graphql/types/enums/organization-default-bundle-access.mdx b/docs/api/graphql/types/enums/organization-default-bundle-access.mdx
new file mode 100644
index 0000000..85e4e22
--- /dev/null
+++ b/docs/api/graphql/types/enums/organization-default-bundle-access.mdx
@@ -0,0 +1,77 @@
+---
+pagination_next: null
+pagination_prev: null
+hide_table_of_contents: true
+id: organization-default-bundle-access
+title: OrganizationDefaultBundleAccess
+---
+
+
+
+
+export const Bullet = () => <> ● >
+
+export const SpecifiedBy = (props) => <>Specification⎘>
+
+export const Badge = (props) => <>{props.text}>
+
+import { useState } from 'react';
+
+export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
+ const [open, setOpen] = useState(startOpen);
+ return (
+
+ {
+ e.preventDefault();
+ setOpen((open) => !open);
+ }}
+ style={{ listStyle:'none' }}
+ >
+ {open ? dataOpen : dataClose}
+
+ {open && children}
+
+ );
+};
+
+
+
+
+
+
+
+
+Access granted to new bundle repositories at creation.
+
+Changing this setting only affects repositories created afterwards — access
+to existing repositories is managed through their grants.
+
+
+```graphql
+enum OrganizationDefaultBundleAccess {
+ NONE
+ ALL_PROJECTS
+}
+```
+
+
+
+
+### Values
+
+#### [OrganizationDefaultBundleAccess.NONE](#none) \{#none\}
+New bundle repositories are restricted until a grant is authored for them.
+
+
+#### [OrganizationDefaultBundleAccess.ALL_PROJECTS](#all-projects) \{#all-projects\}
+Every new bundle repository automatically receives an org-wide `repo:pull` grant, making its bundles usable by every project. The grant is a normal grant row: it is listed on the repository and can be revoked with `deleteGrant`.
+
+
+
+
+
+
+### Member Of
+
+[`OrganizationSettings`](/api/graphql/types/objects/organization-settings.mdx) [`UpdateOrganizationSettingsInput`](/api/graphql/types/inputs/update-organization-settings-input.mdx)
\ No newline at end of file
diff --git a/docs/api/graphql/types/inputs/create-oci-repo-input.mdx b/docs/api/graphql/types/inputs/create-oci-repo-input.mdx
index d6124b9..a6d1c0c 100644
--- a/docs/api/graphql/types/inputs/create-oci-repo-input.mdx
+++ b/docs/api/graphql/types/inputs/create-oci-repo-input.mdx
@@ -59,7 +59,7 @@ input CreateOciRepoInput {
### Fields
#### [CreateOciRepoInput.artifactType](#artifact-type)[OciArtifactType!](/api/graphql/types/enums/oci-artifact-type.mdx) \{#artifact-type\}
-OCI artifact type stored in this repository. Today only `BUNDLE` is accepted; additional types will be added as Massdriver expands the catalog.
+OCI artifact type stored in this repository. `BUNDLE` holds Massdriver bundles; `RESOURCE_TYPE` holds Massdriver resource types.
#### [CreateOciRepoInput.attributes](#attributes)[Map](/api/graphql/types/scalars/map.mdx) \{#attributes\}
@@ -67,7 +67,7 @@ Key-value attributes for this repository. Used by ABAC policies for fine-grained
#### [CreateOciRepoInput.id](#id)[String!](/api/graphql/types/scalars/string.mdx) \{#id\}
-Unique repository name within your organization, e.g. `aws-aurora-postgres`. Lowercase letters, numbers, dashes, underscores only. Max 53 characters. Cannot be changed after creation.
+Unique repository name within your organization, e.g. `aws-aurora-postgres`. Lowercase letters, numbers, dashes, underscores only. Max 100 characters. Cannot be changed after creation.
diff --git a/docs/api/graphql/types/inputs/oci-repos-filter.mdx b/docs/api/graphql/types/inputs/oci-repos-filter.mdx
index c26f21f..a02c1f0 100644
--- a/docs/api/graphql/types/inputs/oci-repos-filter.mdx
+++ b/docs/api/graphql/types/inputs/oci-repos-filter.mdx
@@ -61,7 +61,7 @@ input OciReposFilter {
### Fields
#### [OciReposFilter.artifactType](#artifact-type)[String](/api/graphql/types/scalars/string.mdx) \{#artifact-type\}
-Filter by OCI artifact media type. Currently the only supported type is `application/vnd.massdriver.bundle.v1+json`. Passing an unsupported type returns an empty list.
+Filter by OCI artifact media type. Supported types are `application/vnd.massdriver.bundle.v1+json` and `application/vnd.massdriver.resource-type.v1+json`. When omitted, repositories of every artifact type are returned. Passing an unsupported type returns an empty list.
#### [OciReposFilter.name](#name)[OciRepoNameFilter](/api/graphql/types/inputs/oci-repo-name-filter.mdx) \{#name\}
diff --git a/docs/api/graphql/types/inputs/update-organization-settings-input.mdx b/docs/api/graphql/types/inputs/update-organization-settings-input.mdx
new file mode 100644
index 0000000..e1218ff
--- /dev/null
+++ b/docs/api/graphql/types/inputs/update-organization-settings-input.mdx
@@ -0,0 +1,69 @@
+---
+pagination_next: null
+pagination_prev: null
+hide_table_of_contents: true
+id: update-organization-settings-input
+title: UpdateOrganizationSettingsInput
+---
+
+
+
+
+export const Bullet = () => <> ● >
+
+export const SpecifiedBy = (props) => <>Specification⎘>
+
+export const Badge = (props) => <>{props.text}>
+
+import { useState } from 'react';
+
+export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
+ const [open, setOpen] = useState(startOpen);
+ return (
+
+ {
+ e.preventDefault();
+ setOpen((open) => !open);
+ }}
+ style={{ listStyle:'none' }}
+ >
+ {open ? dataOpen : dataClose}
+
+ {open && children}
+
+ );
+};
+
+
+
+
+
+
+
+
+Change organization-wide behavior settings. Only the settings you provide are changed; omitted settings keep their current values.
+
+
+```graphql
+input UpdateOrganizationSettingsInput {
+ defaultBundleAccess: OrganizationDefaultBundleAccess
+}
+```
+
+
+
+
+### Fields
+
+#### [UpdateOrganizationSettingsInput.defaultBundleAccess](#default-bundle-access)[OrganizationDefaultBundleAccess](/api/graphql/types/enums/organization-default-bundle-access.mdx) \{#default-bundle-access\}
+Access granted to new bundle repositories at creation. NONE keeps each new repository restricted until a grant is authored for it. ALL_PROJECTS automatically creates an org-wide repo:pull grant on each new bundle repository, making its bundles usable by every project. Changing this setting only affects repositories created afterwards.
+
+
+
+
+
+
+### Member Of
+
+[`updateOrganizationSettings`](/api/graphql/operations/mutations/update-organization-settings.mdx)
\ No newline at end of file
diff --git a/docs/api/graphql/types/objects/bundle-dependency.mdx b/docs/api/graphql/types/objects/bundle-dependency.mdx
index cf60f0e..cd251a7 100644
--- a/docs/api/graphql/types/objects/bundle-dependency.mdx
+++ b/docs/api/graphql/types/objects/bundle-dependency.mdx
@@ -75,7 +75,7 @@ When `true`, this dependency must be connected before the bundle can be deployed
#### [BundleDependency.resourceType](#resource-type)[ResourceType](/api/graphql/types/objects/resource-type.mdx) \{#resource-type\}
-The resource type this dependency accepts. `null` if the resource type has been removed from the catalog.
+The resource type this dependency accepts. `null` if the field is not pinned to a resource type — for example, the type has been removed from the catalog.
diff --git a/docs/api/graphql/types/objects/bundle-resource.mdx b/docs/api/graphql/types/objects/bundle-resource.mdx
index dbf2b99..b5ad091 100644
--- a/docs/api/graphql/types/objects/bundle-resource.mdx
+++ b/docs/api/graphql/types/objects/bundle-resource.mdx
@@ -72,7 +72,7 @@ When `true`, this resource is always produced on a successful deployment.
#### [BundleResource.resourceType](#resource-type)[ResourceType](/api/graphql/types/objects/resource-type.mdx) \{#resource-type\}
-The resource type this output produces. `null` if the resource type has been removed from the catalog.
+The resource type this output produces. `null` if the field is not pinned to a resource type — for example, the type has been removed from the catalog.
diff --git a/docs/api/graphql/types/objects/oci-repo.mdx b/docs/api/graphql/types/objects/oci-repo.mdx
index 637ed8a..648e711 100644
--- a/docs/api/graphql/types/objects/oci-repo.mdx
+++ b/docs/api/graphql/types/objects/oci-repo.mdx
@@ -117,8 +117,8 @@ oras pull api.massdriver.cloud/acme/aws-aurora-postgres:1.2.3
#### [OciRepo.artifactType](#artifact-type)[String!](/api/graphql/types/scalars/string.mdx) \{#artifact-type\}
The [OCI artifact type](https://github.com/opencontainers/image-spec/blob/main/manifest.md#guidelines-for-artifact-usage)
-stored in this repository. Currently always
-`application/vnd.massdriver.bundle.v1+json`.
+stored in this repository — `application/vnd.massdriver.bundle.v1+json` or
+`application/vnd.massdriver.resource-type.v1+json`.
#### [OciRepo.attributes](#attributes)[Map!](/api/graphql/types/scalars/map.mdx) \{#attributes\}
diff --git a/docs/api/graphql/types/objects/organization-payload.mdx b/docs/api/graphql/types/objects/organization-payload.mdx
index 5594565..d6610a9 100644
--- a/docs/api/graphql/types/objects/organization-payload.mdx
+++ b/docs/api/graphql/types/objects/organization-payload.mdx
@@ -76,4 +76,4 @@ The object created/updated/deleted by the mutation. May be null if mutation fail
### Returned By
-[`createOrganization`](/api/graphql/operations/mutations/create-organization.mdx) [`updateOrganization`](/api/graphql/operations/mutations/update-organization.mdx)
\ No newline at end of file
+[`createOrganization`](/api/graphql/operations/mutations/create-organization.mdx) [`updateOrganization`](/api/graphql/operations/mutations/update-organization.mdx) [`updateOrganizationSettings`](/api/graphql/operations/mutations/update-organization-settings.mdx)
\ No newline at end of file
diff --git a/docs/api/graphql/types/objects/organization-settings.mdx b/docs/api/graphql/types/objects/organization-settings.mdx
new file mode 100644
index 0000000..1e7c93c
--- /dev/null
+++ b/docs/api/graphql/types/objects/organization-settings.mdx
@@ -0,0 +1,74 @@
+---
+pagination_next: null
+pagination_prev: null
+hide_table_of_contents: true
+id: organization-settings
+title: OrganizationSettings
+---
+
+
+
+
+export const Bullet = () => <> ● >
+
+export const SpecifiedBy = (props) => <>Specification⎘>
+
+export const Badge = (props) => <>{props.text}>
+
+import { useState } from 'react';
+
+export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
+ const [open, setOpen] = useState(startOpen);
+ return (
+
+ {
+ e.preventDefault();
+ setOpen((open) => !open);
+ }}
+ style={{ listStyle:'none' }}
+ >
+ {open ? dataOpen : dataClose}
+
+ {open && children}
+
+ );
+};
+
+
+
+
+
+
+
+
+Organization-wide behavior settings.
+
+Settings apply to the whole organization and shape platform behavior — for
+example, the access new bundle repositories receive at creation. Each setting
+has a default, so organizations created before a setting existed read it as
+the default. Change settings with the `updateOrganizationSettings` mutation.
+
+
+```graphql
+type OrganizationSettings {
+ defaultBundleAccess: OrganizationDefaultBundleAccess!
+}
+```
+
+
+
+
+### Fields
+
+#### [OrganizationSettings.defaultBundleAccess](#default-bundle-access)[OrganizationDefaultBundleAccess!](/api/graphql/types/enums/organization-default-bundle-access.mdx) \{#default-bundle-access\}
+Access granted to new bundle repositories at creation. Defaults to `NONE` — new repositories are restricted until a grant is authored for them.
+
+
+
+
+
+
+### Member Of
+
+[`Organization`](/api/graphql/types/objects/organization.mdx)
\ No newline at end of file
diff --git a/docs/api/graphql/types/objects/organization.mdx b/docs/api/graphql/types/objects/organization.mdx
index 357502b..d76bbe2 100644
--- a/docs/api/graphql/types/objects/organization.mdx
+++ b/docs/api/graphql/types/objects/organization.mdx
@@ -62,9 +62,9 @@ graph TD
Members access resources through **group memberships** with role-based permissions.
Custom attributes defined at the organization level govern attribute metadata across all child resources.
-Administrative fields (`billing`, `members`, `customAttributes`) resolve to `null` for
-callers who lack the corresponding ABAC action; in that case a top-level `FORBIDDEN`
-error is added to the response while the rest of the organization still resolves.
+Administrative fields (`billing`, `members`, `customAttributes`, `settings`) resolve to
+`null` for callers who lack the corresponding ABAC action; in that case a top-level
+`FORBIDDEN` error is added to the response while the rest of the organization still resolves.
```graphql
@@ -85,6 +85,7 @@ type Organization {
cursor: Cursor
): CustomAttributesPage
billing: OrganizationBilling
+ settings: OrganizationSettings
}
```
@@ -168,6 +169,13 @@ Requires the `organization:manageBilling` action. The non-sensitive
`subscriptionStatus` field at the top of the type stays visible to every member.
+#### [Organization.settings](#settings)[OrganizationSettings](/api/graphql/types/objects/organization-settings.mdx) \{#settings\}
+Organization-wide behavior settings.
+
+Requires the `organization:manageSettings` action. Change settings with the
+`updateOrganizationSettings` mutation.
+
+
diff --git a/docs/api/graphql/types/scalars/id.mdx b/docs/api/graphql/types/scalars/id.mdx
index 92f64b3..6e1fc7f 100644
--- a/docs/api/graphql/types/scalars/id.mdx
+++ b/docs/api/graphql/types/scalars/id.mdx
@@ -58,4 +58,4 @@ scalar ID
### Member Of
-[`abortDeployment`](/api/graphql/operations/mutations/abort-deployment.mdx) [`AccessToken`](/api/graphql/types/objects/access-token.mdx) [`accessTokens`](/api/graphql/operations/queries/access-tokens.mdx) [`AccessTokenWithValue`](/api/graphql/types/objects/access-token-with-value.mdx) [`Account`](/api/graphql/types/objects/account.mdx) [`AccountIdentityViewer`](/api/graphql/types/objects/account-identity-viewer.mdx) [`AccountViewer`](/api/graphql/types/objects/account-viewer.mdx) [`addAccountToGroup`](/api/graphql/operations/mutations/add-account-to-group.mdx) [`addComponent`](/api/graphql/operations/mutations/add-component.mdx) [`addServiceAccountToGroup`](/api/graphql/operations/mutations/add-service-account-to-group.mdx) [`Alarm`](/api/graphql/types/objects/alarm.mdx) [`AlarmState`](/api/graphql/types/objects/alarm-state.mdx) [`approveDeployment`](/api/graphql/operations/mutations/approve-deployment.mdx) [`auditLog`](/api/graphql/operations/queries/audit-log.mdx) [`AuditLog`](/api/graphql/types/objects/audit-log.mdx) [`AuditLogActor`](/api/graphql/types/objects/audit-log-actor.mdx) [`auditLogEventTypes`](/api/graphql/operations/queries/audit-log-event-types.mdx) [`auditLogs`](/api/graphql/operations/queries/audit-logs.mdx) [`AvatarViewer`](/api/graphql/types/objects/avatar-viewer.mdx) [`bundle`](/api/graphql/operations/queries/bundle.mdx) [`cloneProject`](/api/graphql/operations/mutations/clone-project.mdx) [`compareDeployments`](/api/graphql/operations/queries/compare-deployments.mdx) [`compareEnvironments`](/api/graphql/operations/queries/compare-environments.mdx) [`component`](/api/graphql/operations/queries/component.mdx) [`Component`](/api/graphql/types/objects/component.mdx) [`Connection`](/api/graphql/types/objects/connection.mdx) [`copyInstance`](/api/graphql/operations/mutations/copy-instance.mdx) [`createAccessToken`](/api/graphql/operations/mutations/create-access-token.mdx) [`createCustomAttribute`](/api/graphql/operations/mutations/create-custom-attribute.mdx) [`createDeployment`](/api/graphql/operations/mutations/create-deployment.mdx) [`createEnvironment`](/api/graphql/operations/mutations/create-environment.mdx) [`createGroup`](/api/graphql/operations/mutations/create-group.mdx) [`createGroupPolicy`](/api/graphql/operations/mutations/create-group-policy.mdx) [`createInstanceAlarm`](/api/graphql/operations/mutations/create-instance-alarm.mdx) [`createIntegration`](/api/graphql/operations/mutations/create-integration.mdx) [`createOciRepo`](/api/graphql/operations/mutations/create-oci-repo.mdx) [`createProject`](/api/graphql/operations/mutations/create-project.mdx) [`createRepoGrant`](/api/graphql/operations/mutations/create-repo-grant.mdx) [`createResource`](/api/graphql/operations/mutations/create-resource.mdx) [`createResourceGrant`](/api/graphql/operations/mutations/create-resource-grant.mdx) [`createServiceAccount`](/api/graphql/operations/mutations/create-service-account.mdx) [`CustomAttribute`](/api/graphql/types/objects/custom-attribute.mdx) [`customAttributeSchema`](/api/graphql/operations/queries/custom-attribute-schema.mdx) [`customAttributeValues`](/api/graphql/operations/queries/custom-attribute-values.mdx) [`decommissionEnvironment`](/api/graphql/operations/mutations/decommission-environment.mdx) [`deleteCustomAttribute`](/api/graphql/operations/mutations/delete-custom-attribute.mdx) [`deleteEnvironment`](/api/graphql/operations/mutations/delete-environment.mdx) [`deleteGrant`](/api/graphql/operations/mutations/delete-grant.mdx) [`deleteGroup`](/api/graphql/operations/mutations/delete-group.mdx) [`deleteGroupInvitation`](/api/graphql/operations/mutations/delete-group-invitation.mdx) [`deleteGroupMember`](/api/graphql/operations/mutations/delete-group-member.mdx) [`deleteInstanceAlarm`](/api/graphql/operations/mutations/delete-instance-alarm.mdx) [`deleteIntegration`](/api/graphql/operations/mutations/delete-integration.mdx) [`deleteOciRepo`](/api/graphql/operations/mutations/delete-oci-repo.mdx) [`deleteOrganizationMember`](/api/graphql/operations/mutations/delete-organization-member.mdx) [`deletePolicy`](/api/graphql/operations/mutations/delete-policy.mdx) [`deleteProject`](/api/graphql/operations/mutations/delete-project.mdx) [`deleteResource`](/api/graphql/operations/mutations/delete-resource.mdx) [`deleteResourceType`](/api/graphql/deprecated/operations/mutations/delete-resource-type.mdx) [`deleteServiceAccount`](/api/graphql/operations/mutations/delete-service-account.mdx) [`deployEnvironment`](/api/graphql/operations/mutations/deploy-environment.mdx) [`deployment`](/api/graphql/operations/queries/deployment.mdx) [`Deployment`](/api/graphql/types/objects/deployment.mdx) [`deploymentEvents`](/api/graphql/operations/subscriptions/deployment-events.mdx) [`deploymentLogs`](/api/graphql/operations/subscriptions/deployment-logs.mdx) [`deployments`](/api/graphql/operations/queries/deployments.mdx) [`disableIntegration`](/api/graphql/operations/mutations/disable-integration.mdx) [`enableIntegration`](/api/graphql/operations/mutations/enable-integration.mdx) [`environment`](/api/graphql/operations/queries/environment.mdx) [`Environment`](/api/graphql/types/objects/environment.mdx) [`EnvironmentDefault`](/api/graphql/types/objects/environment-default.mdx) [`EnvironmentDefaultResource`](/api/graphql/types/objects/environment-default-resource.mdx) [`environmentEvents`](/api/graphql/operations/subscriptions/environment-events.mdx) [`environments`](/api/graphql/operations/queries/environments.mdx) [`evaluatePolicies`](/api/graphql/operations/queries/evaluate-policies.mdx) [`evaluatePolicy`](/api/graphql/operations/queries/evaluate-policy.mdx) [`EventType`](/api/graphql/types/objects/event-type.mdx) [`eventTypes`](/api/graphql/operations/queries/event-types.mdx) [`explainPolicy`](/api/graphql/operations/queries/explain-policy.mdx) [`exportResource`](/api/graphql/operations/mutations/export-resource.mdx) [`forkEnvironment`](/api/graphql/operations/mutations/fork-environment.mdx) [`Grant`](/api/graphql/types/objects/grant.mdx) [`group`](/api/graphql/operations/queries/group.mdx) [`Group`](/api/graphql/types/objects/group.mdx) [`GroupInvitation`](/api/graphql/types/objects/group-invitation.mdx) [`groupPolicy`](/api/graphql/operations/queries/group-policy.mdx) [`groups`](/api/graphql/operations/queries/groups.mdx) [`IdFilter`](/api/graphql/types/inputs/id-filter.mdx) [`instance`](/api/graphql/operations/queries/instance.mdx) [`Instance`](/api/graphql/types/objects/instance.mdx) [`instanceAlarm`](/api/graphql/operations/queries/instance-alarm.mdx) [`instanceAlarms`](/api/graphql/operations/queries/instance-alarms.mdx) [`instanceEvents`](/api/graphql/operations/subscriptions/instance-events.mdx) [`instances`](/api/graphql/operations/queries/instances.mdx) [`integration`](/api/graphql/operations/queries/integration.mdx) [`Integration`](/api/graphql/types/objects/integration.mdx) [`IntegrationActivation`](/api/graphql/types/objects/integration-activation.mdx) [`integrations`](/api/graphql/operations/queries/integrations.mdx) [`integrationTypes`](/api/graphql/operations/queries/integration-types.mdx) [`InviteGroupViewer`](/api/graphql/types/objects/invite-group-viewer.mdx) [`InviteOrganizationViewer`](/api/graphql/types/objects/invite-organization-viewer.mdx) [`InviteViewer`](/api/graphql/types/objects/invite-viewer.mdx) [`Link`](/api/graphql/types/objects/link.mdx) [`linkComponents`](/api/graphql/operations/mutations/link-components.mdx) [`LinkComponentsInput`](/api/graphql/types/inputs/link-components-input.mdx) [`LoginSessionViewer`](/api/graphql/types/objects/login-session-viewer.mdx) [`LogoOrganization`](/api/graphql/types/objects/logo-organization.mdx) [`ociRepo`](/api/graphql/operations/queries/oci-repo.mdx) [`OciRepo`](/api/graphql/types/objects/oci-repo.mdx) [`ociRepos`](/api/graphql/operations/queries/oci-repos.mdx) [`organization`](/api/graphql/operations/queries/organization.mdx) [`Organization`](/api/graphql/types/objects/organization.mdx) [`organizationEvents`](/api/graphql/operations/subscriptions/organization-events.mdx) [`orphanInstance`](/api/graphql/operations/mutations/orphan-instance.mdx) [`paramDimensions`](/api/graphql/operations/queries/param-dimensions.mdx) [`planDeployment`](/api/graphql/operations/mutations/plan-deployment.mdx) [`Policy`](/api/graphql/types/objects/policy.mdx) [`PolicyAction`](/api/graphql/types/objects/policy-action.mdx) [`policyActions`](/api/graphql/operations/queries/policy-actions.mdx) [`PolicyDecision`](/api/graphql/types/objects/policy-decision.mdx) [`PolicyDecisionInput`](/api/graphql/types/inputs/policy-decision-input.mdx) [`policyEntities`](/api/graphql/operations/queries/policy-entities.mdx) [`PolicyEntity`](/api/graphql/types/objects/policy-entity.mdx) [`project`](/api/graphql/operations/queries/project.mdx) [`Project`](/api/graphql/types/objects/project.mdx) [`projectEvents`](/api/graphql/operations/subscriptions/project-events.mdx) [`projects`](/api/graphql/operations/queries/projects.mdx) [`proposeDeployment`](/api/graphql/operations/mutations/propose-deployment.mdx) [`ProvisioningOrganizationViewer`](/api/graphql/types/objects/provisioning-organization-viewer.mdx) [`publishResourceType`](/api/graphql/deprecated/operations/mutations/publish-resource-type.mdx) [`rejectDeployment`](/api/graphql/operations/mutations/reject-deployment.mdx) [`RemoteReference`](/api/graphql/types/objects/remote-reference.mdx) [`removeComponent`](/api/graphql/operations/mutations/remove-component.mdx) [`removeEnvironmentDefault`](/api/graphql/operations/mutations/remove-environment-default.mdx) [`removeInstanceSecret`](/api/graphql/operations/mutations/remove-instance-secret.mdx) [`removeOrganizationLogo`](/api/graphql/operations/mutations/remove-organization-logo.mdx) [`removeRemoteReference`](/api/graphql/operations/mutations/remove-remote-reference.mdx) [`removeServiceAccountFromGroup`](/api/graphql/operations/mutations/remove-service-account-from-group.mdx) [`resource`](/api/graphql/operations/queries/resource.mdx) [`Resource`](/api/graphql/types/objects/resource.mdx) [`resources`](/api/graphql/operations/queries/resources.mdx) [`resourceType`](/api/graphql/operations/queries/resource-type.mdx) [`ResourceType`](/api/graphql/types/objects/resource-type.mdx) [`resourceTypes`](/api/graphql/operations/queries/resource-types.mdx) [`ResourceWithSensitiveValues`](/api/graphql/types/objects/resource-with-sensitive-values.mdx) [`revokeAccessToken`](/api/graphql/operations/mutations/revoke-access-token.mdx) [`rollbackDeployment`](/api/graphql/operations/mutations/rollback-deployment.mdx) [`ScimProvisioningViewer`](/api/graphql/types/objects/scim-provisioning-viewer.mdx) [`serviceAccount`](/api/graphql/operations/queries/service-account.mdx) [`ServiceAccount`](/api/graphql/types/objects/service-account.mdx) [`serviceAccounts`](/api/graphql/operations/queries/service-accounts.mdx) [`ServiceAccountViewer`](/api/graphql/types/objects/service-account-viewer.mdx) [`ServiceAccountWithDefaultAccessToken`](/api/graphql/types/objects/service-account-with-default-access-token.mdx) [`setComponentPosition`](/api/graphql/operations/mutations/set-component-position.mdx) [`setEnvironmentDefault`](/api/graphql/operations/mutations/set-environment-default.mdx) [`setInstanceSecret`](/api/graphql/operations/mutations/set-instance-secret.mdx) [`setOrganizationLogo`](/api/graphql/operations/mutations/set-organization-logo.mdx) [`setRemoteReference`](/api/graphql/operations/mutations/set-remote-reference.mdx) [`unlinkComponents`](/api/graphql/operations/mutations/unlink-components.mdx) [`updateComponent`](/api/graphql/operations/mutations/update-component.mdx) [`updateCustomAttribute`](/api/graphql/operations/mutations/update-custom-attribute.mdx) [`updateEnvironment`](/api/graphql/operations/mutations/update-environment.mdx) [`updateGroup`](/api/graphql/operations/mutations/update-group.mdx) [`updateInstance`](/api/graphql/operations/mutations/update-instance.mdx) [`updateInstanceAlarm`](/api/graphql/operations/mutations/update-instance-alarm.mdx) [`updateOciRepo`](/api/graphql/operations/mutations/update-oci-repo.mdx) [`updateOrganization`](/api/graphql/operations/mutations/update-organization.mdx) [`updatePolicy`](/api/graphql/operations/mutations/update-policy.mdx) [`updateProject`](/api/graphql/operations/mutations/update-project.mdx) [`updateResource`](/api/graphql/operations/mutations/update-resource.mdx) [`updateServiceAccount`](/api/graphql/operations/mutations/update-service-account.mdx)
\ No newline at end of file
+[`abortDeployment`](/api/graphql/operations/mutations/abort-deployment.mdx) [`AccessToken`](/api/graphql/types/objects/access-token.mdx) [`accessTokens`](/api/graphql/operations/queries/access-tokens.mdx) [`AccessTokenWithValue`](/api/graphql/types/objects/access-token-with-value.mdx) [`Account`](/api/graphql/types/objects/account.mdx) [`AccountIdentityViewer`](/api/graphql/types/objects/account-identity-viewer.mdx) [`AccountViewer`](/api/graphql/types/objects/account-viewer.mdx) [`addAccountToGroup`](/api/graphql/operations/mutations/add-account-to-group.mdx) [`addComponent`](/api/graphql/operations/mutations/add-component.mdx) [`addServiceAccountToGroup`](/api/graphql/operations/mutations/add-service-account-to-group.mdx) [`Alarm`](/api/graphql/types/objects/alarm.mdx) [`AlarmState`](/api/graphql/types/objects/alarm-state.mdx) [`approveDeployment`](/api/graphql/operations/mutations/approve-deployment.mdx) [`auditLog`](/api/graphql/operations/queries/audit-log.mdx) [`AuditLog`](/api/graphql/types/objects/audit-log.mdx) [`AuditLogActor`](/api/graphql/types/objects/audit-log-actor.mdx) [`auditLogEventTypes`](/api/graphql/operations/queries/audit-log-event-types.mdx) [`auditLogs`](/api/graphql/operations/queries/audit-logs.mdx) [`AvatarViewer`](/api/graphql/types/objects/avatar-viewer.mdx) [`bundle`](/api/graphql/operations/queries/bundle.mdx) [`cloneProject`](/api/graphql/operations/mutations/clone-project.mdx) [`compareDeployments`](/api/graphql/operations/queries/compare-deployments.mdx) [`compareEnvironments`](/api/graphql/operations/queries/compare-environments.mdx) [`component`](/api/graphql/operations/queries/component.mdx) [`Component`](/api/graphql/types/objects/component.mdx) [`Connection`](/api/graphql/types/objects/connection.mdx) [`copyInstance`](/api/graphql/operations/mutations/copy-instance.mdx) [`createAccessToken`](/api/graphql/operations/mutations/create-access-token.mdx) [`createCustomAttribute`](/api/graphql/operations/mutations/create-custom-attribute.mdx) [`createDeployment`](/api/graphql/operations/mutations/create-deployment.mdx) [`createEnvironment`](/api/graphql/operations/mutations/create-environment.mdx) [`createGroup`](/api/graphql/operations/mutations/create-group.mdx) [`createGroupPolicy`](/api/graphql/operations/mutations/create-group-policy.mdx) [`createInstanceAlarm`](/api/graphql/operations/mutations/create-instance-alarm.mdx) [`createIntegration`](/api/graphql/operations/mutations/create-integration.mdx) [`createOciRepo`](/api/graphql/operations/mutations/create-oci-repo.mdx) [`createProject`](/api/graphql/operations/mutations/create-project.mdx) [`createRepoGrant`](/api/graphql/operations/mutations/create-repo-grant.mdx) [`createResource`](/api/graphql/operations/mutations/create-resource.mdx) [`createResourceGrant`](/api/graphql/operations/mutations/create-resource-grant.mdx) [`createServiceAccount`](/api/graphql/operations/mutations/create-service-account.mdx) [`CustomAttribute`](/api/graphql/types/objects/custom-attribute.mdx) [`customAttributeSchema`](/api/graphql/operations/queries/custom-attribute-schema.mdx) [`customAttributeValues`](/api/graphql/operations/queries/custom-attribute-values.mdx) [`decommissionEnvironment`](/api/graphql/operations/mutations/decommission-environment.mdx) [`deleteCustomAttribute`](/api/graphql/operations/mutations/delete-custom-attribute.mdx) [`deleteEnvironment`](/api/graphql/operations/mutations/delete-environment.mdx) [`deleteGrant`](/api/graphql/operations/mutations/delete-grant.mdx) [`deleteGroup`](/api/graphql/operations/mutations/delete-group.mdx) [`deleteGroupInvitation`](/api/graphql/operations/mutations/delete-group-invitation.mdx) [`deleteGroupMember`](/api/graphql/operations/mutations/delete-group-member.mdx) [`deleteInstanceAlarm`](/api/graphql/operations/mutations/delete-instance-alarm.mdx) [`deleteIntegration`](/api/graphql/operations/mutations/delete-integration.mdx) [`deleteOciRepo`](/api/graphql/operations/mutations/delete-oci-repo.mdx) [`deleteOrganizationMember`](/api/graphql/operations/mutations/delete-organization-member.mdx) [`deletePolicy`](/api/graphql/operations/mutations/delete-policy.mdx) [`deleteProject`](/api/graphql/operations/mutations/delete-project.mdx) [`deleteResource`](/api/graphql/operations/mutations/delete-resource.mdx) [`deleteResourceType`](/api/graphql/deprecated/operations/mutations/delete-resource-type.mdx) [`deleteServiceAccount`](/api/graphql/operations/mutations/delete-service-account.mdx) [`deployEnvironment`](/api/graphql/operations/mutations/deploy-environment.mdx) [`deployment`](/api/graphql/operations/queries/deployment.mdx) [`Deployment`](/api/graphql/types/objects/deployment.mdx) [`deploymentEvents`](/api/graphql/operations/subscriptions/deployment-events.mdx) [`deploymentLogs`](/api/graphql/operations/subscriptions/deployment-logs.mdx) [`deployments`](/api/graphql/operations/queries/deployments.mdx) [`disableIntegration`](/api/graphql/operations/mutations/disable-integration.mdx) [`enableIntegration`](/api/graphql/operations/mutations/enable-integration.mdx) [`environment`](/api/graphql/operations/queries/environment.mdx) [`Environment`](/api/graphql/types/objects/environment.mdx) [`EnvironmentDefault`](/api/graphql/types/objects/environment-default.mdx) [`EnvironmentDefaultResource`](/api/graphql/types/objects/environment-default-resource.mdx) [`environmentEvents`](/api/graphql/operations/subscriptions/environment-events.mdx) [`environments`](/api/graphql/operations/queries/environments.mdx) [`evaluatePolicies`](/api/graphql/operations/queries/evaluate-policies.mdx) [`evaluatePolicy`](/api/graphql/operations/queries/evaluate-policy.mdx) [`EventType`](/api/graphql/types/objects/event-type.mdx) [`eventTypes`](/api/graphql/operations/queries/event-types.mdx) [`explainPolicy`](/api/graphql/operations/queries/explain-policy.mdx) [`exportResource`](/api/graphql/operations/mutations/export-resource.mdx) [`forkEnvironment`](/api/graphql/operations/mutations/fork-environment.mdx) [`Grant`](/api/graphql/types/objects/grant.mdx) [`group`](/api/graphql/operations/queries/group.mdx) [`Group`](/api/graphql/types/objects/group.mdx) [`GroupInvitation`](/api/graphql/types/objects/group-invitation.mdx) [`groupPolicy`](/api/graphql/operations/queries/group-policy.mdx) [`groups`](/api/graphql/operations/queries/groups.mdx) [`IdFilter`](/api/graphql/types/inputs/id-filter.mdx) [`instance`](/api/graphql/operations/queries/instance.mdx) [`Instance`](/api/graphql/types/objects/instance.mdx) [`instanceAlarm`](/api/graphql/operations/queries/instance-alarm.mdx) [`instanceAlarms`](/api/graphql/operations/queries/instance-alarms.mdx) [`instanceEvents`](/api/graphql/operations/subscriptions/instance-events.mdx) [`instances`](/api/graphql/operations/queries/instances.mdx) [`integration`](/api/graphql/operations/queries/integration.mdx) [`Integration`](/api/graphql/types/objects/integration.mdx) [`IntegrationActivation`](/api/graphql/types/objects/integration-activation.mdx) [`integrations`](/api/graphql/operations/queries/integrations.mdx) [`integrationTypes`](/api/graphql/operations/queries/integration-types.mdx) [`InviteGroupViewer`](/api/graphql/types/objects/invite-group-viewer.mdx) [`InviteOrganizationViewer`](/api/graphql/types/objects/invite-organization-viewer.mdx) [`InviteViewer`](/api/graphql/types/objects/invite-viewer.mdx) [`Link`](/api/graphql/types/objects/link.mdx) [`linkComponents`](/api/graphql/operations/mutations/link-components.mdx) [`LinkComponentsInput`](/api/graphql/types/inputs/link-components-input.mdx) [`LoginSessionViewer`](/api/graphql/types/objects/login-session-viewer.mdx) [`LogoOrganization`](/api/graphql/types/objects/logo-organization.mdx) [`ociRepo`](/api/graphql/operations/queries/oci-repo.mdx) [`OciRepo`](/api/graphql/types/objects/oci-repo.mdx) [`ociRepos`](/api/graphql/operations/queries/oci-repos.mdx) [`organization`](/api/graphql/operations/queries/organization.mdx) [`Organization`](/api/graphql/types/objects/organization.mdx) [`organizationEvents`](/api/graphql/operations/subscriptions/organization-events.mdx) [`orphanInstance`](/api/graphql/operations/mutations/orphan-instance.mdx) [`paramDimensions`](/api/graphql/operations/queries/param-dimensions.mdx) [`planDeployment`](/api/graphql/operations/mutations/plan-deployment.mdx) [`Policy`](/api/graphql/types/objects/policy.mdx) [`PolicyAction`](/api/graphql/types/objects/policy-action.mdx) [`policyActions`](/api/graphql/operations/queries/policy-actions.mdx) [`PolicyDecision`](/api/graphql/types/objects/policy-decision.mdx) [`PolicyDecisionInput`](/api/graphql/types/inputs/policy-decision-input.mdx) [`policyEntities`](/api/graphql/operations/queries/policy-entities.mdx) [`PolicyEntity`](/api/graphql/types/objects/policy-entity.mdx) [`project`](/api/graphql/operations/queries/project.mdx) [`Project`](/api/graphql/types/objects/project.mdx) [`projectEvents`](/api/graphql/operations/subscriptions/project-events.mdx) [`projects`](/api/graphql/operations/queries/projects.mdx) [`proposeDeployment`](/api/graphql/operations/mutations/propose-deployment.mdx) [`ProvisioningOrganizationViewer`](/api/graphql/types/objects/provisioning-organization-viewer.mdx) [`publishResourceType`](/api/graphql/deprecated/operations/mutations/publish-resource-type.mdx) [`rejectDeployment`](/api/graphql/operations/mutations/reject-deployment.mdx) [`RemoteReference`](/api/graphql/types/objects/remote-reference.mdx) [`removeComponent`](/api/graphql/operations/mutations/remove-component.mdx) [`removeEnvironmentDefault`](/api/graphql/operations/mutations/remove-environment-default.mdx) [`removeInstanceSecret`](/api/graphql/operations/mutations/remove-instance-secret.mdx) [`removeOrganizationLogo`](/api/graphql/operations/mutations/remove-organization-logo.mdx) [`removeRemoteReference`](/api/graphql/operations/mutations/remove-remote-reference.mdx) [`removeServiceAccountFromGroup`](/api/graphql/operations/mutations/remove-service-account-from-group.mdx) [`resource`](/api/graphql/operations/queries/resource.mdx) [`Resource`](/api/graphql/types/objects/resource.mdx) [`resources`](/api/graphql/operations/queries/resources.mdx) [`resourceType`](/api/graphql/operations/queries/resource-type.mdx) [`ResourceType`](/api/graphql/types/objects/resource-type.mdx) [`resourceTypes`](/api/graphql/operations/queries/resource-types.mdx) [`ResourceWithSensitiveValues`](/api/graphql/types/objects/resource-with-sensitive-values.mdx) [`revokeAccessToken`](/api/graphql/operations/mutations/revoke-access-token.mdx) [`rollbackDeployment`](/api/graphql/operations/mutations/rollback-deployment.mdx) [`ScimProvisioningViewer`](/api/graphql/types/objects/scim-provisioning-viewer.mdx) [`serviceAccount`](/api/graphql/operations/queries/service-account.mdx) [`ServiceAccount`](/api/graphql/types/objects/service-account.mdx) [`serviceAccounts`](/api/graphql/operations/queries/service-accounts.mdx) [`ServiceAccountViewer`](/api/graphql/types/objects/service-account-viewer.mdx) [`ServiceAccountWithDefaultAccessToken`](/api/graphql/types/objects/service-account-with-default-access-token.mdx) [`setComponentPosition`](/api/graphql/operations/mutations/set-component-position.mdx) [`setEnvironmentDefault`](/api/graphql/operations/mutations/set-environment-default.mdx) [`setInstanceSecret`](/api/graphql/operations/mutations/set-instance-secret.mdx) [`setOrganizationLogo`](/api/graphql/operations/mutations/set-organization-logo.mdx) [`setRemoteReference`](/api/graphql/operations/mutations/set-remote-reference.mdx) [`unlinkComponents`](/api/graphql/operations/mutations/unlink-components.mdx) [`updateComponent`](/api/graphql/operations/mutations/update-component.mdx) [`updateCustomAttribute`](/api/graphql/operations/mutations/update-custom-attribute.mdx) [`updateEnvironment`](/api/graphql/operations/mutations/update-environment.mdx) [`updateGroup`](/api/graphql/operations/mutations/update-group.mdx) [`updateInstance`](/api/graphql/operations/mutations/update-instance.mdx) [`updateInstanceAlarm`](/api/graphql/operations/mutations/update-instance-alarm.mdx) [`updateOciRepo`](/api/graphql/operations/mutations/update-oci-repo.mdx) [`updateOrganization`](/api/graphql/operations/mutations/update-organization.mdx) [`updateOrganizationSettings`](/api/graphql/operations/mutations/update-organization-settings.mdx) [`updatePolicy`](/api/graphql/operations/mutations/update-policy.mdx) [`updateProject`](/api/graphql/operations/mutations/update-project.mdx) [`updateResource`](/api/graphql/operations/mutations/update-resource.mdx) [`updateServiceAccount`](/api/graphql/operations/mutations/update-service-account.mdx)
\ No newline at end of file
diff --git a/schema/schema.graphql b/schema/schema.graphql
index 8697523..b95f310 100644
--- a/schema/schema.graphql
+++ b/schema/schema.graphql
@@ -395,9 +395,10 @@ type RootQueryType {
"""
List OCI repositories in your organization's bundle catalog.
- Returns a paginated list of repositories. Each repository is the container
- for all published versions of a bundle. Use `filter` to narrow by name,
- artifact type, or full-text search.
+ Returns a paginated list of repositories of every artifact type (bundles
+ and resource types). Each repository is the container for all published
+ versions of its artifact. Use `filter` to narrow by name, artifact type,
+ or full-text search.
```graphql
query {
@@ -1892,6 +1893,20 @@ type RootMutationType {
input: UpdateOrganizationInput!
): OrganizationPayload @inputs(name: "updateOrganization", schema: "\/graphql\/v2\/inputs\/updateOrganization.json", ui: "\/graphql\/v2\/inputs\/updateOrganization.ui.json")
+ """
+ Change organization-wide behavior settings.
+
+ Only the settings you provide are changed; omitted settings keep their
+ current values. Requires the `organization:manageSettings` action.
+ """
+ updateOrganizationSettings(
+ "Your organization's unique identifier."
+ organizationId: ID!
+
+ "Change organization-wide behavior settings. Only the settings you provide are changed; omitted settings keep their current values."
+ input: UpdateOrganizationSettingsInput!
+ ): OrganizationPayload @inputs(name: "updateOrganizationSettings", schema: "\/graphql\/v2\/inputs\/updateOrganizationSettings.json", ui: "\/graphql\/v2\/inputs\/updateOrganizationSettings.ui.json")
+
"""
Upload or replace your organization's logo.
@@ -5308,6 +5323,12 @@ input UpdateOrganizationInput {
name: String!
}
+"Change organization-wide behavior settings. Only the settings you provide are changed; omitted settings keep their current values."
+input UpdateOrganizationSettingsInput {
+ "Access granted to new bundle repositories at creation. NONE keeps each new repository restricted until a grant is authored for it. ALL_PROJECTS automatically creates an org-wide repo:pull grant on each new bundle repository, making its bundles usable by every project. Changing this setting only affects repositories created afterwards."
+ defaultBundleAccess: OrganizationDefaultBundleAccess
+}
+
"""
Subscription status for an organization.
@@ -5341,6 +5362,20 @@ enum OrganizationSubscriptionStatus {
PAYMENT_FAILED
}
+"""
+Access granted to new bundle repositories at creation.
+
+Changing this setting only affects repositories created afterwards — access
+to existing repositories is managed through their grants.
+"""
+enum OrganizationDefaultBundleAccess {
+ "New bundle repositories are restricted until a grant is authored for them."
+ NONE
+
+ "Every new bundle repository automatically receives an org-wide `repo:pull` grant, making its bundles usable by every project. The grant is a normal grant row: it is listed on the repository and can be revoked with `deleteGrant`."
+ ALL_PROJECTS
+}
+
"Available fields for sorting organizations."
enum OrganizationsSortField {
"Sort alphabetically by organization name (A-Z or Z-A)."
@@ -5380,9 +5415,9 @@ graph TD
Members access resources through **group memberships** with role-based permissions.
Custom attributes defined at the organization level govern attribute metadata across all child resources.
-Administrative fields (`billing`, `members`, `customAttributes`) resolve to `null` for
-callers who lack the corresponding ABAC action; in that case a top-level `FORBIDDEN`
-error is added to the response while the rest of the organization still resolves.
+Administrative fields (`billing`, `members`, `customAttributes`, `settings`) resolve to
+`null` for callers who lack the corresponding ABAC action; in that case a top-level
+`FORBIDDEN` error is added to the response while the rest of the organization still resolves.
"""
type Organization {
id: ID!
@@ -5460,6 +5495,27 @@ type Organization {
`subscriptionStatus` field at the top of the type stays visible to every member.
"""
billing: OrganizationBilling
+
+ """
+ Organization-wide behavior settings.
+
+ Requires the `organization:manageSettings` action. Change settings with the
+ `updateOrganizationSettings` mutation.
+ """
+ settings: OrganizationSettings
+}
+
+"""
+Organization-wide behavior settings.
+
+Settings apply to the whole organization and shape platform behavior — for
+example, the access new bundle repositories receive at creation. Each setting
+has a default, so organizations created before a setting existed read it as
+the default. Change settings with the `updateOrganizationSettings` mutation.
+"""
+type OrganizationSettings {
+ "Access granted to new bundle repositories at creation. Defaults to `NONE` — new repositories are restricted until a grant is authored for them."
+ defaultBundleAccess: OrganizationDefaultBundleAccess!
}
"Confirmation payload returned after removing a member from the organization."
@@ -8239,7 +8295,7 @@ type BundleDependency {
"When `true`, this dependency must be connected before the bundle can be deployed."
required: Boolean!
- "The resource type this dependency accepts. `null` if the resource type has been removed from the catalog."
+ "The resource type this dependency accepts. `null` if the field is not pinned to a resource type — for example, the type has been removed from the catalog."
resourceType: ResourceType
}
@@ -8258,7 +8314,7 @@ type BundleResource {
"When `true`, this resource is always produced on a successful deployment."
required: Boolean!
- "The resource type this output produces. `null` if the resource type has been removed from the catalog."
+ "The resource type this output produces. `null` if the field is not pinned to a resource type — for example, the type has been removed from the catalog."
resourceType: ResourceType
}
@@ -8364,11 +8420,14 @@ scalar OciRepoName
The kind of artifact stored in an OCI repository.
Each value maps to a concrete [OCI artifact type](https://github.com/opencontainers/image-spec/blob/main/manifest.md#guidelines-for-artifact-usage)
-media string written to the manifest. Today only `BUNDLE` is supported; additional types will be added as the catalog expands.
+media string written to the manifest. Additional types will be added as the catalog expands.
"""
enum OciArtifactType {
"Massdriver bundle (`application\/vnd.massdriver.bundle.v1+json`)."
BUNDLE
+
+ "Massdriver resource type (`application\/vnd.massdriver.resource-type.v1+json`)."
+ RESOURCE_TYPE
}
"""
@@ -8408,13 +8467,13 @@ enum OciFilesSortField {
"Create a new OCI repository in your organization's catalog. Repositories must exist before any version can be published to them."
input CreateOciRepoInput {
- "OCI artifact type stored in this repository. Today only `BUNDLE` is accepted; additional types will be added as Massdriver expands the catalog."
+ "OCI artifact type stored in this repository. `BUNDLE` holds Massdriver bundles; `RESOURCE_TYPE` holds Massdriver resource types."
artifactType: OciArtifactType!
"Key-value attributes for this repository. Used by ABAC policies for fine-grained access control. Reserved `md-*` keys are rejected. Must conform to the organization's custom attributes for the repo scope."
attributes: Map
- "Unique repository name within your organization, e.g. `aws-aurora-postgres`. Lowercase letters, numbers, dashes, underscores only. Max 53 characters. Cannot be changed after creation."
+ "Unique repository name within your organization, e.g. `aws-aurora-postgres`. Lowercase letters, numbers, dashes, underscores only. Max 100 characters. Cannot be changed after creation."
id: String!
}
@@ -8430,7 +8489,7 @@ Filters for narrowing the OCI repositories list.
All filters are combined with AND logic.
"""
input OciReposFilter {
- "Filter by OCI artifact media type. Currently the only supported type is `application\/vnd.massdriver.bundle.v1+json`. Passing an unsupported type returns an empty list."
+ "Filter by OCI artifact media type. Supported types are `application\/vnd.massdriver.bundle.v1+json` and `application\/vnd.massdriver.resource-type.v1+json`. When omitted, repositories of every artifact type are returned. Passing an unsupported type returns an empty list."
artifactType: String
"Filter repositories by name using exact match, prefix, or set membership."
@@ -8642,8 +8701,8 @@ type OciRepo {
"""
The [OCI artifact type](https://github.com/opencontainers/image-spec/blob/main/manifest.md#guidelines-for-artifact-usage)
- stored in this repository. Currently always
- `application/vnd.massdriver.bundle.v1+json`.
+ stored in this repository — `application/vnd.massdriver.bundle.v1+json` or
+ `application/vnd.massdriver.resource-type.v1+json`.
"""
artifactType: String!