NVIDIA Run:ai Storage Class Configuration API

The storage class configuration API enables administrators to define, manage, and customize how storage classes are used across the NVIDIA Run:ai platform. Through this API, you can configure access modes, volume modes, and claim size restrictions for persistent volume claims (PVCs). These settings help standardize storage behavior, enforce organization-wide policies, and ensure consistent resource allocation across workloads.

OpenAPI Specification

runai-storage-class-configuration-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: latest
  description: '# Introduction


    The NVIDIA Run:ai Control-Plane API reference is a guide that provides an easy-to-use programming interface for adding various tasks to your application, including workload submission, resource management, and administrative operations.


    NVIDIA Run:ai APIs are accessed using *bearer tokens*. To obtain a token, you need to create a **Service account** through the NVIDIA Run:ai user interface.

    To create a service account, in your UI, go to Access → Service Accounts (for organization-level service accounts) or User settings → Access Keys (for user access keys), and create a new one.


    After you have created a new service account, you will need to assign it access rules.

    To assign access rules to the service account, see [Create access rules](https://run-ai-docs.nvidia.com/saas/infrastructure-setup/authentication/accessrules#create-or-delete-rules).

    Make sure you assign the correct rules to your service account. Use the [Roles](https://run-ai-docs.nvidia.com/saas/infrastructure-setup/authentication/roles) to assign the correct access rules.


    To get your access token, follow the instructions in [Request a token](https://run-ai-docs.nvidia.com/saas/reference/api/rest-auth/#request-an-api-token).

    '
  title: NVIDIA Run:ai Access Keys Storage Class Configuration API
  x-logo:
    url: https://api.redocly.com/registry/raw/runai-xq8/saas/latest/public/runai-logo-api.png
    altText: NVIDIA Run:ai
    href: https://run.ai
  license:
    name: NVIDIA Run:ai
    url: https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-software-license-agreement/
servers:
- url: https://app.run.ai
security:
- bearerAuth: []
tags:
- name: Storage Class Configuration
  description: 'The storage class configuration API enables administrators to define, manage, and customize how storage classes are used across the NVIDIA Run:ai platform. Through this API, you can configure access modes, volume modes, and claim size restrictions for persistent volume claims (PVCs). These settings help standardize storage behavior, enforce organization-wide policies, and ensure consistent resource allocation across workloads.

    '
paths:
  /api/v1/storage-class-configuration:
    get:
      summary: List storage class configurations
      description: Retrieves a list of storage class configurations defined in the system.
      operationId: list_storage_class_configuration
      tags:
      - Storage Class Configuration
      x-csp: true
      parameters:
      - $ref: '#/components/parameters/StorageClassConfigurationFilterBy'
      - $ref: '#/components/parameters/StorageClassConfigurationSortBy'
      - $ref: '#/components/parameters/SortOrder'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: Executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StorageClassConfigurationListResponse'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    post:
      summary: Create storage class configuration
      description: 'Creates a new storage class configuration in the NVIDIA Run:ai platform.

        This endpoint enables administrators to define storage class behavior and customize their usage settings.

        '
      operationId: create_storage_class_configuration
      tags:
      - Storage Class Configuration
      x-csp: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StorageClassConfigurationCreationRequest'
      responses:
        '201':
          description: Executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StorageClassConfiguration'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
  /api/v1/storage-class-configuration/{id}:
    get:
      summary: Get storage class configuration by id
      description: 'Retrieves a specific storage class configuration by its unique identifier. Use this endpoint to view detailed information about the configuration, including its permissions and customization options.

        '
      operationId: get_storage_class_configuration_by_id
      x-csp: true
      tags:
      - Storage Class Configuration
      parameters:
      - $ref: '#/components/parameters/StorageClassConfigurationId'
      - name: tenantId
        in: query
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Storage class configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StorageClassConfiguration'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    patch:
      summary: Patch storage class configuration by id
      description: Partially updates an existing storage class configuration by its unique identifier. Use this endpoint to modify specific fields, such as permissions, customization values, or attributes, without replacing the entire configuration.
      operationId: patch_storage_class_configuration_by_id
      x-csp: true
      tags:
      - Storage Class Configuration
      parameters:
      - $ref: '#/components/parameters/StorageClassConfigurationId'
      - name: tenantId
        in: query
        required: false
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StorageClassConfigurationPatchRequest'
      responses:
        '200':
          description: Storage class configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StorageClassConfiguration'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    put:
      summary: Update storage class configuration by id
      description: Updates an existing storage class configuration by its unique identifier. Use this endpoint to fully replace an existing configuration, including permissions and customization settings.
      operationId: update_storage_class_configuration_by_id
      x-csp: true
      tags:
      - Storage Class Configuration
      parameters:
      - $ref: '#/components/parameters/StorageClassConfigurationId'
      - name: tenantId
        in: query
        required: false
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StorageClassConfigurationUpdateRequest'
      responses:
        '200':
          description: Storage class configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StorageClassConfiguration'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
    delete:
      summary: Delete storage class configuration by id
      description: Deletes a specific storage class configuration by its unique identifier. Use this endpoint to permanently remove configurations that are no longer needed.
      operationId: delete_storage_class_configuration_by_id
      x-csp: true
      tags:
      - Storage Class Configuration
      parameters:
      - $ref: '#/components/parameters/StorageClassConfigurationId'
      - name: tenantId
        in: query
        required: false
        schema:
          type: integer
      responses:
        '204':
          description: Storage class configuration deleted
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
        '503':
          $ref: '#/components/responses/503ServiceUnavailable'
components:
  schemas:
    AttributesCustomization:
      description: Defines additional annotation attributes to be applied to PVCs created under this storage class. Each attribute describes an annotation key and its expected value format, display name, and purpose.
      type: array
      items:
        $ref: '#/components/schemas/PvcAddedAttribute'
    Error:
      required:
      - code
      - message
      properties:
        code:
          type: integer
          minimum: 100
          maximum: 599
        message:
          type: string
        details:
          type: string
      example:
        code: 400
        message: Bad request - Resource should have a name
    AllowedForEphemeralVolumes:
      type: boolean
      nullable: true
      description: Allows workloads to create ephemeral volumes using this storage class. When disabled, users cannot (a) create PVC assets with autoDelete=true and ephemeral=true, or (b) include PVC instances with isEphemeral=false that use this storage class.
    StorageClassConfigurationListResponse:
      type: object
      required:
      - storageClassConfigurations
      properties:
        storageClassConfigurations:
          description: A list of storage class configuration objects. Each object defines the configuration details for a specific storage class.
          type: array
          items:
            $ref: '#/components/schemas/StorageClassConfiguration'
        next:
          type: integer
          example: 1
    StorageClassCustomization:
      description: Optional UI/policy controls that define defaults and requirements when creating PVCs with this storage class.
      properties:
        accessMode:
          $ref: '#/components/schemas/AccessModeCustomization'
        volumeMode:
          $ref: '#/components/schemas/VolumeModeCustomization'
        claimSize:
          $ref: '#/components/schemas/ClaimSizeCustomization'
        attributes:
          $ref: '#/components/schemas/AttributesCustomization'
      type: object
      nullable: true
    AccessModeCustomization:
      description: Controls whether PVC access modes are required and what defaults to apply.
      properties:
        required:
          type: boolean
          description: If true, the accessMode field is mandatory when creating a PVC that uses this storage class.
          nullable: true
        default:
          $ref: '#/components/schemas/PvcAccessModes'
        supportedValues:
          $ref: '#/components/schemas/PvcSupportedAccessModes'
      type: object
      nullable: true
    StorageClassName:
      description: The name of the storage class to which the configuration applies.
      type: string
      example: Standard
    AllowDataSharing:
      type: boolean
      nullable: true
      description: Allows creation of PVCs using a shared volume.
    ClaimSizeCustomization:
      description: Defines the default, supported units, and range constraints for PVC claim sizes. These settings control the requested storage capacity when creating a PVC using this storage class.
      properties:
        default:
          $ref: '#/components/schemas/PvcClaimSize'
        supportedUnits:
          description: 'Units supported for specifying PVC sizes. Valid values: "MB", "MiB", "GB", "GiB", "TB", "TiB".'
          type: array
          items:
            type: string
            enum:
            - MB
            - MiB
            - GB
            - GiB
            - TB
            - TiB
        min:
          $ref: '#/components/schemas/PvcClaimMinSize'
        max:
          $ref: '#/components/schemas/PvcClaimMaxSize'
        step:
          $ref: '#/components/schemas/PvcClaimStepSize'
      type: object
      nullable: true
    PvcClaimSize:
      description: 'Requested size for the PVC. Mandatory when existingPvc is false. Recommended sizes: TB/GB/MB/TIB/GIB/MIB'
      type: string
      pattern: ^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
      example: 1G
      nullable: true
    TenantId:
      description: The id of the tenant.
      type: integer
      format: int32
      example: 1001
    PvcAddedAttributeFormat:
      type: string
      description: 'Defines the data type the attribute can accept. Enum: "text" "number" "boolean"'
      enum:
      - text
      - number
      - boolean
      nullable: true
    AllowedForAssets:
      type: boolean
      nullable: true
      description: Determines whether PVC assets can be created using this storage class.
    PvcAddedAttribute:
      description: Attribute that is added to any PVC of a given storage class.
      required:
      - key
      properties:
        key:
          type: string
          minLength: 1
          description: 'The annotation key for the PVC. Must comply with Kubernetes naming rules: ≤63 characters, beginning and ending with an alphanumeric character ([A-Za-z0-9]), and may include dashes (-), underscores (_), or dots (.).'
          maxLength: 63
          pattern: ^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$
          example: dnsname
        format:
          description: 'Defines the data type the attribute can accept. Enum: "text" "number" "boolean"'
          $ref: '#/components/schemas/PvcAddedAttributeFormat'
        display:
          type: string
          minLength: 1
          description: User-friendly display name for the attribute, shown in the UI.
          nullable: true
          example: DNS Name
        description:
          type: string
          minLength: 1
          description: A description of the attribute's purpose or expected values.
          nullable: true
          example: The host name of the DNS
        placeholder:
          type: string
          minLength: 1
          description: Example or hint text for the attribute's value, displayed as a watermark or help message in the UI.
          nullable: true
          example: enter hostname or IP address
        required:
          description: Indicates whether this attribute is mandatory.
          type: boolean
          nullable: true
          example: 'true'
        defaultValue:
          description: Default value assigned to the attribute when not explicitly provided.
          type: string
          minLength: 1
          nullable: true
          example: my.dns.com
        validationRegexp:
          description: Regular expression used to validate user input for text attributes.
          type: string
          minLength: 1
          nullable: true
          example: ^[a-zA-Z0-9.-_]+$
        minValue:
          description: Minimum allowed value for attributes of type number.
          type: number
          minLength: 1
          nullable: true
          example: '100'
        maxValue:
          description: Maximum allowed value for attributes of type number.
          type: number
          minLength: 1
          nullable: true
          example: '200'
        step:
          description: Defines the incremental step between allowed numeric values (for example, 1, 0.1).
          type: number
          minLength: 1
          nullable: true
          example: '5'
        validationError:
          description: Custom validation error message shown if input fails validation. If omitted, a default error message is generated automatically.
          type: string
          minLength: 1
          nullable: true
          example: Invalid URL
      nullable: true
      type: object
    PvcClaimMinSize:
      description: 'Minimum claim size allowed for PVCs created with this storage class. Mandatory when existingPvc = false. Recommended values: TB, GB, MB, TIB, GIB, MIB.'
      type: string
      pattern: ^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
      example: 1G
      nullable: true
    ScopeClusterId:
      description: The ID of the cluster.
      type: string
      format: uuid
    PvcClaimMaxSize:
      description: 'Maximum claim size allowed for PVCs created with this storage class. Mandatory when existingPvc = false. Recommended values: TB, GB, MB, TIB, GIB, MIB.'
      type: string
      pattern: ^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
      example: 1G
      nullable: true
    AllowedForWorkloads:
      type: boolean
      nullable: true
      description: Allows workloads to include PVCs that use this storage class. When disabled, users cannot (a) include non-existing PVC assets created with this class in asset-based submissions, or (b) attach PVCs with existing=false to workloads using this class.
    PvcSupportedAccessModes:
      description: Defines the access modes supported by the given storage class. These values indicate which access configurations can be used when creating PVCs with this class.
      properties:
        readWriteOnce:
          description: Indicates whether the readWriteOnce access mode is supported. This mode allows a volume to be mounted as read/write by a single node.
          type: boolean
          default: true
          nullable: true
        readOnlyMany:
          description: Indicates whether the readOnlyMany access mode is supported. This mode allows a volume to be mounted as read-only by many nodes.
          type: boolean
          default: true
          nullable: true
        readWriteMany:
          description: Indicates whether the readWriteMany access mode is supported. This mode allows a volume to be mounted as read/write by many nodes.
          type: boolean
          default: true
          nullable: true
      nullable: true
      type: object
    PvcVolumeMode:
      description: Default volume mode for the PVC. Choose between Filesystem (default) or Block.
      type: string
      enum:
      - Filesystem
      - Block
      nullable: true
    AllowedForPersistentVolumes:
      type: boolean
      nullable: true
      description: Allows workloads to create persistent volumes using this storage class. When disabled, users cannot (a) create PVC assets with autoDelete=true and ephemeral=true, or (b) include PVC instances with isEphemeral=false that use this storage class.
    StorageClassConfigurationUpdateRequest:
      type: object
      properties:
        permissions:
          $ref: '#/components/schemas/StorageClassPermissions'
        customization:
          $ref: '#/components/schemas/StorageClassCustomization'
    StorageClassConfigurationCreationRequest:
      type: object
      required:
      - scopeType
      - scopeId
      - name
      properties:
        tenantId:
          type: integer
          nullable: true
          allOf:
          - $ref: '#/components/schemas/TenantId'
        scopeType:
          type: string
          description: the scope type of the configuration.
          enum:
          - cluster
          default: cluster
          example: cluster
        scopeId:
          $ref: '#/components/schemas/ScopeClusterId'
        name:
          $ref: '#/components/schemas/StorageClassName'
        permissions:
          $ref: '#/components/schemas/StorageClassPermissions'
        customization:
          $ref: '#/components/schemas/StorageClassCustomization'
    PvcClaimStepSize:
      description: Defines the incremental step between allowed numeric values (for example, 1, 0.1).
      type: string
      pattern: ^([+]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
      example: 1G
      nullable: true
    StorageClassPermissions:
      type: object
      nullable: true
      description: Defines the access permissions and behavioral rules for this storage class.
      properties:
        allowedForAssets:
          $ref: '#/components/schemas/AllowedForAssets'
        allowedForWorkloads:
          $ref: '#/components/schemas/AllowedForWorkloads'
        allowedForEphemeralVolumes:
          $ref: '#/components/schemas/AllowedForEphemeralVolumes'
        allowedForPersistentVolumes:
          $ref: '#/components/schemas/AllowedForPersistentVolumes'
        allowDataSharing:
          $ref: '#/components/schemas/AllowDataSharing'
    VolumeModeCustomization:
      description: Defines whether the volumeMode field is required when creating PVCs and specifies default and supported modes for the storage class.
      properties:
        required:
          type: boolean
          description: Indicates whether the volumeMode field is mandatory when creating a PVC.
          nullable: true
        default:
          $ref: '#/components/schemas/PvcVolumeMode'
        supportedValues:
          description: Lists which volume modes are supported for this storage class.
          type: object
          nullable: true
          properties:
            filesystem:
              type: boolean
              description: Indicates whether filesystem mode is supported. Filesystem allows the volume to be mounted as a filesystem, enabling the usage of directories and files.
              default: true
              nullable: true
            block:
              type: boolean
              description: Indicates whether block mode is supported. Exposes the volume as a block storage, which can be formatted or used by applications directly without a filesystem.
              default: true
              nullable: true
      type: object
      nullable: true
    PvcAttributesToRemove:
      description: optional list of attributes that you wish to remove
      properties:
        attributesToRemove:
          type: array
          items:
            type: string
          example:
          - dnsname
          - dnsip
      type: object
      nullable: true
    StorageClassConfiguration:
      type: object
      required:
      - id
      - tenantId
      - scopeType
      - scopeId
      - name
      properties:
        id:
          description: The unique identifier of the storage class configuration.
          type: string
          format: uuid
        tenantId:
          $ref: '#/components/schemas/TenantId'
        scopeType:
          description: 'Currently supported value: ''cluster'', which is also the default.'
          type: string
          enum:
          - cluster
          default: cluster
          example: cluster
        scopeId:
          $ref: '#/components/schemas/ScopeClusterId'
        name:
          $ref: '#/components/schemas/StorageClassName'
        permissions:
          $ref: '#/components/schemas/StorageClassPermissions'
        customization:
          $ref: '#/components/schemas/StorageClassCustomization'
    StorageClassConfigurationPatchRequest:
      type: object
      properties:
        permissions:
          $ref: '#/components/schemas/StorageClassPermissions'
        customization:
          type: object
          allOf:
          - $ref: '#/components/schemas/StorageClassCustomization'
          - $ref: '#/components/schemas/PvcAttributesToRemove'
          nullable: true
    PvcAccessModes:
      description: Default access mode(s) applied to newly created PVCs unless explicitly overridden.
      properties:
        readWriteOnce:
          description: Mount the volume as read/write by a single node.
          type: boolean
          default: true
          nullable: true
        readOnlyMany:
          description: Mount the volume as read-only by many nodes.
          type: boolean
          default: false
          nullable: true
        readWriteMany:
          description: Mount the volume as read/write by many nodes.
          type: boolean
          default: false
          nullable: true
      nullable: true
      type: object
  parameters:
    StorageClassConfigurationFilterBy:
      name: filterBy
      in: query
      required: false
      description: Filter results by a parameter. Use the format field-name operator value. Operators are == Equals, != Not equals, <= Less than or equal, >= Greater than or equal, =@ contains, !@ Does not contains, =^ Starts with and =$ Ends with. Dates are in ISO 8601 timestamp format and available for operators ==, !=, <= and >=.
      schema:
        type: array
        items:
          type: string
          pattern: ^(name|tenantId|scopeType|scopeId)(==|!=|<=|>=|=@|!@|=\^|=\$).+$
        example:
        - name!=some-name
      explode: false
    StorageClassConfigurationSortBy:
      name: sortBy
      in: query
      required: false
      description: Sort results by a parameters.
      schema:
        type: string
        enum:
        - name
        - tenantId
        - scopeType
        - scopeId
    SortOrder:
      name: sortOrder
      in: query
      required: false
      description: Sort results in descending or ascending order.
      schema:
        type: string
        enum:
        - asc
        - desc
        default: asc
    Limit:
      name: limit
      in: query
      required: false
      description: The maximum number of entries to return.
      schema:
        type: integer
        format: int32
        default: 50
        minimum: 1
        maximum: 500
    Offset:
      name: offset
      in: query
      required: false
      description: The offset of the first item returned in the collection.
      schema:
        type: integer
        format: int32
        example: 100
    StorageClassConfigurationId:
      name: id
      in: path
      required: true
      schema:
        type: string
      description: unique identifier of the storage class configuration
  responses:
    404NotFound:
      description: The specified resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 404
            message: Resource id not found.
    500InternalServerError:
      description: unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 500
            message: Something went wrong.
    403Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 403
            message: You do not have sufficient permissions.
    503ServiceUnavailable:
      description: unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 503
            message: Please try again in few minutes.
    401Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 401
            message: Issuer is not familiar.
    400BadRequest:
      description: Bad request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 400
            message: Required parameter is missing
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer authentication
x-tagGroups:
- name: Organizations
  tags:
  - Clusters
  - Departments
  - Reports
  - NodePools
  - Nodes
  - Projects
  - Tenant
  - Logo
  - Researcher Command Line Interface
  - Researcher Command Line Interface Deprecated
  - Administrator Command Line Interface
  - Network Topologies
- name: Authentication and Authorization
  tags:
  - Access Keys
  - Access rules
  - Permissions
  - Applications
  - Service Accounts
  - Roles
  - Tokens
  - Users
  - User Applications
  - Idps
  - Me
  - Settings
  - Org unit
- name: Audit
  tags:
  - AuditLogs
- name: Datavolumes
  tags:
  - Datavolumes
- name: Workloads
  tags:
  - Events
  - Pods
  - Workloads
  - Workloads V2
  - NVIDIA NIM
  - Workspaces
  - Trainings
  - Inferences
  - Revisions
  - Distributed
  - Workloads batch
  - Workload properties
  - Workload templates
  - Distributed Inferences
- name: Workload assets
  tags:
  - Compute
  - Credentials
  - Datasources
  - Environment
  - Storage Classes
  - Storage Class Configuration
  - Git
  - HostPath
  - NFS
  - PVC
  - Registry
  - S3
  - ConfigMap
  - Secret
  - Template
- name: Policies
  tags:
  - Policy
- name: Notifications
  tags:
  - Notification State
  - Notification Types
  - NotificationChannels
  - Subscriptions
- name: AI Applications
  tags:
  - AI Applications