github.com/microsoft/moc@v0.17.1/rpc/nodeagent/storage/virtualharddisk/moc_nodeagent_virtualharddisk.proto (about) 1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the Apache v2.0 license. 3 4 syntax = "proto3"; 5 option go_package = "github.com/microsoft/moc/rpc/nodeagent/storage"; 6 package moc.nodeagent.storage; 7 8 import "google/protobuf/wrappers.proto"; 9 import "moc_common_common.proto"; 10 import "moc_common_notification.proto"; 11 import "google/protobuf/empty.proto"; 12 13 enum VirtualHardDiskType { 14 OS_VIRTUALHARDDISK = 0; 15 DATADISK_VIRTUALHARDDISK = 1; 16 } 17 18 message VirtualHardDiskRequest { 19 repeated VirtualHardDisk VirtualHardDiskSystems = 1; 20 Operation OperationType = 2; 21 } 22 23 message VirtualHardDiskResponse { 24 repeated VirtualHardDisk VirtualHardDiskSystems = 1; 25 google.protobuf.BoolValue Result = 2; 26 string Error = 3; 27 } 28 29 message SFSImageProperties { 30 string catalogName = 1; 31 string audience = 2; 32 string version = 3; 33 string releaseName = 4; 34 uint32 parts = 5; 35 string destinationDir = 6; 36 } 37 38 message LocalImageProperties { 39 string path = 1 [(sensitive) = true]; 40 } 41 42 message CloneImageProperties { 43 string cloneSource = 1; 44 } 45 46 message HttpImageProperties { 47 string httpURL = 1; 48 } 49 50 message AzureGalleryImageProperties { 51 string sasURI = 1 [(sensitive) = true]; 52 string version = 2; 53 } 54 55 message VirtualHardDisk { 56 string name = 1; 57 string id = 2; 58 string source = 3 [(sensitive) = true]; 59 string path = 4 [(sensitive) = true]; 60 // Storage container name to hold this vhd 61 string containerName = 5; 62 Status status = 6; 63 int64 size = 7; 64 bool dynamic = 8; 65 int32 blocksizebytes = 9; 66 int32 logicalsectorbytes = 10; 67 int32 physicalsectorbytes = 11; 68 int64 controllernumber = 12; 69 int64 controllerlocation = 13; 70 int64 disknumber = 14; 71 string virtualmachineName = 15; 72 string scsipath = 16; 73 VirtualHardDiskType virtualharddisktype = 17; 74 Entity entity = 18; 75 Tags tags = 19; 76 ImageSource sourceType = 20; 77 HyperVGeneration hyperVGeneration = 21; 78 CloudInitDataSource cloudInitDataSource = 22; 79 DiskFileFormat diskFileFormat = 23; 80 } 81 82 service VirtualHardDiskAgent { 83 rpc Invoke(VirtualHardDiskRequest) returns (VirtualHardDiskResponse) {} 84 rpc CheckNotification(google.protobuf.Empty) returns (NotificationResponse) {} 85 } 86