> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chkk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Component

> Update an existing PackageComponent

A Package has zero or more *PackageComponents*. A PackageComponent is a
separate Project, ProjectComponent, daemon, subsystem or binary distributed as
part of a PackageVersionSet.

A PackageComponent is uniquely identified by the combination of the
PackageVersionSet identifier and the Component name separated by a <b>:</b>
character. The Component name may be a Project identifier, a URL or
filepath-like identifier or just a string name.

Examples of PackageComponent identifiers:

* <b>pkg_aae8471b-cf66-41d0-b72b-b44d3278d35a:1:agent</b>: The <b>agent</b> Component of
  the first versionset (<b>:1</b>) of the Cilium Helm Chart Package specified by
  that Package's UUID.
* <b>helm-kube-prometheus-stack:3:prometheus-operator</b>: The <b>prometheus-operator</b>
  Component of the third versionset (<b>:3</b>) of the Kube Prometheus Helm Chart
  Package specified by that Package's Alias (<b>helm-kube-prometheus-stack</b>)

> **IMPORTANT**: For Packages using the <b>helm</b> or <b>kube</b> PackageSystem, these
> PackageComponents represent a Resource (<b>Deployment</b>, <b>DaemonSet</b>
> or <b>StatefulSet</b>) that is installed by the Package.

Simple examples of PackageComponents would be the Bitnami Cert-Manager Helm
Chart Package's <b>controller</b> Deployment, the <b>webhook</b> Deployment and the
<b>cainjector</b> Deployment.

More complex examples of PackageComponents might be the ArgoCD Official
Upstream Helm Chart Package's extensive collection of controllers, caches and
persistent database storage components installed in Deployment, Daemonset and
StatefulSet resources.




## OpenAPI

````yaml put /packages/{package}/versionsets/{number}/components/{component}/
openapi: 3.1.0
info:
  description: >

    The Chkk Artifact Register API exposes information about the artifacts in a

    customer's clusters.


    Data models exposed in the Chkk Artifact Register API include:


    * <b>Organization</b>: the top-level object that models a Chkk customer.

    * <b>Account</b>: a container for resource ownership within an Organization.

    * <b>KubePlatform</b>: describes things like the cloud infrastructure
    provider
      and the control plane provider.
    * <b>KubeCluster</b>: a single cluster provisioned by a
      KubePlatform.
    * <b>KubeClusterScan</b>: a single Chkk scan of a cluster.

    * <b>KubeClusterResource</b>: a single Resource
      (Deployment, DaemonSet or StatefulSet) from a KubeClusterScan.
    * <b>KubeClusterResourceContainer</b>: a single container record in a
      KubeClusterResource.
    * <b>Project</b>: software that provides some functionality.

    * <b>ProjectReleaseSeries</b>: a single release series for a Project.

    * <b>ProjectRelease</b>: a single release for a Project.

    * <b>ProjectVersionSet</b>: a configuration, layout or structure of a
    Project
      that is consistent for a range of ProjectReleases.
    * <b>ProjectComponent</b>: a separate binary, daemon, or subsystem of a
      Project.
    * <b>Package</b>: a named bundle of software that is bundled (and
      identified) in the format of a specific PackageSystem.
    * <b>PackageRelease</b>: a single release for a Package.

    * <b>PackageVersionSet</b>: a configuration, layout or structure of a
    Package
      that is consistent for a range of PackageReleases.
    * <b>OCIRepository</b>: a single namespace within an OCI Registry.

    * <b>OCIArtifact</b>: a single OCI Artifact (manifest) that describes an OCI
      Image or other OCI Artifact.
    * <b>OCITag</b>: a name that points to a unique OCIArtifact within an
      OCIRepository.
    * <b>OCIReference</b>: a relationship between an OCITag and an OCIArtifact.

    * <b>RiskSignature</b>: the source of a <em>potential</em>
      availability or operational risk for a customer.
    * <b>Risk</b>: a <em>detected</em> RiskSignature for an Account.

    * <b>UpgradeTemplate</b>: detailed instructions for upgrading or migrating a
      KubeCluster or an installed part of a KubeCluster. 
  title: Chkk API
  version: '1.0'
servers: []
security: []
paths:
  /packages/{package}/versionsets/{number}/components/{component}/:
    put:
      tags:
        - Package
        - PackageComponent
      summary: Update Component
      description: >
        Update an existing PackageComponent


        A Package has zero or more *PackageComponents*. A PackageComponent is a

        separate Project, ProjectComponent, daemon, subsystem or binary
        distributed as

        part of a PackageVersionSet.


        A PackageComponent is uniquely identified by the combination of the

        PackageVersionSet identifier and the Component name separated by a
        <b>:</b>

        character. The Component name may be a Project identifier, a URL or

        filepath-like identifier or just a string name.


        Examples of PackageComponent identifiers:


        * <b>pkg_aae8471b-cf66-41d0-b72b-b44d3278d35a:1:agent</b>: The
        <b>agent</b> Component of
          the first versionset (<b>:1</b>) of the Cilium Helm Chart Package specified by
          that Package's UUID.
        * <b>helm-kube-prometheus-stack:3:prometheus-operator</b>: The
        <b>prometheus-operator</b>
          Component of the third versionset (<b>:3</b>) of the Kube Prometheus Helm Chart
          Package specified by that Package's Alias (<b>helm-kube-prometheus-stack</b>)

        > **IMPORTANT**: For Packages using the <b>helm</b> or <b>kube</b>
        PackageSystem, these

        > PackageComponents represent a Resource (<b>Deployment</b>,
        <b>DaemonSet</b>

        > or <b>StatefulSet</b>) that is installed by the Package.


        Simple examples of PackageComponents would be the Bitnami Cert-Manager
        Helm

        Chart Package's <b>controller</b> Deployment, the <b>webhook</b>
        Deployment and the

        <b>cainjector</b> Deployment.


        More complex examples of PackageComponents might be the ArgoCD Official

        Upstream Helm Chart Package's extensive collection of controllers,
        caches and

        persistent database storage components installed in Deployment,
        Daemonset and

        StatefulSet resources.
      operationId: package-component-update
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PackageComponent'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
components:
  schemas:
    PackageComponent:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://example.com/schemas/PackageComponent.json
          format: uri
          readOnly: true
          type: string
        created_by:
          description: user who created the record.
          type: string
        created_on:
          description: timestamp of when the record was created.
          format: date-time
          type: string
        description:
          description: Optional long-form description of the PackageComponent.
          type: string
        last_modified_by:
          description: user who last modified the record.
          type: string
        last_modified_on:
          description: timestamp of when the record was last modified.
          format: date-time
          type: string
        name:
          description: String name of the PackageComponent. Must be unique for the Package.
          examples:
            - server
          type: string
        package:
          description: ID of the Package for this PackageVersionSet.
          examples:
            - pkg_fc8c119c-0741-4062-8959-fe1a04b3842f
          type: string
        primary:
          description: >-
            Indicates this PackageComponent is considered the primary component
            within the Package.
          type: boolean
        title:
          description: Display name for the PackageComponent.
          examples:
            - Main server
          type: string
        versionset_number:
          description: >-
            The sequence number of this PackageVersionSet. Represents the number
            of times a change to the Package's configuration, component
            breakdown or architecture has been tracked.
          examples:
            - 1
          format: int64
          minimum: 0
          type: integer
      required:
        - title
        - primary
        - package
        - versionset_number
        - name
        - created_by
        - created_on
        - last_modified_by
        - last_modified_on
      type: object
    ErrorModel:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://example.com/schemas/ErrorModel.json
          format: uri
          readOnly: true
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object

````