123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901 |
- // Copyright 2022 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.vmmigration.v1;
- import "google/api/annotations.proto";
- import "google/api/client.proto";
- import "google/api/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/longrunning/operations.proto";
- import "google/protobuf/duration.proto";
- import "google/protobuf/field_mask.proto";
- import "google/protobuf/timestamp.proto";
- import "google/rpc/error_details.proto";
- import "google/rpc/status.proto";
- option csharp_namespace = "Google.Cloud.VMMigration.V1";
- option go_package = "google.golang.org/genproto/googleapis/cloud/vmmigration/v1;vmmigration";
- option java_multiple_files = true;
- option java_outer_classname = "VmMigrationProto";
- option java_package = "com.google.cloud.vmmigration.v1";
- option php_namespace = "Google\\Cloud\\VMMigration\\V1";
- option ruby_package = "Google::Cloud::VMMigration::V1";
- // VM Migration Service
- service VmMigration {
- option (google.api.default_host) = "vmmigration.googleapis.com";
- option (google.api.oauth_scopes) =
- "https://www.googleapis.com/auth/cloud-platform";
- // Lists Sources in a given project and location.
- rpc ListSources(ListSourcesRequest) returns (ListSourcesResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*}/sources"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single Source.
- rpc GetSource(GetSourceRequest) returns (Source) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/sources/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a new Source in a given project and location.
- rpc CreateSource(CreateSourceRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*}/sources"
- body: "source"
- };
- option (google.api.method_signature) = "parent,source,source_id";
- option (google.longrunning.operation_info) = {
- response_type: "Source"
- metadata_type: "OperationMetadata"
- };
- }
- // Updates the parameters of a single Source.
- rpc UpdateSource(UpdateSourceRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1/{source.name=projects/*/locations/*/sources/*}"
- body: "source"
- };
- option (google.api.method_signature) = "source,update_mask";
- option (google.longrunning.operation_info) = {
- response_type: "Source"
- metadata_type: "OperationMetadata"
- };
- }
- // Deletes a single Source.
- rpc DeleteSource(DeleteSourceRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/locations/*/sources/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "OperationMetadata"
- };
- }
- // List remote source's inventory of VMs.
- // The remote source is the onprem vCenter (remote in the sense it's not in
- // Compute Engine). The inventory describes the list of existing VMs in that
- // source. Note that this operation lists the VMs on the remote source, as
- // opposed to listing the MigratingVms resources in the vmmigration service.
- rpc FetchInventory(FetchInventoryRequest) returns (FetchInventoryResponse) {
- option (google.api.http) = {
- get: "/v1/{source=projects/*/locations/*/sources/*}:fetchInventory"
- };
- option (google.api.method_signature) = "source";
- }
- // Lists Utilization Reports of the given Source.
- rpc ListUtilizationReports(ListUtilizationReportsRequest)
- returns (ListUtilizationReportsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*/sources/*}/utilizationReports"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets a single Utilization Report.
- rpc GetUtilizationReport(GetUtilizationReportRequest)
- returns (UtilizationReport) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/sources/*/utilizationReports/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a new UtilizationReport.
- rpc CreateUtilizationReport(CreateUtilizationReportRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*/sources/*}/utilizationReports"
- body: "utilization_report"
- };
- option (google.api.method_signature) =
- "parent,utilization_report,utilization_report_id";
- option (google.longrunning.operation_info) = {
- response_type: "UtilizationReport"
- metadata_type: "OperationMetadata"
- };
- }
- // Deletes a single Utilization Report.
- rpc DeleteUtilizationReport(DeleteUtilizationReportRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/locations/*/sources/*/utilizationReports/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "OperationMetadata"
- };
- }
- // Lists DatacenterConnectors in a given Source.
- rpc ListDatacenterConnectors(ListDatacenterConnectorsRequest)
- returns (ListDatacenterConnectorsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*/sources/*}/datacenterConnectors"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single DatacenterConnector.
- rpc GetDatacenterConnector(GetDatacenterConnectorRequest)
- returns (DatacenterConnector) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/sources/*/datacenterConnectors/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a new DatacenterConnector in a given Source.
- rpc CreateDatacenterConnector(CreateDatacenterConnectorRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*/sources/*}/datacenterConnectors"
- body: "datacenter_connector"
- };
- option (google.api.method_signature) =
- "parent,datacenter_connector,datacenter_connector_id";
- option (google.longrunning.operation_info) = {
- response_type: "DatacenterConnector"
- metadata_type: "OperationMetadata"
- };
- }
- // Deletes a single DatacenterConnector.
- rpc DeleteDatacenterConnector(DeleteDatacenterConnectorRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/locations/*/sources/*/datacenterConnectors/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "OperationMetadata"
- };
- }
- // Upgrades the appliance relate to this DatacenterConnector to the in-place
- // updateable version.
- rpc UpgradeAppliance(UpgradeApplianceRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{datacenter_connector=projects/*/locations/*/sources/*/datacenterConnectors/*}:upgradeAppliance"
- body: "*"
- };
- option (google.longrunning.operation_info) = {
- response_type: "UpgradeApplianceResponse"
- metadata_type: "OperationMetadata"
- };
- }
- // Creates a new MigratingVm in a given Source.
- rpc CreateMigratingVm(CreateMigratingVmRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*/sources/*}/migratingVms"
- body: "migrating_vm"
- };
- option (google.api.method_signature) =
- "parent,migrating_vm,migrating_vm_id";
- option (google.longrunning.operation_info) = {
- response_type: "MigratingVm"
- metadata_type: "OperationMetadata"
- };
- }
- // Lists MigratingVms in a given Source.
- rpc ListMigratingVms(ListMigratingVmsRequest)
- returns (ListMigratingVmsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*/sources/*}/migratingVms"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single MigratingVm.
- rpc GetMigratingVm(GetMigratingVmRequest) returns (MigratingVm) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Updates the parameters of a single MigratingVm.
- rpc UpdateMigratingVm(UpdateMigratingVmRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1/{migrating_vm.name=projects/*/locations/*/sources/*/migratingVms/*}"
- body: "migrating_vm"
- };
- option (google.api.method_signature) = "migrating_vm,update_mask";
- option (google.longrunning.operation_info) = {
- response_type: "MigratingVm"
- metadata_type: "OperationMetadata"
- };
- }
- // Deletes a single MigratingVm.
- rpc DeleteMigratingVm(DeleteMigratingVmRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "OperationMetadata"
- };
- }
- // Starts migration for a VM. Starts the process of uploading
- // data and creating snapshots, in replication cycles scheduled by the policy.
- rpc StartMigration(StartMigrationRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{migrating_vm=projects/*/locations/*/sources/*/migratingVms/*}:startMigration"
- body: "*"
- };
- option (google.api.method_signature) = "migrating_vm";
- option (google.longrunning.operation_info) = {
- response_type: "StartMigrationResponse"
- metadata_type: "OperationMetadata"
- };
- }
- // Resumes a migration for a VM. When called on a paused migration, will start
- // the process of uploading data and creating snapshots; when called on a
- // completed cut-over migration, will update the migration to active state and
- // start the process of uploading data and creating snapshots.
- rpc ResumeMigration(ResumeMigrationRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{migrating_vm=projects/*/locations/*/sources/*/migratingVms/*}:resumeMigration"
- body: "*"
- };
- option (google.longrunning.operation_info) = {
- response_type: "ResumeMigrationResponse"
- metadata_type: "OperationMetadata"
- };
- }
- // Pauses a migration for a VM. If cycle tasks are running they will be
- // cancelled, preserving source task data. Further replication cycles will not
- // be triggered while the VM is paused.
- rpc PauseMigration(PauseMigrationRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{migrating_vm=projects/*/locations/*/sources/*/migratingVms/*}:pauseMigration"
- body: "*"
- };
- option (google.longrunning.operation_info) = {
- response_type: "PauseMigrationResponse"
- metadata_type: "OperationMetadata"
- };
- }
- // Marks a migration as completed, deleting migration resources that are no
- // longer being used. Only applicable after cutover is done.
- rpc FinalizeMigration(FinalizeMigrationRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{migrating_vm=projects/*/locations/*/sources/*/migratingVms/*}:finalizeMigration"
- body: "*"
- };
- option (google.api.method_signature) = "migrating_vm";
- option (google.longrunning.operation_info) = {
- response_type: "FinalizeMigrationResponse"
- metadata_type: "OperationMetadata"
- };
- }
- // Initiates a Clone of a specific migrating VM.
- rpc CreateCloneJob(CreateCloneJobRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*/sources/*/migratingVms/*}/cloneJobs"
- body: "clone_job"
- };
- option (google.api.method_signature) = "parent,clone_job,clone_job_id";
- option (google.longrunning.operation_info) = {
- response_type: "CloneJob"
- metadata_type: "OperationMetadata"
- };
- }
- // Initiates the cancellation of a running clone job.
- rpc CancelCloneJob(CancelCloneJobRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*/cloneJobs/*}:cancel"
- body: "*"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "CancelCloneJobResponse"
- metadata_type: "OperationMetadata"
- };
- }
- // Lists CloneJobs of a given migrating VM.
- rpc ListCloneJobs(ListCloneJobsRequest) returns (ListCloneJobsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*/sources/*/migratingVms/*}/cloneJobs"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single CloneJob.
- rpc GetCloneJob(GetCloneJobRequest) returns (CloneJob) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*/cloneJobs/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Initiates a Cutover of a specific migrating VM.
- // The returned LRO is completed when the cutover job resource is created
- // and the job is initiated.
- rpc CreateCutoverJob(CreateCutoverJobRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*/sources/*/migratingVms/*}/cutoverJobs"
- body: "cutover_job"
- };
- option (google.api.method_signature) = "parent,cutover_job,cutover_job_id";
- option (google.longrunning.operation_info) = {
- response_type: "CutoverJob"
- metadata_type: "OperationMetadata"
- };
- }
- // Initiates the cancellation of a running cutover job.
- rpc CancelCutoverJob(CancelCutoverJobRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*/cutoverJobs/*}:cancel"
- body: "*"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "CancelCutoverJobResponse"
- metadata_type: "OperationMetadata"
- };
- }
- // Lists CutoverJobs of a given migrating VM.
- rpc ListCutoverJobs(ListCutoverJobsRequest)
- returns (ListCutoverJobsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*/sources/*/migratingVms/*}/cutoverJobs"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single CutoverJob.
- rpc GetCutoverJob(GetCutoverJobRequest) returns (CutoverJob) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/sources/*/migratingVms/*/cutoverJobs/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Lists Groups in a given project and location.
- rpc ListGroups(ListGroupsRequest) returns (ListGroupsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*}/groups"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single Group.
- rpc GetGroup(GetGroupRequest) returns (Group) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/groups/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a new Group in a given project and location.
- rpc CreateGroup(CreateGroupRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*}/groups"
- body: "group"
- };
- option (google.api.method_signature) = "parent,group,group_id";
- option (google.longrunning.operation_info) = {
- response_type: "Group"
- metadata_type: "OperationMetadata"
- };
- }
- // Updates the parameters of a single Group.
- rpc UpdateGroup(UpdateGroupRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1/{group.name=projects/*/locations/*/groups/*}"
- body: "group"
- };
- option (google.api.method_signature) = "group,update_mask";
- option (google.longrunning.operation_info) = {
- response_type: "Group"
- metadata_type: "OperationMetadata"
- };
- }
- // Deletes a single Group.
- rpc DeleteGroup(DeleteGroupRequest) returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/locations/*/groups/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "OperationMetadata"
- };
- }
- // Adds a MigratingVm to a Group.
- rpc AddGroupMigration(AddGroupMigrationRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{group=projects/*/locations/*/groups/*}:addGroupMigration"
- body: "*"
- };
- option (google.api.method_signature) = "group";
- option (google.longrunning.operation_info) = {
- response_type: "AddGroupMigrationResponse"
- metadata_type: "OperationMetadata"
- };
- }
- // Removes a MigratingVm from a Group.
- rpc RemoveGroupMigration(RemoveGroupMigrationRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{group=projects/*/locations/*/groups/*}:removeGroupMigration"
- body: "*"
- };
- option (google.api.method_signature) = "group";
- option (google.longrunning.operation_info) = {
- response_type: "RemoveGroupMigrationResponse"
- metadata_type: "OperationMetadata"
- };
- }
- // Lists TargetProjects in a given project.
- //
- // NOTE: TargetProject is a global resource; hence the only supported value
- // for location is `global`.
- rpc ListTargetProjects(ListTargetProjectsRequest)
- returns (ListTargetProjectsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/locations/*}/targetProjects"
- };
- option (google.api.method_signature) = "parent";
- }
- // Gets details of a single TargetProject.
- //
- // NOTE: TargetProject is a global resource; hence the only supported value
- // for location is `global`.
- rpc GetTargetProject(GetTargetProjectRequest) returns (TargetProject) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/locations/*/targetProjects/*}"
- };
- option (google.api.method_signature) = "name";
- }
- // Creates a new TargetProject in a given project.
- //
- // NOTE: TargetProject is a global resource; hence the only supported value
- // for location is `global`.
- rpc CreateTargetProject(CreateTargetProjectRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/locations/*}/targetProjects"
- body: "target_project"
- };
- option (google.api.method_signature) =
- "parent,target_project,target_project_id";
- option (google.longrunning.operation_info) = {
- response_type: "TargetProject"
- metadata_type: "OperationMetadata"
- };
- }
- // Updates the parameters of a single TargetProject.
- //
- // NOTE: TargetProject is a global resource; hence the only supported value
- // for location is `global`.
- rpc UpdateTargetProject(UpdateTargetProjectRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- patch: "/v1/{target_project.name=projects/*/locations/*/targetProjects/*}"
- body: "target_project"
- };
- option (google.api.method_signature) = "target_project,update_mask";
- option (google.longrunning.operation_info) = {
- response_type: "TargetProject"
- metadata_type: "OperationMetadata"
- };
- }
- // Deletes a single TargetProject.
- //
- // NOTE: TargetProject is a global resource; hence the only supported value
- // for location is `global`.
- rpc DeleteTargetProject(DeleteTargetProjectRequest)
- returns (google.longrunning.Operation) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/locations/*/targetProjects/*}"
- };
- option (google.api.method_signature) = "name";
- option (google.longrunning.operation_info) = {
- response_type: "google.protobuf.Empty"
- metadata_type: "OperationMetadata"
- };
- }
- }
- // Controls the level of details of a Utilization Report.
- enum UtilizationReportView {
- // The default / unset value.
- // The API will default to FULL on single report request and BASIC for
- // multiple reports request.
- UTILIZATION_REPORT_VIEW_UNSPECIFIED = 0;
- // Get the report metadata, without the list of VMs and their utilization
- // info.
- BASIC = 1;
- // Include everything.
- FULL = 2;
- }
- // Controls the level of details of a Migrating VM.
- enum MigratingVmView {
- // View is unspecified. The API will fallback to the default value.
- MIGRATING_VM_VIEW_UNSPECIFIED = 0;
- // Get the migrating VM basic details.
- // The basic details do not include the recent clone jobs and recent cutover
- // jobs lists.
- MIGRATING_VM_VIEW_BASIC = 1;
- // Include everything.
- MIGRATING_VM_VIEW_FULL = 2;
- }
- // Types of disks supported for Compute Engine VM.
- enum ComputeEngineDiskType {
- // An unspecified disk type. Will be used as STANDARD.
- COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED = 0;
- // A Standard disk type.
- COMPUTE_ENGINE_DISK_TYPE_STANDARD = 1;
- // SSD hard disk type.
- COMPUTE_ENGINE_DISK_TYPE_SSD = 2;
- // An alternative to SSD persistent disks that balance performance and
- // cost.
- COMPUTE_ENGINE_DISK_TYPE_BALANCED = 3;
- }
- // Types of licenses used in OS adaptation.
- enum ComputeEngineLicenseType {
- // The license type is the default for the OS.
- COMPUTE_ENGINE_LICENSE_TYPE_DEFAULT = 0;
- // The license type is Pay As You Go license type.
- COMPUTE_ENGINE_LICENSE_TYPE_PAYG = 1;
- // The license type is Bring Your Own License type.
- COMPUTE_ENGINE_LICENSE_TYPE_BYOL = 2;
- }
- // Possible values for vm boot option.
- enum ComputeEngineBootOption {
- // The boot option is unknown.
- COMPUTE_ENGINE_BOOT_OPTION_UNSPECIFIED = 0;
- // The boot option is EFI.
- COMPUTE_ENGINE_BOOT_OPTION_EFI = 1;
- // The boot option is BIOS.
- COMPUTE_ENGINE_BOOT_OPTION_BIOS = 2;
- }
- // ReplicationCycle contains information about the current replication cycle
- // status.
- message ReplicationCycle {
- // The time the replication cycle has started.
- google.protobuf.Timestamp start_time = 1;
- // The current progress in percentage of this cycle.
- int32 progress_percent = 5;
- }
- // ReplicationSync contain information about the last replica sync to the cloud.
- message ReplicationSync {
- // The most updated snapshot created time in the source that finished
- // replication.
- google.protobuf.Timestamp last_sync_time = 1;
- }
- // MigratingVm describes the VM that will be migrated from a Source environment
- // and its replication state.
- message MigratingVm {
- option (google.api.resource) = {
- type: "vmmigration.googleapis.com/MigratingVm"
- pattern: "projects/{project}/locations/{location}/sources/{source}/migratingVms/{migrating_vm}"
- };
- // The possible values of the state/health of source VM.
- enum State {
- // The state was not sampled by the health checks yet.
- STATE_UNSPECIFIED = 0;
- // The VM in the source is being verified.
- PENDING = 1;
- // The source VM was verified, and it's ready to start replication.
- READY = 2;
- // Migration is going through the first sync cycle.
- FIRST_SYNC = 3;
- // The replication is active, and it's running or scheduled to run.
- ACTIVE = 4;
- // The source VM is being turned off, and a final replication is currently
- // running.
- CUTTING_OVER = 7;
- // The source VM was stopped and replicated. The replication is currently
- // paused.
- CUTOVER = 8;
- // A cutover job is active and replication cycle is running the final sync.
- FINAL_SYNC = 9;
- // The replication was paused by the user and no cycles are scheduled to
- // run.
- PAUSED = 10;
- // The migrating VM is being finalized and migration resources are being
- // removed.
- FINALIZING = 11;
- // The replication process is done. The migrating VM is finalized and no
- // longer consumes billable resources.
- FINALIZED = 12;
- // The replication process encountered an unrecoverable error and was
- // aborted.
- ERROR = 13;
- }
- // The default configuration of the target VM that will be created in GCP as a
- // result of the migration.
- oneof target_vm_defaults {
- // Details of the target VM in Compute Engine.
- ComputeEngineTargetDefaults compute_engine_target_defaults = 26;
- }
- // Output only. The identifier of the MigratingVm.
- string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The unique ID of the VM in the source.
- // The VM's name in vSphere can be changed, so this is not the VM's name but
- // rather its moRef id. This id is of the form vm-<num>.
- string source_vm_id = 2;
- // The display name attached to the MigratingVm by the user.
- string display_name = 18;
- // The description attached to the migrating VM by the user.
- string description = 3;
- // The replication schedule policy.
- SchedulePolicy policy = 8;
- // Output only. The time the migrating VM was created (this refers to this
- // resource and not to the time it was installed in the source).
- google.protobuf.Timestamp create_time = 9
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The last time the migrating VM resource was updated.
- google.protobuf.Timestamp update_time = 10
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The most updated snapshot created time in the source that
- // finished replication.
- ReplicationSync last_sync = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. State of the MigratingVm.
- State state = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The last time the migrating VM state was updated.
- google.protobuf.Timestamp state_time = 22
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The percentage progress of the current running replication
- // cycle.
- ReplicationCycle current_sync_info = 13
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The group this migrating vm is included in, if any. The group
- // is represented by the full path of the appropriate
- // [Group][google.cloud.vmmigration.v1.Group] resource.
- string group = 15 [
- (google.api.field_behavior) = OUTPUT_ONLY,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/Group"
- }
- ];
- // The labels of the migrating VM.
- map<string, string> labels = 16;
- // Output only. The recent [clone jobs][google.cloud.vmmigration.v1.CloneJob]
- // performed on the migrating VM. This field holds the vm's last completed
- // clone job and the vm's running clone job, if one exists.
- // Note: To have this field populated you need to explicitly request it via
- // the "view" parameter of the Get/List request.
- repeated CloneJob recent_clone_jobs = 17
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Provides details on the state of the Migrating VM in case of
- // an error in replication.
- google.rpc.Status error = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The recent cutover jobs performed on the migrating VM.
- // This field holds the vm's last completed cutover job and the vm's
- // running cutover job, if one exists.
- // Note: To have this field populated you need to explicitly request it via
- // the "view" parameter of the Get/List request.
- repeated CutoverJob recent_cutover_jobs = 20
- [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // CloneJob describes the process of creating a clone of a
- // [MigratingVM][google.cloud.vmmigration.v1.MigratingVm] to the
- // requested target based on the latest successful uploaded snapshots.
- // While the migration cycles of a MigratingVm take place, it is possible to
- // verify the uploaded VM can be started in the cloud, by creating a clone. The
- // clone can be created without any downtime, and it is created using the latest
- // snapshots which are already in the cloud. The cloneJob is only responsible
- // for its work, not its products, which means once it is finished, it will
- // never touch the instance it created. It will only delete it in case of the
- // CloneJob being cancelled or upon failure to clone.
- message CloneJob {
- option (google.api.resource) = {
- type: "vmmigration.googleapis.com/CloneJob"
- pattern: "projects/{project}/locations/{location}/sources/{source}/migratingVms/{migrating_vm}/cloneJobs/{clone_job}"
- };
- // Possible states of the clone job.
- enum State {
- // The state is unknown. This is used for API compatibility only and is not
- // used by the system.
- STATE_UNSPECIFIED = 0;
- // The clone job has not yet started.
- PENDING = 1;
- // The clone job is active and running.
- ACTIVE = 2;
- // The clone job finished with errors.
- FAILED = 3;
- // The clone job finished successfully.
- SUCCEEDED = 4;
- // The clone job was cancelled.
- CANCELLED = 5;
- // The clone job is being cancelled.
- CANCELLING = 6;
- // OS adaptation is running as part of the clone job to generate license.
- ADAPTING_OS = 7;
- }
- // Details of the VM to create as the target of this clone job.
- oneof target_vm_details {
- // Output only. Details of the target VM in Compute Engine.
- ComputeEngineTargetDetails compute_engine_target_details = 20
- [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Output only. The time the clone job was created (as an API call, not when
- // it was actually created in the target).
- google.protobuf.Timestamp create_time = 1
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the clone job was ended.
- google.protobuf.Timestamp end_time = 22
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The name of the clone.
- string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. State of the clone job.
- State state = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the state was last updated.
- google.protobuf.Timestamp state_time = 14
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Provides details for the errors that led to the Clone Job's
- // state.
- google.rpc.Status error = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // CutoverJob message describes a cutover of a migrating VM. The CutoverJob is
- // the operation of shutting down the VM, creating a snapshot and
- // clonning the VM using the replicated snapshot.
- message CutoverJob {
- option (google.api.resource) = {
- type: "vmmigration.googleapis.com/CutoverJob"
- pattern: "projects/{project}/locations/{location}/sources/{source}/migratingVms/{migrating_vm}/cutoverJobs/{cutover_job}"
- };
- // Possible states of the cutover job.
- enum State {
- // The state is unknown. This is used for API compatibility only and is not
- // used by the system.
- STATE_UNSPECIFIED = 0;
- // The cutover job has not yet started.
- PENDING = 1;
- // The cutover job finished with errors.
- FAILED = 2;
- // The cutover job finished successfully.
- SUCCEEDED = 3;
- // The cutover job was cancelled.
- CANCELLED = 4;
- // The cutover job is being cancelled.
- CANCELLING = 5;
- // The cutover job is active and running.
- ACTIVE = 6;
- // OS adaptation is running as part of the cutover job to generate license.
- ADAPTING_OS = 7;
- }
- // Details of the VM to create as the target of this cutover job.
- oneof target_vm_details {
- // Output only. Details of the target VM in Compute Engine.
- ComputeEngineTargetDetails compute_engine_target_details = 14
- [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Output only. The time the cutover job was created (as an API call, not when
- // it was actually created in the target).
- google.protobuf.Timestamp create_time = 1
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the cutover job had finished.
- google.protobuf.Timestamp end_time = 16
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The name of the cutover job.
- string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. State of the cutover job.
- State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the state was last updated.
- google.protobuf.Timestamp state_time = 6
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The current progress in percentage of the cutover job.
- int32 progress_percent = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Provides details for the errors that led to the Cutover Job's
- // state.
- google.rpc.Status error = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A message providing possible extra details about the current
- // state.
- string state_message = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for 'CreateCloneJob' request.
- message CreateCloneJobRequest {
- // Required. The Clone's parent.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/CloneJob"
- }
- ];
- // Required. The clone job identifier.
- string clone_job_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The clone request body.
- CloneJob clone_job = 3 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4;
- }
- // Request message for 'CancelCloneJob' request.
- message CancelCloneJobRequest {
- // Required. The clone job id
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/CloneJob"
- }
- ];
- }
- // Response message for 'CancelCloneJob' request.
- message CancelCloneJobResponse {}
- // Request message for 'ListCloneJobsRequest' request.
- message ListCloneJobsRequest {
- // Required. The parent, which owns this collection of source VMs.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/CloneJob"
- }
- ];
- // Optional. The maximum number of clone jobs to return. The service may
- // return fewer than this value. If unspecified, at most 500 clone jobs will
- // be returned. The maximum value is 1000; values above 1000 will be coerced
- // to 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Required. A page token, received from a previous `ListCloneJobs` call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to `ListCloneJobs` must
- // match the call that provided the page token.
- string page_token = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. The filter request.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. the order by fields for the result.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // Response message for 'ListCloneJobs' request.
- message ListCloneJobsResponse {
- // Output only. The list of clone jobs response.
- repeated CloneJob clone_jobs = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A token, which can be sent as `page_token` to retrieve the
- // next page. If this field is omitted, there are no subsequent pages.
- string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Locations that could not be reached.
- repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for 'GetCloneJob' request.
- message GetCloneJobRequest {
- // Required. The name of the CloneJob.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/CloneJob"
- }
- ];
- }
- // Source message describes a specific vm migration Source resource. It contains
- // the source environment information.
- message Source {
- option (google.api.resource) = {
- type: "vmmigration.googleapis.com/Source"
- pattern: "projects/{project}/locations/{location}/sources/{source}"
- };
- oneof source_details {
- // Vmware type source details.
- VmwareSourceDetails vmware = 10;
- }
- // Output only. The Source name.
- string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The create time timestamp.
- google.protobuf.Timestamp create_time = 2
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The update time timestamp.
- google.protobuf.Timestamp update_time = 3
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // The labels of the source.
- map<string, string> labels = 4;
- // User-provided description of the source.
- string description = 6;
- }
- // VmwareSourceDetails message describes a specific source details for the
- // vmware source type.
- message VmwareSourceDetails {
- // The credentials username.
- string username = 1;
- // Input only. The credentials password. This is write only and can not be
- // read in a GET operation.
- string password = 2 [(google.api.field_behavior) = INPUT_ONLY];
- // The ip address of the vcenter this Source represents.
- string vcenter_ip = 3;
- // The thumbprint representing the certificate for the vcenter.
- string thumbprint = 4;
- }
- // DatacenterConnector message describes a connector between the Source and GCP,
- // which is installed on a vmware datacenter (an OVA vm installed by the user)
- // to connect the Datacenter to GCP and support vm migration data transfer.
- message DatacenterConnector {
- option (google.api.resource) = {
- type: "vmmigration.googleapis.com/DatacenterConnector"
- pattern: "projects/{project}/locations/{location}/sources/{source}/datacenterConnectors/{datacenter_connector}"
- };
- // The possible values of the state.
- enum State {
- // The state is unknown. This is used for API compatibility only and is not
- // used by the system.
- STATE_UNSPECIFIED = 0;
- // The state was not sampled by the health checks yet.
- PENDING = 1;
- // The source was sampled by health checks and is not available.
- OFFLINE = 2;
- // The source is available but might not be usable yet due to unvalidated
- // credentials or another reason. The credentials referred to are the ones
- // to the Source. The error message will contain further details.
- FAILED = 3;
- // The source exists and its credentials were verified.
- ACTIVE = 4;
- }
- // Output only. The time the connector was created (as an API call, not when
- // it was actually installed).
- google.protobuf.Timestamp create_time = 1
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The last time the connector was updated with an API call.
- google.protobuf.Timestamp update_time = 2
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The connector's name.
- string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Immutable. A unique key for this connector. This key is internal to the OVA
- // connector and is supplied with its creation during the registration process
- // and can not be modified.
- string registration_id = 12 [(google.api.field_behavior) = IMMUTABLE];
- // The service account to use in the connector when communicating with the
- // cloud.
- string service_account = 5;
- // The version running in the DatacenterConnector. This is supplied by the OVA
- // connector during the registration process and can not be modified.
- string version = 6;
- // Output only. The communication channel between the datacenter connector and
- // GCP.
- string bucket = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. State of the DatacenterConnector, as determined by the health
- // checks.
- State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the state was last set.
- google.protobuf.Timestamp state_time = 8
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Provides details on the state of the Datacenter Connector in
- // case of an error.
- google.rpc.Status error = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Appliance OVA version.
- // This is the OVA which is manually installed by the user and contains the
- // infrastructure for the automatically updatable components on the appliance.
- string appliance_infrastructure_version = 13
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Appliance last installed update bundle version.
- // This is the version of the automatically updatable components on the
- // appliance.
- string appliance_software_version = 14
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The available versions for updating this appliance.
- AvailableUpdates available_versions = 15
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The status of the current / last upgradeAppliance operation.
- UpgradeStatus upgrade_status = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // UpgradeStatus contains information about upgradeAppliance operation.
- message UpgradeStatus {
- // The possible values of the state.
- enum State {
- // The state was not sampled by the health checks yet.
- STATE_UNSPECIFIED = 0;
- // The upgrade has started.
- RUNNING = 1;
- // The upgrade failed.
- FAILED = 2;
- // The upgrade finished successfully.
- SUCCEEDED = 3;
- }
- // The version to upgrade to.
- string version = 1;
- // The state of the upgradeAppliance operation.
- State state = 2;
- // Provides details on the state of the upgrade operation in case of an error.
- google.rpc.Status error = 3;
- // The time the operation was started.
- google.protobuf.Timestamp start_time = 4;
- // The version from which we upgraded.
- string previous_version = 5;
- }
- // Holds informatiom about the available versions for upgrade.
- message AvailableUpdates {
- // The newest deployable version of the appliance.
- // The current appliance can't be updated into this version, and the owner
- // must manually deploy this OVA to a new appliance.
- ApplianceVersion new_deployable_appliance = 1;
- // The latest version for in place update.
- // The current appliance can be updated to this version using the API or m4c
- // CLI.
- ApplianceVersion in_place_update = 2;
- }
- // Describes an appliance version.
- message ApplianceVersion {
- // The appliance version.
- string version = 1;
- // A link for downloading the version.
- string uri = 2;
- // Determine whether it's critical to upgrade the appliance to this version.
- bool critical = 3;
- // Link to a page that contains the version release notes.
- string release_notes_uri = 4;
- }
- // Request message for 'ListSources' request.
- message ListSourcesRequest {
- // Required. The parent, which owns this collection of sources.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/Source"
- }
- ];
- // Optional. The maximum number of sources to return. The service may return
- // fewer than this value. If unspecified, at most 500 sources will be
- // returned. The maximum value is 1000; values above 1000 will be coerced to
- // 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Required. A page token, received from a previous `ListSources` call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to `ListSources` must
- // match the call that provided the page token.
- string page_token = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. The filter request.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. the order by fields for the result.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // Response message for 'ListSources' request.
- message ListSourcesResponse {
- // Output only. The list of sources response.
- repeated Source sources = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A token, which can be sent as `page_token` to retrieve the
- // next page. If this field is omitted, there are no subsequent pages.
- string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Locations that could not be reached.
- repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for 'GetSource' request.
- message GetSourceRequest {
- // Required. The Source name.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/Source"
- }
- ];
- }
- // Request message for 'CreateSource' request.
- message CreateSourceRequest {
- // Required. The Source's parent.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/Source"
- }
- ];
- // Required. The source identifier.
- string source_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The create request body.
- Source source = 3 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4;
- }
- // Update message for 'UpdateSources' request.
- message UpdateSourceRequest {
- // Field mask is used to specify the fields to be overwritten in the
- // Source resource by the update.
- // The fields specified in the update_mask are relative to the resource, not
- // the full request. A field will be overwritten if it is in the mask. If the
- // user does not provide a mask then all fields will be overwritten.
- google.protobuf.FieldMask update_mask = 1;
- // Required. The update request body.
- Source source = 2 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 3;
- }
- // Request message for 'DeleteSource' request.
- message DeleteSourceRequest {
- // Required. The Source name.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/Source"
- }
- ];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes after the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- // Request message for
- // [fetchInventory][google.cloud.vmmigration.v1.VmMigration.FetchInventory].
- message FetchInventoryRequest {
- // Required. The name of the Source.
- string source = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/Source"
- }
- ];
- // If this flag is set to true, the source will be queried instead of using
- // cached results. Using this flag will make the call slower.
- bool force_refresh = 2;
- }
- // VmwareVmDetails describes a VM in vCenter.
- message VmwareVmDetails {
- // Possible values for the power state of the VM.
- enum PowerState {
- // Power state is not specified.
- POWER_STATE_UNSPECIFIED = 0;
- // The VM is turned ON.
- ON = 1;
- // The VM is turned OFF.
- OFF = 2;
- // The VM is suspended. This is similar to hibernation or sleep mode.
- SUSPENDED = 3;
- }
- // Possible values for vm boot option.
- enum BootOption {
- // The boot option is unknown.
- BOOT_OPTION_UNSPECIFIED = 0;
- // The boot option is EFI.
- EFI = 1;
- // The boot option is BIOS.
- BIOS = 2;
- }
- // The VM's id in the source (note that this is not the MigratingVm's id).
- // This is the moref id of the VM.
- string vm_id = 1;
- // The id of the vCenter's datacenter this VM is contained in.
- string datacenter_id = 2;
- // The descriptive name of the vCenter's datacenter this VM is contained in.
- string datacenter_description = 3;
- // The unique identifier of the VM in vCenter.
- string uuid = 4;
- // The display name of the VM. Note that this is not necessarily unique.
- string display_name = 5;
- // The power state of the VM at the moment list was taken.
- PowerState power_state = 6;
- // The number of cpus in the VM.
- int32 cpu_count = 7;
- // The size of the memory of the VM in MB.
- int32 memory_mb = 8;
- // The number of disks the VM has.
- int32 disk_count = 9;
- // The total size of the storage allocated to the VM in MB.
- int64 committed_storage_mb = 12;
- // The VM's OS. See for example
- // https://vdc-repo.vmware.com/vmwb-repository/dcr-public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-746f2aa93c8c/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
- // for types of strings this might hold.
- string guest_description = 11;
- // Output only. The VM Boot Option.
- BootOption boot_option = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // VmwareVmsDetails describes VMs in vCenter.
- message VmwareVmsDetails {
- // The details of the vmware VMs.
- repeated VmwareVmDetails details = 1;
- }
- // Response message for
- // [fetchInventory][google.cloud.vmmigration.v1.VmMigration.FetchInventory].
- message FetchInventoryResponse {
- oneof SourceVms {
- // The description of the VMs in a Source of type Vmware.
- VmwareVmsDetails vmware_vms = 1;
- }
- // Output only. The timestamp when the source was last queried (if the result
- // is from the cache).
- google.protobuf.Timestamp update_time = 2
- [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Utilization report details the utilization (CPU, memory, etc.) of selected
- // source VMs.
- message UtilizationReport {
- option (google.api.resource) = {
- type: "vmmigration.googleapis.com/UtilizationReport"
- pattern: "projects/{project}/locations/{location}/sources/{source}/utilizationReports/{utilization_report}"
- };
- // Utilization report state.
- enum State {
- // The state is unknown. This value is not in use.
- STATE_UNSPECIFIED = 0;
- // The report is in the making.
- CREATING = 1;
- // Report creation completed successfully.
- SUCCEEDED = 2;
- // Report creation failed.
- FAILED = 3;
- }
- // Report time frame options.
- enum TimeFrame {
- // The time frame was not specified and will default to WEEK.
- TIME_FRAME_UNSPECIFIED = 0;
- // One week.
- WEEK = 1;
- // One month.
- MONTH = 2;
- // One year.
- YEAR = 3;
- }
- // Output only. The report unique name.
- string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The report display name, as assigned by the user.
- string display_name = 2;
- // Output only. Current state of the report.
- State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the state was last set.
- google.protobuf.Timestamp state_time = 4
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Provides details on the state of the report in case of an
- // error.
- google.rpc.Status error = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the report was created (this refers to the time of
- // the request, not the time the report creation completed).
- google.protobuf.Timestamp create_time = 6
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Time frame of the report.
- TimeFrame time_frame = 7;
- // Output only. The point in time when the time frame ends. Notice that the
- // time frame is counted backwards. For instance if the "frame_end_time" value
- // is 2021/01/20 and the time frame is WEEK then the report covers the week
- // between 2021/01/20 and 2021/01/14.
- google.protobuf.Timestamp frame_end_time = 8
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Total number of VMs included in the report.
- int32 vm_count = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
- // List of utilization information per VM.
- // When sent as part of the request, the "vm_id" field is used in order to
- // specify which VMs to include in the report. In that case all other fields
- // are ignored.
- repeated VmUtilizationInfo vms = 10;
- }
- // Utilization information of a single VM.
- message VmUtilizationInfo {
- oneof VmDetails {
- // The description of the VM in a Source of type Vmware.
- VmwareVmDetails vmware_vm_details = 1;
- }
- // The VM's ID in the source.
- string vm_id = 3;
- // Utilization metrics for this VM.
- VmUtilizationMetrics utilization = 2;
- }
- // Utilization metrics values for a single VM.
- message VmUtilizationMetrics {
- // Max CPU usage, percent.
- int32 cpu_max_percent = 9;
- // Average CPU usage, percent.
- int32 cpu_average_percent = 10;
- // Max memory usage, percent.
- int32 memory_max_percent = 11;
- // Average memory usage, percent.
- int32 memory_average_percent = 12;
- // Max disk IO rate, in kilobytes per second.
- int64 disk_io_rate_max_kbps = 13;
- // Average disk IO rate, in kilobytes per second.
- int64 disk_io_rate_average_kbps = 14;
- // Max network throughput (combined transmit-rates and receive-rates), in
- // kilobytes per second.
- int64 network_throughput_max_kbps = 15;
- // Average network throughput (combined transmit-rates and receive-rates), in
- // kilobytes per second.
- int64 network_throughput_average_kbps = 16;
- }
- // Request message for 'ListUtilizationReports' request.
- message ListUtilizationReportsRequest {
- // Required. The Utilization Reports parent.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/UtilizationReport"
- }
- ];
- // Optional. The level of details of each report.
- // Defaults to BASIC.
- UtilizationReportView view = 2 [(google.api.field_behavior) = OPTIONAL];
- // Optional. The maximum number of reports to return. The service may return
- // fewer than this value. If unspecified, at most 500 reports will be
- // returned. The maximum value is 1000; values above 1000 will be coerced to
- // 1000.
- int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
- // Required. A page token, received from a previous `ListUtilizationReports`
- // call. Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to `ListUtilizationReports`
- // must match the call that provided the page token.
- string page_token = 4 [(google.api.field_behavior) = REQUIRED];
- // Optional. The filter request.
- string filter = 5 [(google.api.field_behavior) = OPTIONAL];
- // Optional. the order by fields for the result.
- string order_by = 6 [(google.api.field_behavior) = OPTIONAL];
- }
- // Response message for 'ListUtilizationReports' request.
- message ListUtilizationReportsResponse {
- // Output only. The list of reports.
- repeated UtilizationReport utilization_reports = 1
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A token, which can be sent as `page_token` to retrieve the
- // next page. If this field is omitted, there are no subsequent pages.
- string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Locations that could not be reached.
- repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for 'GetUtilizationReport' request.
- message GetUtilizationReportRequest {
- // Required. The Utilization Report name.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/UtilizationReport"
- }
- ];
- // Optional. The level of details of the report.
- // Defaults to FULL
- UtilizationReportView view = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- // Request message for 'CreateUtilizationReport' request.
- message CreateUtilizationReportRequest {
- // Required. The Utilization Report's parent.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/UtilizationReport"
- }
- ];
- // Required. The report to create.
- UtilizationReport utilization_report = 2
- [(google.api.field_behavior) = REQUIRED];
- // Required. The ID to use for the report, which will become the final
- // component of the reports's resource name.
- //
- // This value maximum length is 63 characters, and valid characters
- // are /[a-z][0-9]-/. It must start with an english letter and must not
- // end with a hyphen.
- string utilization_report_id = 3 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4;
- }
- // Request message for 'DeleteUtilizationReport' request.
- message DeleteUtilizationReportRequest {
- // Required. The Utilization Report name.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/UtilizationReport"
- }
- ];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes after the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- // Response message for 'ListDatacenterConnectors' request.
- message ListDatacenterConnectorsResponse {
- // Output only. The list of sources response.
- repeated DatacenterConnector datacenter_connectors = 1
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A token, which can be sent as `page_token` to retrieve the
- // next page. If this field is omitted, there are no subsequent pages.
- string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Locations that could not be reached.
- repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for 'GetDatacenterConnector' request.
- message GetDatacenterConnectorRequest {
- // Required. The name of the DatacenterConnector.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/DatacenterConnector"
- }
- ];
- }
- // Request message for 'CreateDatacenterConnector' request.
- message CreateDatacenterConnectorRequest {
- // Required. The DatacenterConnector's parent.
- // Required. The Source in where the new DatacenterConnector will be created.
- // For example:
- // `projects/my-project/locations/us-central1/sources/my-source`
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/DatacenterConnector"
- }
- ];
- // Required. The datacenterConnector identifier.
- string datacenter_connector_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The create request body.
- DatacenterConnector datacenter_connector = 3
- [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4;
- }
- // Request message for 'DeleteDatacenterConnector' request.
- message DeleteDatacenterConnectorRequest {
- // Required. The DatacenterConnector name.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/DatacenterConnector"
- }
- ];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes after the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 2;
- }
- // Request message for 'UpgradeAppliance' request.
- message UpgradeApplianceRequest {
- // Required. The DatacenterConnector name.
- string datacenter_connector = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/DatacenterConnector"
- }
- ];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes after the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 2;
- }
- // Response message for 'UpgradeAppliance' request.
- message UpgradeApplianceResponse {}
- // Request message for 'ListDatacenterConnectors' request.
- message ListDatacenterConnectorsRequest {
- // Required. The parent, which owns this collection of connectors.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/DatacenterConnector"
- }
- ];
- // Optional. The maximum number of connectors to return. The service may
- // return fewer than this value. If unspecified, at most 500 sources will be
- // returned. The maximum value is 1000; values above 1000 will be coerced to
- // 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Required. A page token, received from a previous `ListDatacenterConnectors`
- // call. Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to
- // `ListDatacenterConnectors` must match the call that provided the page
- // token.
- string page_token = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. The filter request.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. the order by fields for the result.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // ComputeEngineTargetDefaults is a collection of details for creating a VM in a
- // target Compute Engine project.
- message ComputeEngineTargetDefaults {
- // The name of the VM to create.
- string vm_name = 1;
- // The full path of the resource of type TargetProject which represents the
- // Compute Engine project in which to create this VM.
- string target_project = 2 [(google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/TargetProject"
- }];
- // The zone in which to create the VM.
- string zone = 3;
- // The machine type series to create the VM with.
- string machine_type_series = 4;
- // The machine type to create the VM with.
- string machine_type = 5;
- // A map of network tags to associate with the VM.
- repeated string network_tags = 6;
- // List of NICs connected to this VM.
- repeated NetworkInterface network_interfaces = 7;
- // The service account to associate the VM with.
- string service_account = 8;
- // The disk type to use in the VM.
- ComputeEngineDiskType disk_type = 9;
- // A map of labels to associate with the VM.
- map<string, string> labels = 10;
- // The license type to use in OS adaptation.
- ComputeEngineLicenseType license_type = 11;
- // Output only. The OS license returned from the adaptation module report.
- AppliedLicense applied_license = 12
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Compute instance scheduling information (if empty default is used).
- ComputeScheduling compute_scheduling = 13;
- // Defines whether the instance has Secure Boot enabled.
- // This can be set to true only if the vm boot option is EFI.
- bool secure_boot = 14;
- // Output only. The VM Boot Option, as set in the source vm.
- ComputeEngineBootOption boot_option = 15
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // The metadata key/value pairs to assign to the VM.
- map<string, string> metadata = 16;
- // Additional licenses to assign to the VM.
- repeated string additional_licenses = 17;
- // The hostname to assign to the VM.
- string hostname = 18;
- }
- // ComputeEngineTargetDetails is a collection of details for creating a VM in a
- // target Compute Engine project.
- message ComputeEngineTargetDetails {
- // The name of the VM to create.
- string vm_name = 1;
- // The GCP target project ID or project name.
- string project = 2;
- // The zone in which to create the VM.
- string zone = 3;
- // The machine type series to create the VM with.
- string machine_type_series = 4;
- // The machine type to create the VM with.
- string machine_type = 5;
- // A map of network tags to associate with the VM.
- repeated string network_tags = 6;
- // List of NICs connected to this VM.
- repeated NetworkInterface network_interfaces = 7;
- // The service account to associate the VM with.
- string service_account = 8;
- // The disk type to use in the VM.
- ComputeEngineDiskType disk_type = 9;
- // A map of labels to associate with the VM.
- map<string, string> labels = 10;
- // The license type to use in OS adaptation.
- ComputeEngineLicenseType license_type = 11;
- // The OS license returned from the adaptation module report.
- AppliedLicense applied_license = 12;
- // Compute instance scheduling information (if empty default is used).
- ComputeScheduling compute_scheduling = 13;
- // Defines whether the instance has Secure Boot enabled.
- // This can be set to true only if the vm boot option is EFI.
- bool secure_boot = 14;
- // The VM Boot Option, as set in the source vm.
- ComputeEngineBootOption boot_option = 15;
- // The metadata key/value pairs to assign to the VM.
- map<string, string> metadata = 16;
- // Additional licenses to assign to the VM.
- repeated string additional_licenses = 17;
- // The hostname to assign to the VM.
- string hostname = 18;
- }
- // NetworkInterface represents a NIC of a VM.
- message NetworkInterface {
- // The network to connect the NIC to.
- string network = 1;
- // The subnetwork to connect the NIC to.
- string subnetwork = 2;
- // The internal IP to define in the NIC.
- // The formats accepted are: `ephemeral` \ ipv4 address \ a named address
- // resource full path.
- string internal_ip = 3;
- // The external IP to define in the NIC.
- string external_ip = 4;
- }
- // AppliedLicense holds the license data returned by adaptation module report.
- message AppliedLicense {
- // License types used in OS adaptation.
- enum Type {
- // Unspecified license for the OS.
- TYPE_UNSPECIFIED = 0;
- // No license available for the OS.
- NONE = 1;
- // The license type is Pay As You Go license type.
- PAYG = 2;
- // The license type is is Bring Your Own License type.
- BYOL = 3;
- }
- // The license type that was used in OS adaptation.
- Type type = 1;
- // The OS license returned from the adaptation module's report.
- string os_license = 2;
- }
- // Node Affinity: the configuration of desired nodes onto which this Instance
- // could be scheduled. Based on
- // https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
- message SchedulingNodeAffinity {
- // Possible types of node selection operators. Valid operators are IN for
- // affinity and NOT_IN for anti-affinity.
- enum Operator {
- // An unknown, unexpected behavior.
- OPERATOR_UNSPECIFIED = 0;
- // The node resource group should be in these resources affinity.
- IN = 1;
- // The node resource group should not be in these resources affinity.
- NOT_IN = 2;
- }
- // The label key of Node resource to reference.
- string key = 1;
- // The operator to use for the node resources specified in the `values`
- // parameter.
- Operator operator = 2;
- // Corresponds to the label values of Node resource.
- repeated string values = 3;
- }
- // Scheduling information for VM on maintenance/restart behaviour and
- // node allocation in sole tenant nodes.
- message ComputeScheduling {
- enum OnHostMaintenance {
- // An unknown, unexpected behavior.
- ON_HOST_MAINTENANCE_UNSPECIFIED = 0;
- // Terminate the instance when the host machine undergoes maintenance.
- TERMINATE = 1;
- // Migrate the instance when the host machine undergoes maintenance.
- MIGRATE = 2;
- }
- // Defines whether the Instance should be automatically restarted whenever
- // it is terminated by Compute Engine (not terminated by user).
- enum RestartType {
- // Unspecified behavior. This will use the default.
- RESTART_TYPE_UNSPECIFIED = 0;
- // The Instance should be automatically restarted whenever it is
- // terminated by Compute Engine.
- AUTOMATIC_RESTART = 1;
- // The Instance isn't automatically restarted whenever it is
- // terminated by Compute Engine.
- NO_AUTOMATIC_RESTART = 2;
- }
- // How the instance should behave when the host machine undergoes
- // maintenance that may temporarily impact instance performance.
- OnHostMaintenance on_host_maintenance = 1;
- // Whether the Instance should be automatically restarted whenever it is
- // terminated by Compute Engine (not terminated by user).
- // This configuration is identical to `automaticRestart` field in Compute
- // Engine create instance under scheduling.
- // It was changed to an enum (instead of a boolean) to match the default
- // value in Compute Engine which is automatic restart.
- RestartType restart_type = 5;
- // A set of node affinity and anti-affinity configurations for sole tenant
- // nodes.
- repeated SchedulingNodeAffinity node_affinities = 3;
- // The minimum number of virtual CPUs this instance will consume when
- // running on a sole-tenant node. Ignored if no node_affinites are
- // configured.
- int32 min_node_cpus = 4;
- }
- // A policy for scheduling replications.
- message SchedulePolicy {
- // The idle duration between replication stages.
- google.protobuf.Duration idle_duration = 1;
- // A flag to indicate whether to skip OS adaptation during the replication
- // sync. OS adaptation is a process where the VM's operating system undergoes
- // changes and adaptations to fully function on Compute Engine.
- bool skip_os_adaptation = 2;
- }
- // Request message for 'CreateMigratingVm' request.
- message CreateMigratingVmRequest {
- // Required. The MigratingVm's parent.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/MigratingVm"
- }
- ];
- // Required. The migratingVm identifier.
- string migrating_vm_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The create request body.
- MigratingVm migrating_vm = 3 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4;
- }
- // Request message for 'LisMigratingVmsRequest' request.
- message ListMigratingVmsRequest {
- // Required. The parent, which owns this collection of MigratingVms.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/MigratingVm"
- }
- ];
- // Optional. The maximum number of migrating VMs to return. The service may
- // return fewer than this value. If unspecified, at most 500 migrating VMs
- // will be returned. The maximum value is 1000; values above 1000 will be
- // coerced to 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Required. A page token, received from a previous `ListMigratingVms` call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to `ListMigratingVms`
- // must match the call that provided the page token.
- string page_token = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. The filter request.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. the order by fields for the result.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- // Optional. The level of details of each migrating VM.
- MigratingVmView view = 6 [(google.api.field_behavior) = OPTIONAL];
- }
- // Response message for 'ListMigratingVms' request.
- message ListMigratingVmsResponse {
- // Output only. The list of Migrating VMs response.
- repeated MigratingVm migrating_vms = 1
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A token, which can be sent as `page_token` to retrieve the
- // next page. If this field is omitted, there are no subsequent pages.
- string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Locations that could not be reached.
- repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for 'GetMigratingVm' request.
- message GetMigratingVmRequest {
- // Required. The name of the MigratingVm.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/MigratingVm"
- }
- ];
- // Optional. The level of details of the migrating VM.
- MigratingVmView view = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- // Request message for 'UpdateMigratingVm' request.
- message UpdateMigratingVmRequest {
- // Field mask is used to specify the fields to be overwritten in the
- // MigratingVm resource by the update.
- // The fields specified in the update_mask are relative to the resource, not
- // the full request. A field will be overwritten if it is in the mask. If the
- // user does not provide a mask then all fields will be overwritten.
- google.protobuf.FieldMask update_mask = 1;
- // Required. The update request body.
- MigratingVm migrating_vm = 2 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 3;
- }
- // Request message for 'DeleteMigratingVm' request.
- message DeleteMigratingVmRequest {
- // Required. The name of the MigratingVm.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/MigratingVm"
- }
- ];
- }
- // Request message for 'StartMigrationRequest' request.
- message StartMigrationRequest {
- // Required. The name of the MigratingVm.
- string migrating_vm = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/MigratingVm"
- }
- ];
- }
- // Response message for 'StartMigration' request.
- message StartMigrationResponse {}
- // Request message for 'PauseMigration' request.
- message PauseMigrationRequest {
- // Required. The name of the MigratingVm.
- string migrating_vm = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/MigratingVm"
- }
- ];
- }
- // Response message for 'PauseMigration' request.
- message PauseMigrationResponse {}
- // Request message for 'ResumeMigration' request.
- message ResumeMigrationRequest {
- // Required. The name of the MigratingVm.
- string migrating_vm = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/MigratingVm"
- }
- ];
- }
- // Response message for 'ResumeMigration' request.
- message ResumeMigrationResponse {}
- // Request message for 'FinalizeMigration' request.
- message FinalizeMigrationRequest {
- // Required. The name of the MigratingVm.
- string migrating_vm = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/MigratingVm"
- }
- ];
- }
- // Response message for 'FinalizeMigration' request.
- message FinalizeMigrationResponse {}
- // TargetProject message represents a target Compute Engine project for a
- // migration or a clone.
- message TargetProject {
- option (google.api.resource) = {
- type: "vmmigration.googleapis.com/TargetProject"
- pattern: "projects/{project}/locations/{location}/targetProjects/{target_project}"
- };
- // Output only. The name of the target project.
- string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The target project ID (number) or project name.
- string project = 2;
- // The target project's description.
- string description = 3;
- // Output only. The time this target project resource was created (not related
- // to when the Compute Engine project it points to was created).
- google.protobuf.Timestamp create_time = 4
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The last time the target project resource was updated.
- google.protobuf.Timestamp update_time = 5
- [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for 'GetTargetProject' call.
- message GetTargetProjectRequest {
- // Required. The TargetProject name.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/TargetProject"
- }
- ];
- }
- // Request message for 'ListTargetProjects' call.
- message ListTargetProjectsRequest {
- // Required. The parent, which owns this collection of targets.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/TargetProject"
- }
- ];
- // Optional. The maximum number of targets to return. The service may return
- // fewer than this value. If unspecified, at most 500 targets will be
- // returned. The maximum value is 1000; values above 1000 will be coerced to
- // 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Required. A page token, received from a previous `ListTargets` call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to `ListTargets` must
- // match the call that provided the page token.
- string page_token = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. The filter request.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. the order by fields for the result.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // Response message for 'ListTargetProjects' call.
- message ListTargetProjectsResponse {
- // Output only. The list of target response.
- repeated TargetProject target_projects = 1
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A token, which can be sent as `page_token` to retrieve the
- // next page. If this field is omitted, there are no subsequent pages.
- string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Locations that could not be reached.
- repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for 'CreateTargetProject' request.
- message CreateTargetProjectRequest {
- // Required. The TargetProject's parent.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/TargetProject"
- }
- ];
- // Required. The target_project identifier.
- string target_project_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The create request body.
- TargetProject target_project = 3 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4;
- }
- // Update message for 'UpdateTargetProject' request.
- message UpdateTargetProjectRequest {
- // Field mask is used to specify the fields to be overwritten in the
- // TargetProject resource by the update.
- // The fields specified in the update_mask are relative to the resource, not
- // the full request. A field will be overwritten if it is in the mask. If the
- // user does not provide a mask then all fields will be overwritten.
- google.protobuf.FieldMask update_mask = 1;
- // Required. The update request body.
- TargetProject target_project = 2 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 3;
- }
- // Request message for 'DeleteTargetProject' request.
- message DeleteTargetProjectRequest {
- // Required. The TargetProject name.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/TargetProject"
- }
- ];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes after the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- // Describes message for 'Group' resource. The Group is a collections of several
- // MigratingVms.
- message Group {
- option (google.api.resource) = {
- type: "vmmigration.googleapis.com/Group"
- pattern: "projects/{project}/locations/{location}/groups/{group}"
- };
- // Output only. The Group name.
- string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The create time timestamp.
- google.protobuf.Timestamp create_time = 2
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The update time timestamp.
- google.protobuf.Timestamp update_time = 3
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // User-provided description of the group.
- string description = 4;
- // Display name is a user defined name for this group which can be updated.
- string display_name = 5;
- }
- // Request message for 'ListGroups' request.
- message ListGroupsRequest {
- // Required. The parent, which owns this collection of groups.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/Group"
- }
- ];
- // Optional. The maximum number of groups to return. The service may return
- // fewer than this value. If unspecified, at most 500 groups will be
- // returned. The maximum value is 1000; values above 1000 will be coerced to
- // 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Required. A page token, received from a previous `ListGroups` call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to `ListGroups` must
- // match the call that provided the page token.
- string page_token = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. The filter request.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. the order by fields for the result.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // Response message for 'ListGroups' request.
- message ListGroupsResponse {
- // Output only. The list of groups response.
- repeated Group groups = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A token, which can be sent as `page_token` to retrieve the
- // next page. If this field is omitted, there are no subsequent pages.
- string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Locations that could not be reached.
- repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for 'GetGroup' request.
- message GetGroupRequest {
- // Required. The group name.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/Group"
- }
- ];
- }
- // Request message for 'CreateGroup' request.
- message CreateGroupRequest {
- // Required. The Group's parent.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/Group"
- }
- ];
- // Required. The group identifier.
- string group_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The create request body.
- Group group = 3 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4;
- }
- // Update message for 'UpdateGroups' request.
- message UpdateGroupRequest {
- // Field mask is used to specify the fields to be overwritten in the
- // Group resource by the update.
- // The fields specified in the update_mask are relative to the resource, not
- // the full request. A field will be overwritten if it is in the mask. If the
- // user does not provide a mask then all fields will be overwritten.
- google.protobuf.FieldMask update_mask = 1;
- // Required. The update request body.
- Group group = 2 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 3;
- }
- // Request message for 'DeleteGroup' request.
- message DeleteGroupRequest {
- // Required. The Group name.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/Group"
- }
- ];
- // Optional. A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes after the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
- }
- // Request message for 'AddGroupMigration' request.
- message AddGroupMigrationRequest {
- // Required. The full path name of the Group to add to.
- string group = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/Group"
- }
- ];
- // The full path name of the MigratingVm to add.
- string migrating_vm = 2 [(google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/MigratingVm"
- }];
- }
- // Response message for 'AddGroupMigration' request.
- message AddGroupMigrationResponse {}
- // Request message for 'RemoveMigration' request.
- message RemoveGroupMigrationRequest {
- // Required. The name of the Group.
- string group = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/Group"
- }
- ];
- // The MigratingVm to remove.
- string migrating_vm = 2 [(google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/MigratingVm"
- }];
- }
- // Response message for 'RemoveMigration' request.
- message RemoveGroupMigrationResponse {}
- // Request message for 'CreateCutoverJob' request.
- message CreateCutoverJobRequest {
- // Required. The Cutover's parent.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/CutoverJob"
- }
- ];
- // Required. The cutover job identifier.
- string cutover_job_id = 2 [(google.api.field_behavior) = REQUIRED];
- // Required. The cutover request body.
- CutoverJob cutover_job = 3 [(google.api.field_behavior) = REQUIRED];
- // A request ID to identify requests. Specify a unique request ID
- // so that if you must retry your request, the server will know to ignore
- // the request if it has already been completed. The server will guarantee
- // that for at least 60 minutes since the first request.
- //
- // For example, consider a situation where you make an initial request and t
- // he request times out. If you make the request again with the same request
- // ID, the server can check if original operation with the same request ID
- // was received, and if so, will ignore the second request. This prevents
- // clients from accidentally creating duplicate commitments.
- //
- // The request ID must be a valid UUID with the exception that zero UUID is
- // not supported (00000000-0000-0000-0000-000000000000).
- string request_id = 4;
- }
- // Request message for 'CancelCutoverJob' request.
- message CancelCutoverJobRequest {
- // Required. The cutover job id
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/CutoverJob"
- }
- ];
- }
- // Response message for 'CancelCutoverJob' request.
- message CancelCutoverJobResponse {}
- // Request message for 'ListCutoverJobsRequest' request.
- message ListCutoverJobsRequest {
- // Required. The parent, which owns this collection of migrating VMs.
- string parent = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- child_type: "vmmigration.googleapis.com/CutoverJob"
- }
- ];
- // Optional. The maximum number of cutover jobs to return. The service may
- // return fewer than this value. If unspecified, at most 500 cutover jobs will
- // be returned. The maximum value is 1000; values above 1000 will be coerced
- // to 1000.
- int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
- // Required. A page token, received from a previous `ListCutoverJobs` call.
- // Provide this to retrieve the subsequent page.
- //
- // When paginating, all other parameters provided to `ListCutoverJobs` must
- // match the call that provided the page token.
- string page_token = 3 [(google.api.field_behavior) = REQUIRED];
- // Optional. The filter request.
- string filter = 4 [(google.api.field_behavior) = OPTIONAL];
- // Optional. the order by fields for the result.
- string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
- }
- // Response message for 'ListCutoverJobs' request.
- message ListCutoverJobsResponse {
- // Output only. The list of cutover jobs response.
- repeated CutoverJob cutover_jobs = 1
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. A token, which can be sent as `page_token` to retrieve the
- // next page. If this field is omitted, there are no subsequent pages.
- string next_page_token = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Locations that could not be reached.
- repeated string unreachable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Request message for 'GetCutoverJob' request.
- message GetCutoverJobRequest {
- // Required. The name of the CutoverJob.
- string name = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "vmmigration.googleapis.com/CutoverJob"
- }
- ];
- }
- // Represents the metadata of the long-running operation.
- message OperationMetadata {
- // Output only. The time the operation was created.
- google.protobuf.Timestamp create_time = 1
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the operation finished running.
- google.protobuf.Timestamp end_time = 2
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Server-defined resource path for the target of the operation.
- string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Name of the verb executed by the operation.
- string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Human-readable status of the operation, if any.
- string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Identifies whether the user has requested cancellation
- // of the operation. Operations that have successfully been cancelled
- // have [Operation.error][] value with a
- // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
- // `Code.CANCELLED`.
- bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. API version used to start the operation.
- string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Represents migration resource error information that can be used with
- // google.rpc.Status message. MigrationError is used to present the user with
- // error information in migration operations.
- message MigrationError {
- // Represents resource error codes.
- enum ErrorCode {
- // Default value. This value is not used.
- ERROR_CODE_UNSPECIFIED = 0;
- // Migrate for Compute encountered an unknown error.
- UNKNOWN_ERROR = 1;
- // Migrate for Compute encountered an error while validating replication
- // source health.
- SOURCE_VALIDATION_ERROR = 2;
- // Migrate for Compute encountered an error during source data operation.
- SOURCE_REPLICATION_ERROR = 3;
- // Migrate for Compute encountered an error during target data operation.
- TARGET_REPLICATION_ERROR = 4;
- // Migrate for Compute encountered an error during OS adaptation.
- OS_ADAPTATION_ERROR = 5;
- // Migrate for Compute encountered an error in clone operation.
- CLONE_ERROR = 6;
- // Migrate for Compute encountered an error in cutover operation.
- CUTOVER_ERROR = 7;
- // Migrate for Compute encountered an error during utilization report
- // creation.
- UTILIZATION_REPORT_ERROR = 8;
- // Migrate for Compute encountered an error during appliance upgrade.
- APPLIANCE_UPGRADE_ERROR = 9;
- }
- // Output only. The error code.
- ErrorCode code = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The localized error message.
- google.rpc.LocalizedMessage error_message = 2
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. Suggested action for solving the error.
- google.rpc.LocalizedMessage action_item = 3
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. URL(s) pointing to additional information on handling the
- // current error.
- repeated google.rpc.Help.Link help_links = 4
- [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time the error occurred.
- google.protobuf.Timestamp error_time = 5
- [(google.api.field_behavior) = OUTPUT_ONLY];
- }
|