Updated on 2023-04-04 GMT+08:00

Modifying an Image Retention Policy

Function

Modify an image retention policy.

URI

PATCH /v2/manage/namespaces/{namespace}/repos/{repository}/retentions/{retention_id}

Table 1 describes the parameters.

Table 1 Parameter description

Parameter

Mandatory

Type

Description

namespace

Yes

String

Organization name

repository

Yes

String

Image repository name

retention_id

Yes

String

Image retention policy ID

Request

  • Request parameters
    Table 2 Request body parameter description

    Parameter

    Mandatory

    Type

    Description

    algorithm

    Yes

    String

    Retention policy matching rule. The value is or.

    rules

    Yes

    Array of objects

    Image retention policy.

    Table 3 rules parameter description

    Parameter

    Mandatory

    Type

    Description

    template

    Yes

    String

    Retention policy type. The value can be set date_rule and tag_rule.

    params

    Yes

    Object

    • If template is set to date_rule, set params to {"days": "xxx"}.
    • If template is set to tag_rule, set params to {"num": "xxx"}.

    tag_selectors

    Yes

    Array of objects

    Image tags that are not counted in the retention policy.

    Table 4 tag_selectors parameter description

    Parameter

    Mandatory

    Type

    Description

    kind

    Yes

    String

    Matching rule. The value can be label or regexp.

    pattern

    Yes

    String

    • If kind is set to label, set this parameter to specific image tags.
    • If kind is set to regexp, set this parameter to a regular expression.
  • Example request
    PATCH https://{Endpoint}/v2/manage/namespaces/group/repos/busybox/retentions/1093

    Body:

    {
        "algorithm": "or",
        "rules": [
            {
                "template": "date_rule",
                "params": {
                    "days": "30"
                },
                "tag_selectors": [
                    {
                        "kind": "label",
                        "pattern": "v5"
                    },
                    {
                        "kind": "label",
                        "pattern": "1.0.1"
                    },
                    {
                        "kind": "regexp",
                        "pattern": "^123$"
                    }
                ]
            }
        ]
    }

Response

  • Response parameters

    N/A

  • Example response
    {}

Status Code

Status Code

Description

201

Modified successfully.

400

Request error.

401

Authentication failed.

404

The organization does not exist.

500

Failed to complete the request because of an internal service error.