xref: /aosp_15_r20/external/googleapis/google/cloud/netapp/v1/snapshot.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.netapp.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
23*d5c09012SAndroid Build Coastguard Worker
24*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.NetApp.V1";
25*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb";
26*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
27*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "SnapshotProto";
28*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.netapp.v1";
29*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\NetApp\\V1";
30*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::NetApp::V1";
31*d5c09012SAndroid Build Coastguard Worker
32*d5c09012SAndroid Build Coastguard Worker// ListSnapshotsRequest lists snapshots.
33*d5c09012SAndroid Build Coastguard Workermessage ListSnapshotsRequest {
34*d5c09012SAndroid Build Coastguard Worker  // Required. The volume for which to retrieve snapshot information,
35*d5c09012SAndroid Build Coastguard Worker  // in the format
36*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/volumes/{volume_id}`.
37*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
38*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
39*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
40*d5c09012SAndroid Build Coastguard Worker      child_type: "netapp.googleapis.com/Snapshot"
41*d5c09012SAndroid Build Coastguard Worker    }
42*d5c09012SAndroid Build Coastguard Worker  ];
43*d5c09012SAndroid Build Coastguard Worker
44*d5c09012SAndroid Build Coastguard Worker  // The maximum number of items to return.
45*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker  // The next_page_token value to use if there are additional
48*d5c09012SAndroid Build Coastguard Worker  // results to retrieve for this list request.
49*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
50*d5c09012SAndroid Build Coastguard Worker
51*d5c09012SAndroid Build Coastguard Worker  // Sort results. Supported values are "name", "name desc" or "" (unsorted).
52*d5c09012SAndroid Build Coastguard Worker  string order_by = 4;
53*d5c09012SAndroid Build Coastguard Worker
54*d5c09012SAndroid Build Coastguard Worker  // List filter.
55*d5c09012SAndroid Build Coastguard Worker  string filter = 5;
56*d5c09012SAndroid Build Coastguard Worker}
57*d5c09012SAndroid Build Coastguard Worker
58*d5c09012SAndroid Build Coastguard Worker// ListSnapshotsResponse is the result of ListSnapshotsRequest.
59*d5c09012SAndroid Build Coastguard Workermessage ListSnapshotsResponse {
60*d5c09012SAndroid Build Coastguard Worker  // A list of snapshots in the project for the specified volume.
61*d5c09012SAndroid Build Coastguard Worker  repeated Snapshot snapshots = 1;
62*d5c09012SAndroid Build Coastguard Worker
63*d5c09012SAndroid Build Coastguard Worker  // The token you can use to retrieve the next page of results. Not returned
64*d5c09012SAndroid Build Coastguard Worker  // if there are no more results in the list.
65*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
66*d5c09012SAndroid Build Coastguard Worker
67*d5c09012SAndroid Build Coastguard Worker  // Locations that could not be reached.
68*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
69*d5c09012SAndroid Build Coastguard Worker}
70*d5c09012SAndroid Build Coastguard Worker
71*d5c09012SAndroid Build Coastguard Worker// GetSnapshotRequest gets the state of a snapshot.
72*d5c09012SAndroid Build Coastguard Workermessage GetSnapshotRequest {
73*d5c09012SAndroid Build Coastguard Worker  // Required. The snapshot resource name, in the format
74*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`
75*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
76*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
77*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "netapp.googleapis.com/Snapshot" }
78*d5c09012SAndroid Build Coastguard Worker  ];
79*d5c09012SAndroid Build Coastguard Worker}
80*d5c09012SAndroid Build Coastguard Worker
81*d5c09012SAndroid Build Coastguard Worker// CreateSnapshotRequest creates a snapshot.
82*d5c09012SAndroid Build Coastguard Workermessage CreateSnapshotRequest {
83*d5c09012SAndroid Build Coastguard Worker  // Required. The NetApp volume to create the snapshots of, in the format
84*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/volumes/{volume_id}`
85*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
86*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
87*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
88*d5c09012SAndroid Build Coastguard Worker      child_type: "netapp.googleapis.com/Snapshot"
89*d5c09012SAndroid Build Coastguard Worker    }
90*d5c09012SAndroid Build Coastguard Worker  ];
91*d5c09012SAndroid Build Coastguard Worker
92*d5c09012SAndroid Build Coastguard Worker  // Required. A snapshot resource
93*d5c09012SAndroid Build Coastguard Worker  Snapshot snapshot = 2 [(google.api.field_behavior) = REQUIRED];
94*d5c09012SAndroid Build Coastguard Worker
95*d5c09012SAndroid Build Coastguard Worker  // Required. ID of the snapshot to create.
96*d5c09012SAndroid Build Coastguard Worker  // This value must start with a lowercase letter followed by up to 62
97*d5c09012SAndroid Build Coastguard Worker  // lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
98*d5c09012SAndroid Build Coastguard Worker  string snapshot_id = 3 [(google.api.field_behavior) = REQUIRED];
99*d5c09012SAndroid Build Coastguard Worker}
100*d5c09012SAndroid Build Coastguard Worker
101*d5c09012SAndroid Build Coastguard Worker// DeleteSnapshotRequest deletes a snapshot.
102*d5c09012SAndroid Build Coastguard Workermessage DeleteSnapshotRequest {
103*d5c09012SAndroid Build Coastguard Worker  // Required. The snapshot resource name, in the format
104*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/volumes/*/snapshots/{snapshot_id}`
105*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
106*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
107*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "netapp.googleapis.com/Snapshot" }
108*d5c09012SAndroid Build Coastguard Worker  ];
109*d5c09012SAndroid Build Coastguard Worker}
110*d5c09012SAndroid Build Coastguard Worker
111*d5c09012SAndroid Build Coastguard Worker// UpdateSnapshotRequest updates description and/or labels for a snapshot.
112*d5c09012SAndroid Build Coastguard Workermessage UpdateSnapshotRequest {
113*d5c09012SAndroid Build Coastguard Worker  // Required. Mask of fields to update.  At least one path must be supplied in
114*d5c09012SAndroid Build Coastguard Worker  // this field.
115*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 1
116*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
117*d5c09012SAndroid Build Coastguard Worker
118*d5c09012SAndroid Build Coastguard Worker  // Required. A snapshot resource
119*d5c09012SAndroid Build Coastguard Worker  Snapshot snapshot = 2 [(google.api.field_behavior) = REQUIRED];
120*d5c09012SAndroid Build Coastguard Worker}
121*d5c09012SAndroid Build Coastguard Worker
122*d5c09012SAndroid Build Coastguard Worker// Snapshot is a point-in-time version of a Volume's content.
123*d5c09012SAndroid Build Coastguard Workermessage Snapshot {
124*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
125*d5c09012SAndroid Build Coastguard Worker    type: "netapp.googleapis.com/Snapshot"
126*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}"
127*d5c09012SAndroid Build Coastguard Worker    plural: "snapshots"
128*d5c09012SAndroid Build Coastguard Worker    singular: "snapshot"
129*d5c09012SAndroid Build Coastguard Worker  };
130*d5c09012SAndroid Build Coastguard Worker
131*d5c09012SAndroid Build Coastguard Worker  // The Snapshot States
132*d5c09012SAndroid Build Coastguard Worker  enum State {
133*d5c09012SAndroid Build Coastguard Worker    // Unspecified Snapshot State
134*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
135*d5c09012SAndroid Build Coastguard Worker
136*d5c09012SAndroid Build Coastguard Worker    // Snapshot State is Ready
137*d5c09012SAndroid Build Coastguard Worker    READY = 1;
138*d5c09012SAndroid Build Coastguard Worker
139*d5c09012SAndroid Build Coastguard Worker    // Snapshot State is Creating
140*d5c09012SAndroid Build Coastguard Worker    CREATING = 2;
141*d5c09012SAndroid Build Coastguard Worker
142*d5c09012SAndroid Build Coastguard Worker    // Snapshot State is Deleting
143*d5c09012SAndroid Build Coastguard Worker    DELETING = 3;
144*d5c09012SAndroid Build Coastguard Worker
145*d5c09012SAndroid Build Coastguard Worker    // Snapshot State is Updating
146*d5c09012SAndroid Build Coastguard Worker    UPDATING = 4;
147*d5c09012SAndroid Build Coastguard Worker
148*d5c09012SAndroid Build Coastguard Worker    // Snapshot State is Disabled
149*d5c09012SAndroid Build Coastguard Worker    DISABLED = 5;
150*d5c09012SAndroid Build Coastguard Worker
151*d5c09012SAndroid Build Coastguard Worker    // Snapshot State is Error
152*d5c09012SAndroid Build Coastguard Worker    ERROR = 6;
153*d5c09012SAndroid Build Coastguard Worker  }
154*d5c09012SAndroid Build Coastguard Worker
155*d5c09012SAndroid Build Coastguard Worker  // Identifier. The resource name of the snapshot.
156*d5c09012SAndroid Build Coastguard Worker  // Format:
157*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`.
158*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
159*d5c09012SAndroid Build Coastguard Worker
160*d5c09012SAndroid Build Coastguard Worker  // Output only. The snapshot state.
161*d5c09012SAndroid Build Coastguard Worker  State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
162*d5c09012SAndroid Build Coastguard Worker
163*d5c09012SAndroid Build Coastguard Worker  // Output only. State details of the storage pool
164*d5c09012SAndroid Build Coastguard Worker  string state_details = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
165*d5c09012SAndroid Build Coastguard Worker
166*d5c09012SAndroid Build Coastguard Worker  // A description of the snapshot with 2048 characters or less.
167*d5c09012SAndroid Build Coastguard Worker  // Requests with longer descriptions will be rejected.
168*d5c09012SAndroid Build Coastguard Worker  string description = 4;
169*d5c09012SAndroid Build Coastguard Worker
170*d5c09012SAndroid Build Coastguard Worker  // Output only. Current storage usage for the snapshot in bytes.
171*d5c09012SAndroid Build Coastguard Worker  double used_bytes = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
172*d5c09012SAndroid Build Coastguard Worker
173*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the snapshot was created.
174*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 6
175*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
176*d5c09012SAndroid Build Coastguard Worker
177*d5c09012SAndroid Build Coastguard Worker  // Resource labels to represent user provided metadata.
178*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 7;
179*d5c09012SAndroid Build Coastguard Worker}
180