aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/yandex-cloud-api-protos/yandex/cloud/containerregistry/v1/lifecycle_policy.proto
blob: c9f127566e8c0a36f3f676f9c25ccd1814741cd7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
syntax = "proto3";

package yandex.cloud.containerregistry.v1;

import "yandex/cloud/validation.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";

option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/containerregistry/v1;containerregistry";
option java_package = "yandex.cloud.api.containerregistry.v1";

message LifecyclePolicy {
    enum Status {
        STATUS_UNSPECIFIED = 0;

        // Policy is active and regularly deletes Docker images according to the established rules.
        ACTIVE = 1;

        // Policy is disabled and does not delete Docker images in the repository.
        // Policies in this status can be used for preparing and testing rules.
        DISABLED = 2;
    }

    // ID of the lifecycle policy.
    string id = 1;

    // Name of the lifecycle policy.
    string name = 2;

    // ID of the repository that the lifecycle policy belongs to.
    // Required. The maximum string length in characters is 50.
    string repository_id = 3;

    // Description of the lifecycle policy.
    // The maximum string length in characters is 256.
    string description = 4;

    // Status of lifecycle policy.
    Status status = 5;

    // Creation timestamp.
    google.protobuf.Timestamp created_at = 6;

    // The rules of lifecycle policy.
    repeated LifecycleRule rules = 7;
}

message LifecycleRule {
    // Description of the lifecycle policy rule.
    string description = 1 [(length) = "<=256"];

    // Period of time for automatic deletion.
    // Period must be a multiple of 24 hours.
    google.protobuf.Duration expire_period = 2 [(value) = ">=24h"];

    // Tag for specifying a filter in the form of a regular expression.
    string tag_regexp = 3 [(length) = "<=256"];

    // Tag for applying the rule to Docker images without tags.
    bool untagged = 4;

    // Number of Docker images (falling under the specified filter by tags) that must be left, even if the expire_period has already expired.
    int64 retained_top = 5 [(value) = ">=0"];
}