xref: /aosp_15_r20/external/googleapis/google/cloud/backupdr/v1/backupdr.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.backupdr.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
26*d5c09012SAndroid Build Coastguard Worker
27*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.BackupDR.V1";
28*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/backupdr/apiv1/backupdrpb;backupdrpb";
29*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
30*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "BackupDRProto";
31*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.backupdr.v1";
32*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\BackupDR\\V1";
33*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::BackupDR::V1";
34*d5c09012SAndroid Build Coastguard Worker
35*d5c09012SAndroid Build Coastguard Worker// The BackupDR Service
36*d5c09012SAndroid Build Coastguard Workerservice BackupDR {
37*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "backupdr.googleapis.com";
38*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
39*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform";
40*d5c09012SAndroid Build Coastguard Worker
41*d5c09012SAndroid Build Coastguard Worker  // Lists ManagementServers in a given project and location.
42*d5c09012SAndroid Build Coastguard Worker  rpc ListManagementServers(ListManagementServersRequest)
43*d5c09012SAndroid Build Coastguard Worker      returns (ListManagementServersResponse) {
44*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
45*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*}/managementServers"
46*d5c09012SAndroid Build Coastguard Worker    };
47*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
48*d5c09012SAndroid Build Coastguard Worker  }
49*d5c09012SAndroid Build Coastguard Worker
50*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single ManagementServer.
51*d5c09012SAndroid Build Coastguard Worker  rpc GetManagementServer(GetManagementServerRequest)
52*d5c09012SAndroid Build Coastguard Worker      returns (ManagementServer) {
53*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
54*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/managementServers/*}"
55*d5c09012SAndroid Build Coastguard Worker    };
56*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
57*d5c09012SAndroid Build Coastguard Worker  }
58*d5c09012SAndroid Build Coastguard Worker
59*d5c09012SAndroid Build Coastguard Worker  // Creates a new ManagementServer in a given project and location.
60*d5c09012SAndroid Build Coastguard Worker  rpc CreateManagementServer(CreateManagementServerRequest)
61*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
62*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
63*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*}/managementServers"
64*d5c09012SAndroid Build Coastguard Worker      body: "management_server"
65*d5c09012SAndroid Build Coastguard Worker    };
66*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
67*d5c09012SAndroid Build Coastguard Worker        "parent,management_server,management_server_id";
68*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
69*d5c09012SAndroid Build Coastguard Worker      response_type: "ManagementServer"
70*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
71*d5c09012SAndroid Build Coastguard Worker    };
72*d5c09012SAndroid Build Coastguard Worker  }
73*d5c09012SAndroid Build Coastguard Worker
74*d5c09012SAndroid Build Coastguard Worker  // Deletes a single ManagementServer.
75*d5c09012SAndroid Build Coastguard Worker  rpc DeleteManagementServer(DeleteManagementServerRequest)
76*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
77*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
78*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/managementServers/*}"
79*d5c09012SAndroid Build Coastguard Worker    };
80*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
81*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
82*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
83*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
84*d5c09012SAndroid Build Coastguard Worker    };
85*d5c09012SAndroid Build Coastguard Worker  }
86*d5c09012SAndroid Build Coastguard Worker}
87*d5c09012SAndroid Build Coastguard Worker
88*d5c09012SAndroid Build Coastguard Worker// Network configuration for ManagementServer instance.
89*d5c09012SAndroid Build Coastguard Workermessage NetworkConfig {
90*d5c09012SAndroid Build Coastguard Worker  // VPC peering modes supported by Cloud BackupDR.
91*d5c09012SAndroid Build Coastguard Worker  enum PeeringMode {
92*d5c09012SAndroid Build Coastguard Worker    // Peering mode not set.
93*d5c09012SAndroid Build Coastguard Worker    PEERING_MODE_UNSPECIFIED = 0;
94*d5c09012SAndroid Build Coastguard Worker
95*d5c09012SAndroid Build Coastguard Worker    // Connect using Private Service Access to the Management Server. Private
96*d5c09012SAndroid Build Coastguard Worker    // services access provides an IP address range for multiple Google Cloud
97*d5c09012SAndroid Build Coastguard Worker    // services, including Cloud BackupDR.
98*d5c09012SAndroid Build Coastguard Worker    PRIVATE_SERVICE_ACCESS = 1;
99*d5c09012SAndroid Build Coastguard Worker  }
100*d5c09012SAndroid Build Coastguard Worker
101*d5c09012SAndroid Build Coastguard Worker  // Optional. The resource name of the Google Compute Engine VPC network to
102*d5c09012SAndroid Build Coastguard Worker  // which the ManagementServer instance is connected.
103*d5c09012SAndroid Build Coastguard Worker  string network = 1 [(google.api.field_behavior) = OPTIONAL];
104*d5c09012SAndroid Build Coastguard Worker
105*d5c09012SAndroid Build Coastguard Worker  // Optional. The network connect mode of the ManagementServer instance. For
106*d5c09012SAndroid Build Coastguard Worker  // this version, only PRIVATE_SERVICE_ACCESS is supported.
107*d5c09012SAndroid Build Coastguard Worker  PeeringMode peering_mode = 2 [(google.api.field_behavior) = OPTIONAL];
108*d5c09012SAndroid Build Coastguard Worker}
109*d5c09012SAndroid Build Coastguard Worker
110*d5c09012SAndroid Build Coastguard Worker// ManagementURI for the Management Server resource.
111*d5c09012SAndroid Build Coastguard Workermessage ManagementURI {
112*d5c09012SAndroid Build Coastguard Worker  // Output only. The ManagementServer AGM/RD WebUI URL.
113*d5c09012SAndroid Build Coastguard Worker  string web_ui = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
114*d5c09012SAndroid Build Coastguard Worker
115*d5c09012SAndroid Build Coastguard Worker  // Output only. The ManagementServer AGM/RD API URL.
116*d5c09012SAndroid Build Coastguard Worker  string api = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
117*d5c09012SAndroid Build Coastguard Worker}
118*d5c09012SAndroid Build Coastguard Worker
119*d5c09012SAndroid Build Coastguard Worker// ManagementURI depending on the Workforce Identity i.e. either 1p or 3p.
120*d5c09012SAndroid Build Coastguard Workermessage WorkforceIdentityBasedManagementURI {
121*d5c09012SAndroid Build Coastguard Worker  // Output only. First party Management URI for Google Identities.
122*d5c09012SAndroid Build Coastguard Worker  string first_party_management_uri = 1
123*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
124*d5c09012SAndroid Build Coastguard Worker
125*d5c09012SAndroid Build Coastguard Worker  // Output only. Third party Management URI for External Identity Providers.
126*d5c09012SAndroid Build Coastguard Worker  string third_party_management_uri = 2
127*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
128*d5c09012SAndroid Build Coastguard Worker}
129*d5c09012SAndroid Build Coastguard Worker
130*d5c09012SAndroid Build Coastguard Worker// OAuth Client ID depending on the Workforce Identity i.e. either 1p or 3p,
131*d5c09012SAndroid Build Coastguard Workermessage WorkforceIdentityBasedOAuth2ClientID {
132*d5c09012SAndroid Build Coastguard Worker  // Output only. First party OAuth Client ID for Google Identities.
133*d5c09012SAndroid Build Coastguard Worker  string first_party_oauth2_client_id = 1
134*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
135*d5c09012SAndroid Build Coastguard Worker
136*d5c09012SAndroid Build Coastguard Worker  // Output only. Third party OAuth Client ID for External Identity Providers.
137*d5c09012SAndroid Build Coastguard Worker  string third_party_oauth2_client_id = 2
138*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
139*d5c09012SAndroid Build Coastguard Worker}
140*d5c09012SAndroid Build Coastguard Worker
141*d5c09012SAndroid Build Coastguard Worker// ManagementServer describes a single BackupDR ManagementServer instance.
142*d5c09012SAndroid Build Coastguard Workermessage ManagementServer {
143*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
144*d5c09012SAndroid Build Coastguard Worker    type: "backupdr.googleapis.com/ManagementServer"
145*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/managementServers/{managementserver}"
146*d5c09012SAndroid Build Coastguard Worker    plural: "managementServers"
147*d5c09012SAndroid Build Coastguard Worker    singular: "managementServer"
148*d5c09012SAndroid Build Coastguard Worker  };
149*d5c09012SAndroid Build Coastguard Worker
150*d5c09012SAndroid Build Coastguard Worker  // Type of backup service resource.
151*d5c09012SAndroid Build Coastguard Worker  enum InstanceType {
152*d5c09012SAndroid Build Coastguard Worker    // Instance type is not mentioned.
153*d5c09012SAndroid Build Coastguard Worker    INSTANCE_TYPE_UNSPECIFIED = 0;
154*d5c09012SAndroid Build Coastguard Worker
155*d5c09012SAndroid Build Coastguard Worker    // Instance for backup and restore management (i.e., AGM).
156*d5c09012SAndroid Build Coastguard Worker    BACKUP_RESTORE = 1;
157*d5c09012SAndroid Build Coastguard Worker  }
158*d5c09012SAndroid Build Coastguard Worker
159*d5c09012SAndroid Build Coastguard Worker  // State of Management server instance.
160*d5c09012SAndroid Build Coastguard Worker  enum InstanceState {
161*d5c09012SAndroid Build Coastguard Worker    // State not set.
162*d5c09012SAndroid Build Coastguard Worker    INSTANCE_STATE_UNSPECIFIED = 0;
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker    // The instance is being created.
165*d5c09012SAndroid Build Coastguard Worker    CREATING = 1;
166*d5c09012SAndroid Build Coastguard Worker
167*d5c09012SAndroid Build Coastguard Worker    // The instance has been created and is fully usable.
168*d5c09012SAndroid Build Coastguard Worker    READY = 2;
169*d5c09012SAndroid Build Coastguard Worker
170*d5c09012SAndroid Build Coastguard Worker    // The instance configuration is being updated. Certain kinds of updates
171*d5c09012SAndroid Build Coastguard Worker    // may cause the instance to become unusable while the update is in
172*d5c09012SAndroid Build Coastguard Worker    // progress.
173*d5c09012SAndroid Build Coastguard Worker    UPDATING = 3;
174*d5c09012SAndroid Build Coastguard Worker
175*d5c09012SAndroid Build Coastguard Worker    // The instance is being deleted.
176*d5c09012SAndroid Build Coastguard Worker    DELETING = 4;
177*d5c09012SAndroid Build Coastguard Worker
178*d5c09012SAndroid Build Coastguard Worker    // The instance is being repaired and may be unstable.
179*d5c09012SAndroid Build Coastguard Worker    REPAIRING = 5;
180*d5c09012SAndroid Build Coastguard Worker
181*d5c09012SAndroid Build Coastguard Worker    // Maintenance is being performed on this instance.
182*d5c09012SAndroid Build Coastguard Worker    MAINTENANCE = 6;
183*d5c09012SAndroid Build Coastguard Worker
184*d5c09012SAndroid Build Coastguard Worker    // The instance is experiencing an issue and might be unusable. You can get
185*d5c09012SAndroid Build Coastguard Worker    // further details from the statusMessage field of Instance resource.
186*d5c09012SAndroid Build Coastguard Worker    ERROR = 7;
187*d5c09012SAndroid Build Coastguard Worker  }
188*d5c09012SAndroid Build Coastguard Worker
189*d5c09012SAndroid Build Coastguard Worker  // Output only. Identifier. The resource name.
190*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
191*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
192*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = IDENTIFIER
193*d5c09012SAndroid Build Coastguard Worker  ];
194*d5c09012SAndroid Build Coastguard Worker
195*d5c09012SAndroid Build Coastguard Worker  // Optional. The description of the ManagementServer instance (2048 characters
196*d5c09012SAndroid Build Coastguard Worker  // or less).
197*d5c09012SAndroid Build Coastguard Worker  string description = 9 [(google.api.field_behavior) = OPTIONAL];
198*d5c09012SAndroid Build Coastguard Worker
199*d5c09012SAndroid Build Coastguard Worker  // Optional. Resource labels to represent user provided metadata.
200*d5c09012SAndroid Build Coastguard Worker  // Labels currently defined:
201*d5c09012SAndroid Build Coastguard Worker  // 1. migrate_from_go=<false|true>
202*d5c09012SAndroid Build Coastguard Worker  //    If set to true, the MS is created in migration ready mode.
203*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 4 [(google.api.field_behavior) = OPTIONAL];
204*d5c09012SAndroid Build Coastguard Worker
205*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the instance was created.
206*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 2
207*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
208*d5c09012SAndroid Build Coastguard Worker
209*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the instance was updated.
210*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 3
211*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
212*d5c09012SAndroid Build Coastguard Worker
213*d5c09012SAndroid Build Coastguard Worker  // Optional. The type of the ManagementServer resource.
214*d5c09012SAndroid Build Coastguard Worker  InstanceType type = 14 [(google.api.field_behavior) = OPTIONAL];
215*d5c09012SAndroid Build Coastguard Worker
216*d5c09012SAndroid Build Coastguard Worker  // Output only. The hostname or ip address of the exposed AGM endpoints, used
217*d5c09012SAndroid Build Coastguard Worker  // by clients to connect to AGM/RD graphical user interface and APIs.
218*d5c09012SAndroid Build Coastguard Worker  ManagementURI management_uri = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
219*d5c09012SAndroid Build Coastguard Worker
220*d5c09012SAndroid Build Coastguard Worker  // Output only. The hostnames of the exposed AGM endpoints for both types of
221*d5c09012SAndroid Build Coastguard Worker  // user i.e. 1p and 3p, used to connect AGM/RM UI.
222*d5c09012SAndroid Build Coastguard Worker  WorkforceIdentityBasedManagementURI workforce_identity_based_management_uri =
223*d5c09012SAndroid Build Coastguard Worker      16 [(google.api.field_behavior) = OUTPUT_ONLY];
224*d5c09012SAndroid Build Coastguard Worker
225*d5c09012SAndroid Build Coastguard Worker  // Output only. The ManagementServer state.
226*d5c09012SAndroid Build Coastguard Worker  InstanceState state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
227*d5c09012SAndroid Build Coastguard Worker
228*d5c09012SAndroid Build Coastguard Worker  // Required. VPC networks to which the ManagementServer instance is connected.
229*d5c09012SAndroid Build Coastguard Worker  // For this version, only a single network is supported.
230*d5c09012SAndroid Build Coastguard Worker  repeated NetworkConfig networks = 8 [(google.api.field_behavior) = REQUIRED];
231*d5c09012SAndroid Build Coastguard Worker
232*d5c09012SAndroid Build Coastguard Worker  // Optional. Server specified ETag for the ManagementServer resource to
233*d5c09012SAndroid Build Coastguard Worker  // prevent simultaneous updates from overwiting each other.
234*d5c09012SAndroid Build Coastguard Worker  string etag = 13 [(google.api.field_behavior) = OPTIONAL];
235*d5c09012SAndroid Build Coastguard Worker
236*d5c09012SAndroid Build Coastguard Worker  // Output only. The OAuth 2.0 client id is required to make API calls to the
237*d5c09012SAndroid Build Coastguard Worker  // BackupDR instance API of this ManagementServer. This is the value that
238*d5c09012SAndroid Build Coastguard Worker  // should be provided in the ‘aud’ field of the OIDC ID Token (see openid
239*d5c09012SAndroid Build Coastguard Worker  // specification
240*d5c09012SAndroid Build Coastguard Worker  // https://openid.net/specs/openid-connect-core-1_0.html#IDToken).
241*d5c09012SAndroid Build Coastguard Worker  string oauth2_client_id = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
242*d5c09012SAndroid Build Coastguard Worker
243*d5c09012SAndroid Build Coastguard Worker  // Output only. The OAuth client IDs for both types of user i.e. 1p and 3p.
244*d5c09012SAndroid Build Coastguard Worker  WorkforceIdentityBasedOAuth2ClientID
245*d5c09012SAndroid Build Coastguard Worker      workforce_identity_based_oauth2_client_id = 17
246*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
247*d5c09012SAndroid Build Coastguard Worker
248*d5c09012SAndroid Build Coastguard Worker  // Output only. The hostname or ip address of the exposed AGM endpoints, used
249*d5c09012SAndroid Build Coastguard Worker  // by BAs to connect to BA proxy.
250*d5c09012SAndroid Build Coastguard Worker  repeated string ba_proxy_uri = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
251*d5c09012SAndroid Build Coastguard Worker}
252*d5c09012SAndroid Build Coastguard Worker
253*d5c09012SAndroid Build Coastguard Worker// Request message for listing management servers.
254*d5c09012SAndroid Build Coastguard Workermessage ListManagementServersRequest {
255*d5c09012SAndroid Build Coastguard Worker  // Required. The project and location for which to retrieve management servers
256*d5c09012SAndroid Build Coastguard Worker  // information, in the format `projects/{project_id}/locations/{location}`. In
257*d5c09012SAndroid Build Coastguard Worker  // Cloud BackupDR, locations map to GCP regions, for example **us-central1**.
258*d5c09012SAndroid Build Coastguard Worker  // To retrieve management servers for all locations, use "-" for the
259*d5c09012SAndroid Build Coastguard Worker  // `{location}` value.
260*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
261*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
262*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
263*d5c09012SAndroid Build Coastguard Worker      child_type: "backupdr.googleapis.com/ManagementServer"
264*d5c09012SAndroid Build Coastguard Worker    }
265*d5c09012SAndroid Build Coastguard Worker  ];
266*d5c09012SAndroid Build Coastguard Worker
267*d5c09012SAndroid Build Coastguard Worker  // Optional. Requested page size. Server may return fewer items than
268*d5c09012SAndroid Build Coastguard Worker  // requested. If unspecified, server will pick an appropriate default.
269*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
270*d5c09012SAndroid Build Coastguard Worker
271*d5c09012SAndroid Build Coastguard Worker  // Optional. A token identifying a page of results the server should return.
272*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
273*d5c09012SAndroid Build Coastguard Worker
274*d5c09012SAndroid Build Coastguard Worker  // Optional. Filtering results.
275*d5c09012SAndroid Build Coastguard Worker  optional string filter = 4 [(google.api.field_behavior) = OPTIONAL];
276*d5c09012SAndroid Build Coastguard Worker
277*d5c09012SAndroid Build Coastguard Worker  // Optional. Hint for how to order the results.
278*d5c09012SAndroid Build Coastguard Worker  optional string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
279*d5c09012SAndroid Build Coastguard Worker}
280*d5c09012SAndroid Build Coastguard Worker
281*d5c09012SAndroid Build Coastguard Worker// Response message for listing management servers.
282*d5c09012SAndroid Build Coastguard Workermessage ListManagementServersResponse {
283*d5c09012SAndroid Build Coastguard Worker  // The list of ManagementServer instances in the project for the specified
284*d5c09012SAndroid Build Coastguard Worker  // location.
285*d5c09012SAndroid Build Coastguard Worker  //
286*d5c09012SAndroid Build Coastguard Worker  // If the `{location}` value in the request is "-", the response contains a
287*d5c09012SAndroid Build Coastguard Worker  // list of instances from all locations. In case any location is unreachable,
288*d5c09012SAndroid Build Coastguard Worker  // the response will only return management servers in reachable locations and
289*d5c09012SAndroid Build Coastguard Worker  // the 'unreachable' field will be populated with a list of unreachable
290*d5c09012SAndroid Build Coastguard Worker  // locations.
291*d5c09012SAndroid Build Coastguard Worker  repeated ManagementServer management_servers = 1;
292*d5c09012SAndroid Build Coastguard Worker
293*d5c09012SAndroid Build Coastguard Worker  // A token identifying a page of results the server should return.
294*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
295*d5c09012SAndroid Build Coastguard Worker
296*d5c09012SAndroid Build Coastguard Worker  // Locations that could not be reached.
297*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
298*d5c09012SAndroid Build Coastguard Worker}
299*d5c09012SAndroid Build Coastguard Worker
300*d5c09012SAndroid Build Coastguard Worker// Request message for getting a management server instance.
301*d5c09012SAndroid Build Coastguard Workermessage GetManagementServerRequest {
302*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the management server resource name, in the format
303*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/managementServers/{resource_name}`
304*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
305*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
306*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
307*d5c09012SAndroid Build Coastguard Worker      type: "backupdr.googleapis.com/ManagementServer"
308*d5c09012SAndroid Build Coastguard Worker    }
309*d5c09012SAndroid Build Coastguard Worker  ];
310*d5c09012SAndroid Build Coastguard Worker}
311*d5c09012SAndroid Build Coastguard Worker
312*d5c09012SAndroid Build Coastguard Worker// Request message for creating a management server instance.
313*d5c09012SAndroid Build Coastguard Workermessage CreateManagementServerRequest {
314*d5c09012SAndroid Build Coastguard Worker  // Required. The management server project and location in the format
315*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}`. In Cloud Backup and DR
316*d5c09012SAndroid Build Coastguard Worker  // locations map to GCP regions, for example **us-central1**.
317*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
318*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
319*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
320*d5c09012SAndroid Build Coastguard Worker      child_type: "backupdr.googleapis.com/ManagementServer"
321*d5c09012SAndroid Build Coastguard Worker    }
322*d5c09012SAndroid Build Coastguard Worker  ];
323*d5c09012SAndroid Build Coastguard Worker
324*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the management server to create. The name must be
325*d5c09012SAndroid Build Coastguard Worker  // unique for the specified project and location.
326*d5c09012SAndroid Build Coastguard Worker  string management_server_id = 2 [(google.api.field_behavior) = REQUIRED];
327*d5c09012SAndroid Build Coastguard Worker
328*d5c09012SAndroid Build Coastguard Worker  // Required. A [management server
329*d5c09012SAndroid Build Coastguard Worker  // resource][google.cloud.backupdr.v1.ManagementServer]
330*d5c09012SAndroid Build Coastguard Worker  ManagementServer management_server = 3
331*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
332*d5c09012SAndroid Build Coastguard Worker
333*d5c09012SAndroid Build Coastguard Worker  // Optional. An optional request ID to identify requests. Specify a unique
334*d5c09012SAndroid Build Coastguard Worker  // request ID so that if you must retry your request, the server will know to
335*d5c09012SAndroid Build Coastguard Worker  // ignore the request if it has already been completed. The server will
336*d5c09012SAndroid Build Coastguard Worker  // guarantee that for at least 60 minutes since the first request.
337*d5c09012SAndroid Build Coastguard Worker  //
338*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and
339*d5c09012SAndroid Build Coastguard Worker  // the request times out. If you make the request again with the same request
340*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
341*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
342*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
343*d5c09012SAndroid Build Coastguard Worker  //
344*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
345*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
346*d5c09012SAndroid Build Coastguard Worker  string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
347*d5c09012SAndroid Build Coastguard Worker}
348*d5c09012SAndroid Build Coastguard Worker
349*d5c09012SAndroid Build Coastguard Worker// Request message for deleting a management server instance.
350*d5c09012SAndroid Build Coastguard Workermessage DeleteManagementServerRequest {
351*d5c09012SAndroid Build Coastguard Worker  // Required. Name of the resource
352*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
353*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
354*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
355*d5c09012SAndroid Build Coastguard Worker      type: "backupdr.googleapis.com/ManagementServer"
356*d5c09012SAndroid Build Coastguard Worker    }
357*d5c09012SAndroid Build Coastguard Worker  ];
358*d5c09012SAndroid Build Coastguard Worker
359*d5c09012SAndroid Build Coastguard Worker  // Optional. An optional request ID to identify requests. Specify a unique
360*d5c09012SAndroid Build Coastguard Worker  // request ID so that if you must retry your request, the server will know to
361*d5c09012SAndroid Build Coastguard Worker  // ignore the request if it has already been completed. The server will
362*d5c09012SAndroid Build Coastguard Worker  // guarantee that for at least 60 minutes after the first request.
363*d5c09012SAndroid Build Coastguard Worker  //
364*d5c09012SAndroid Build Coastguard Worker  // For example, consider a situation where you make an initial request and
365*d5c09012SAndroid Build Coastguard Worker  // the request times out. If you make the request again with the same request
366*d5c09012SAndroid Build Coastguard Worker  // ID, the server can check if original operation with the same request ID
367*d5c09012SAndroid Build Coastguard Worker  // was received, and if so, will ignore the second request. This prevents
368*d5c09012SAndroid Build Coastguard Worker  // clients from accidentally creating duplicate commitments.
369*d5c09012SAndroid Build Coastguard Worker  //
370*d5c09012SAndroid Build Coastguard Worker  // The request ID must be a valid UUID with the exception that zero UUID is
371*d5c09012SAndroid Build Coastguard Worker  // not supported (00000000-0000-0000-0000-000000000000).
372*d5c09012SAndroid Build Coastguard Worker  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
373*d5c09012SAndroid Build Coastguard Worker}
374*d5c09012SAndroid Build Coastguard Worker
375*d5c09012SAndroid Build Coastguard Worker// Represents the metadata of the long-running operation.
376*d5c09012SAndroid Build Coastguard Workermessage OperationMetadata {
377*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the operation was created.
378*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 1
379*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
380*d5c09012SAndroid Build Coastguard Worker
381*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the operation finished running.
382*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2
383*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
384*d5c09012SAndroid Build Coastguard Worker
385*d5c09012SAndroid Build Coastguard Worker  // Output only. Server-defined resource path for the target of the operation.
386*d5c09012SAndroid Build Coastguard Worker  string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
387*d5c09012SAndroid Build Coastguard Worker
388*d5c09012SAndroid Build Coastguard Worker  // Output only. Name of the verb executed by the operation.
389*d5c09012SAndroid Build Coastguard Worker  string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
390*d5c09012SAndroid Build Coastguard Worker
391*d5c09012SAndroid Build Coastguard Worker  // Output only. Human-readable status of the operation, if any.
392*d5c09012SAndroid Build Coastguard Worker  string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
393*d5c09012SAndroid Build Coastguard Worker
394*d5c09012SAndroid Build Coastguard Worker  // Output only. Identifies whether the user has requested cancellation
395*d5c09012SAndroid Build Coastguard Worker  // of the operation. Operations that have successfully been cancelled
396*d5c09012SAndroid Build Coastguard Worker  // have [Operation.error][] value with a
397*d5c09012SAndroid Build Coastguard Worker  // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
398*d5c09012SAndroid Build Coastguard Worker  // `Code.CANCELLED`.
399*d5c09012SAndroid Build Coastguard Worker  bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
400*d5c09012SAndroid Build Coastguard Worker
401*d5c09012SAndroid Build Coastguard Worker  // Output only. API version used to start the operation.
402*d5c09012SAndroid Build Coastguard Worker  string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
403*d5c09012SAndroid Build Coastguard Worker
404*d5c09012SAndroid Build Coastguard Worker  // Output only. AdditionalInfo contains additional Info related to backup plan
405*d5c09012SAndroid Build Coastguard Worker  // association resource.
406*d5c09012SAndroid Build Coastguard Worker  map<string, string> additional_info = 8
407*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
408*d5c09012SAndroid Build Coastguard Worker}
409