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