aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/yandex-cloud-api-protos/yandex/cloud/compute/v1/disk.proto
blob: 25013c911e949b7f880832e19acf2a324a37eb7a (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
syntax = "proto3";

package yandex.cloud.compute.v1;

import "google/protobuf/timestamp.proto";

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

// A Disk resource. For more information, see [Disks](/docs/compute/concepts/disk).
message Disk {

  enum Status {
    STATUS_UNSPECIFIED = 0;

    // Disk is being created.
    CREATING = 1;

    // Disk is ready to use.
    READY = 2;

    // Disk encountered a problem and cannot operate.
    ERROR = 3;

    // Disk is being deleted.
    DELETING = 4;
  }

  // ID of the disk.
  string id = 1;

  // ID of the folder that the disk belongs to.
  string folder_id = 2;

  google.protobuf.Timestamp created_at = 3;

  // Name of the disk. 1-63 characters long.
  string name = 4;

  // Description of the disk. 0-256 characters long.
  string description = 5;

  // Resource labels as `key:value` pairs. Maximum of 64 per resource.
  map<string, string> labels = 6;

  // ID of the disk type.
  string type_id = 7;

  // ID of the availability zone where the disk resides.
  string zone_id = 8;

  // Size of the disk, specified in bytes.
  int64 size = 9;
  // Block size of the disk, specified in bytes.
  int64 block_size = 15;

  // License IDs that indicate which licenses are attached to this resource.
  // License IDs are used to calculate additional charges for the use of the virtual machine.
  //
  // The correct license ID is generated by the platform. IDs are inherited by new resources created from this resource.
  //
  // If you know the license IDs, specify them when you create the image.
  // For example, if you create a disk image using a third-party utility and load it into Object Storage, the license IDs will be lost.
  // You can specify them in the [yandex.cloud.compute.v1.ImageService.Create] request.
   repeated string product_ids = 10;

  // Current status of the disk.
  Status status = 11;

  oneof source {
    // ID of the image that was used for disk creation.
    string source_image_id = 12;

    // ID of the snapshot that was used for disk creation.
    string source_snapshot_id = 13;
  }

  // Array of instances to which the disk is attached.
  repeated string instance_ids = 14;

  // Placement policy configuration.
  DiskPlacementPolicy disk_placement_policy = 16;
}

message DiskPlacementPolicy {
  // Placement group ID.
  string placement_group_id = 1;
  int64 placement_group_partition = 2;
}

message DiskPlacementPolicyChange {
  // Disk ID.
  string disk_id = 1;
  // Placement policy configuration for given disk.
  DiskPlacementPolicy disk_placement_policy = 2;
}