Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
pagination_next: null
pagination_prev: null
hide_table_of_contents: true
id: update-organization-settings
title: updateOrganizationSettings
---




export const Bullet = () => <><span style={{ fontWeight: 'normal', fontSize: '.5em', color: 'var(--ifm-color-secondary-darkest)' }}>&nbsp;●&nbsp;</span></>

export const SpecifiedBy = (props) => <>Specification<a className="link" style={{ fontSize:'1.5em', paddingLeft:'4px' }} target="_blank" href={props.url} title={'Specified by ' + props.url}>⎘</a></>

export const Badge = (props) => <><span className={props.class}>{props.text}</span></>

import { useState } from 'react';

export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
<details {...(open ? { open: true } : {})} className="details" style={{ border:'none', boxShadow:'none', background:'var(--ifm-background-color)' }}>
<summary
onClick={(e) => {
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle:'none' }}
>
{open ? dataOpen : dataClose}
</summary>
{open && children}
</details>
);
};




<Badge class="badge badge--secondary badge--primary" text="form schema"/>



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)

<SchemaForm
schemaUrl="https://api.massdriver.cloud/graphql/v2/inputs/updateOrganizationSettings.json"
uiSchemaUrl="https://api.massdriver.cloud/graphql/v2/inputs/updateOrganizationSettings.ui.json"
name="updateOrganizationSettings"
/>

### Arguments

#### [<code style={{ fontWeight: 'normal' }}>updateOrganizationSettings.<b>organizationId</b></code>](#organization-id)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>ID!</b></code>](/api/graphql/types/scalars/id.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#organization-id\}
Your organization's unique identifier.


#### [<code style={{ fontWeight: 'normal' }}>updateOrganizationSettings.<b>input</b></code>](#input)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>UpdateOrganizationSettingsInput!</b></code>](/api/graphql/types/inputs/update-organization-settings-input.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="input"/> \{#input\}
Change organization-wide behavior settings. Only the settings you provide are changed; omitted settings keep their current values.


### Type

#### [<code style={{ fontWeight: 'normal' }}><b>OrganizationPayload</b></code>](/api/graphql/types/objects/organization-payload.mdx) <Badge class="badge badge--secondary " text="object"/>
7 changes: 4 additions & 3 deletions docs/api/graphql/operations/queries/oci-repos.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
6 changes: 3 additions & 3 deletions docs/api/graphql/operations/queries/organization.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.
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.
7 changes: 6 additions & 1 deletion docs/api/graphql/types/enums/oci-artifact-type.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
```

Expand All @@ -63,6 +64,10 @@ enum OciArtifactType {
Massdriver bundle (`application/vnd.massdriver.bundle.v1+json`).


#### [<code style={{ fontWeight: 'normal' }}>OciArtifactType.<b>RESOURCE&#x005F;TYPE</b></code>](#resource-type) \{#resource-type\}
Massdriver resource type (`application/vnd.massdriver.resource-type.v1+json`).





Expand Down
Original file line number Diff line number Diff line change
@@ -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 = () => <><span style={{ fontWeight: 'normal', fontSize: '.5em', color: 'var(--ifm-color-secondary-darkest)' }}>&nbsp;●&nbsp;</span></>

export const SpecifiedBy = (props) => <>Specification<a className="link" style={{ fontSize:'1.5em', paddingLeft:'4px' }} target="_blank" href={props.url} title={'Specified by ' + props.url}>⎘</a></>

export const Badge = (props) => <><span className={props.class}>{props.text}</span></>

import { useState } from 'react';

export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
<details {...(open ? { open: true } : {})} className="details" style={{ border:'none', boxShadow:'none', background:'var(--ifm-background-color)' }}>
<summary
onClick={(e) => {
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle:'none' }}
>
{open ? dataOpen : dataClose}
</summary>
{open && children}
</details>
);
};








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

#### [<code style={{ fontWeight: 'normal' }}>OrganizationDefaultBundleAccess.<b>NONE</b></code>](#none) \{#none\}
New bundle repositories are restricted until a grant is authored for them.


#### [<code style={{ fontWeight: 'normal' }}>OrganizationDefaultBundleAccess.<b>ALL&#x005F;PROJECTS</b></code>](#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) <Badge class="badge badge--secondary badge--relation" text="object"/><Bullet />[`UpdateOrganizationSettingsInput`](/api/graphql/types/inputs/update-organization-settings-input.mdx) <Badge class="badge badge--secondary badge--relation" text="input"/>
4 changes: 2 additions & 2 deletions docs/api/graphql/types/inputs/create-oci-repo-input.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,15 @@ input CreateOciRepoInput {
### Fields

#### [<code style={{ fontWeight: 'normal' }}>CreateOciRepoInput.<b>artifactType</b></code>](#artifact-type)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>OciArtifactType!</b></code>](/api/graphql/types/enums/oci-artifact-type.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="enum"/> \{#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.


#### [<code style={{ fontWeight: 'normal' }}>CreateOciRepoInput.<b>attributes</b></code>](#attributes)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>Map</b></code>](/api/graphql/types/scalars/map.mdx) <Badge class="badge badge--secondary " text="scalar"/> \{#attributes\}
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.


#### [<code style={{ fontWeight: 'normal' }}>CreateOciRepoInput.<b>id</b></code>](#id)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>String!</b></code>](/api/graphql/types/scalars/string.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#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.



Expand Down
2 changes: 1 addition & 1 deletion docs/api/graphql/types/inputs/oci-repos-filter.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ input OciReposFilter {
### Fields

#### [<code style={{ fontWeight: 'normal' }}>OciReposFilter.<b>artifactType</b></code>](#artifact-type)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>String</b></code>](/api/graphql/types/scalars/string.mdx) <Badge class="badge badge--secondary " text="scalar"/> \{#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.


#### [<code style={{ fontWeight: 'normal' }}>OciReposFilter.<b>name</b></code>](#name)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>OciRepoNameFilter</b></code>](/api/graphql/types/inputs/oci-repo-name-filter.mdx) <Badge class="badge badge--secondary " text="input"/> \{#name\}
Expand Down
Original file line number Diff line number Diff line change
@@ -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 = () => <><span style={{ fontWeight: 'normal', fontSize: '.5em', color: 'var(--ifm-color-secondary-darkest)' }}>&nbsp;●&nbsp;</span></>

export const SpecifiedBy = (props) => <>Specification<a className="link" style={{ fontSize:'1.5em', paddingLeft:'4px' }} target="_blank" href={props.url} title={'Specified by ' + props.url}>⎘</a></>

export const Badge = (props) => <><span className={props.class}>{props.text}</span></>

import { useState } from 'react';

export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
<details {...(open ? { open: true } : {})} className="details" style={{ border:'none', boxShadow:'none', background:'var(--ifm-background-color)' }}>
<summary
onClick={(e) => {
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle:'none' }}
>
{open ? dataOpen : dataClose}
</summary>
{open && children}
</details>
);
};








Change organization-wide behavior settings. Only the settings you provide are changed; omitted settings keep their current values.


```graphql
input UpdateOrganizationSettingsInput {
defaultBundleAccess: OrganizationDefaultBundleAccess
}
```




### Fields

#### [<code style={{ fontWeight: 'normal' }}>UpdateOrganizationSettingsInput.<b>defaultBundleAccess</b></code>](#default-bundle-access)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>OrganizationDefaultBundleAccess</b></code>](/api/graphql/types/enums/organization-default-bundle-access.mdx) <Badge class="badge badge--secondary " text="enum"/> \{#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) <Badge class="badge badge--secondary badge--relation" text="mutation"/>
2 changes: 1 addition & 1 deletion docs/api/graphql/types/objects/bundle-dependency.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ When `true`, this dependency must be connected before the bundle can be deployed


#### [<code style={{ fontWeight: 'normal' }}>BundleDependency.<b>resourceType</b></code>](#resource-type)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>ResourceType</b></code>](/api/graphql/types/objects/resource-type.mdx) <Badge class="badge badge--secondary " text="object"/> \{#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.



Expand Down
2 changes: 1 addition & 1 deletion docs/api/graphql/types/objects/bundle-resource.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ When `true`, this resource is always produced on a successful deployment.


#### [<code style={{ fontWeight: 'normal' }}>BundleResource.<b>resourceType</b></code>](#resource-type)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>ResourceType</b></code>](/api/graphql/types/objects/resource-type.mdx) <Badge class="badge badge--secondary " text="object"/> \{#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.



Expand Down
4 changes: 2 additions & 2 deletions docs/api/graphql/types/objects/oci-repo.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,8 @@ oras pull api.massdriver.cloud/acme/aws-aurora-postgres:1.2.3

#### [<code style={{ fontWeight: 'normal' }}>OciRepo.<b>artifactType</b></code>](#artifact-type)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>String!</b></code>](/api/graphql/types/scalars/string.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#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`.


#### [<code style={{ fontWeight: 'normal' }}>OciRepo.<b>attributes</b></code>](#attributes)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>Map!</b></code>](/api/graphql/types/scalars/map.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#attributes\}
Expand Down
2 changes: 1 addition & 1 deletion docs/api/graphql/types/objects/organization-payload.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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) <Badge class="badge badge--secondary badge--relation" text="mutation"/><Bullet />[`updateOrganization`](/api/graphql/operations/mutations/update-organization.mdx) <Badge class="badge badge--secondary badge--relation" text="mutation"/>
[`createOrganization`](/api/graphql/operations/mutations/create-organization.mdx) <Badge class="badge badge--secondary badge--relation" text="mutation"/><Bullet />[`updateOrganization`](/api/graphql/operations/mutations/update-organization.mdx) <Badge class="badge badge--secondary badge--relation" text="mutation"/><Bullet />[`updateOrganizationSettings`](/api/graphql/operations/mutations/update-organization-settings.mdx) <Badge class="badge badge--secondary badge--relation" text="mutation"/>
Loading