123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- // 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.dataflow.v1beta3;
- import "google/api/annotations.proto";
- import "google/api/client.proto";
- import "google/protobuf/duration.proto";
- import "google/protobuf/timestamp.proto";
- option csharp_namespace = "Google.Cloud.Dataflow.V1Beta3";
- option go_package = "google.golang.org/genproto/googleapis/dataflow/v1beta3;dataflow";
- option java_multiple_files = true;
- option java_outer_classname = "SnapshotsProto";
- option java_package = "com.google.dataflow.v1beta3";
- option php_namespace = "Google\\Cloud\\Dataflow\\V1beta3";
- option ruby_package = "Google::Cloud::Dataflow::V1beta3";
- // Provides methods to manage snapshots of Google Cloud Dataflow jobs.
- service SnapshotsV1Beta3 {
- option (google.api.default_host) = "dataflow.googleapis.com";
- option (google.api.oauth_scopes) =
- "https://www.googleapis.com/auth/cloud-platform,"
- "https://www.googleapis.com/auth/compute,"
- "https://www.googleapis.com/auth/compute.readonly,"
- "https://www.googleapis.com/auth/userinfo.email";
- // Gets information about a snapshot.
- rpc GetSnapshot(GetSnapshotRequest) returns (Snapshot) {
- option (google.api.http) = {
- get: "/v1b3/projects/{project_id}/locations/{location}/snapshots/{snapshot_id}"
- additional_bindings {
- get: "/v1b3/projects/{project_id}/snapshots/{snapshot_id}"
- }
- };
- }
- // Deletes a snapshot.
- rpc DeleteSnapshot(DeleteSnapshotRequest) returns (DeleteSnapshotResponse) {
- option (google.api.http) = {
- delete: "/v1b3/projects/{project_id}/locations/{location}/snapshots/{snapshot_id}"
- additional_bindings {
- delete: "/v1b3/projects/{project_id}/snapshots"
- }
- };
- }
- // Lists snapshots.
- rpc ListSnapshots(ListSnapshotsRequest) returns (ListSnapshotsResponse) {
- option (google.api.http) = {
- get: "/v1b3/projects/{project_id}/locations/{location}/jobs/{job_id}/snapshots"
- additional_bindings {
- get: "/v1b3/projects/{project_id}/locations/{location}/snapshots"
- }
- additional_bindings {
- get: "/v1b3/projects/{project_id}/snapshots"
- }
- };
- }
- }
- // Snapshot state.
- enum SnapshotState {
- // Unknown state.
- UNKNOWN_SNAPSHOT_STATE = 0;
- // Snapshot intent to create has been persisted, snapshotting of state has not
- // yet started.
- PENDING = 1;
- // Snapshotting is being performed.
- RUNNING = 2;
- // Snapshot has been created and is ready to be used.
- READY = 3;
- // Snapshot failed to be created.
- FAILED = 4;
- // Snapshot has been deleted.
- DELETED = 5;
- }
- // Represents a Pubsub snapshot.
- message PubsubSnapshotMetadata {
- // The name of the Pubsub topic.
- string topic_name = 1;
- // The name of the Pubsub snapshot.
- string snapshot_name = 2;
- // The expire time of the Pubsub snapshot.
- google.protobuf.Timestamp expire_time = 3;
- }
- // Represents a snapshot of a job.
- message Snapshot {
- // The unique ID of this snapshot.
- string id = 1;
- // The project this snapshot belongs to.
- string project_id = 2;
- // The job this snapshot was created from.
- string source_job_id = 3;
- // The time this snapshot was created.
- google.protobuf.Timestamp creation_time = 4;
- // The time after which this snapshot will be automatically deleted.
- google.protobuf.Duration ttl = 5;
- // State of the snapshot.
- SnapshotState state = 6;
- // Pub/Sub snapshot metadata.
- repeated PubsubSnapshotMetadata pubsub_metadata = 7;
- // User specified description of the snapshot. Maybe empty.
- string description = 8;
- // The disk byte size of the snapshot. Only available for snapshots in READY
- // state.
- int64 disk_size_bytes = 9;
- // Cloud region where this snapshot lives in, e.g., "us-central1".
- string region = 10;
- }
- // Request to get information about a snapshot
- message GetSnapshotRequest {
- // The ID of the Cloud Platform project that the snapshot belongs to.
- string project_id = 1;
- // The ID of the snapshot.
- string snapshot_id = 2;
- // The location that contains this snapshot.
- string location = 3;
- }
- // Request to delete a snapshot.
- message DeleteSnapshotRequest {
- // The ID of the Cloud Platform project that the snapshot belongs to.
- string project_id = 1;
- // The ID of the snapshot.
- string snapshot_id = 2;
- // The location that contains this snapshot.
- string location = 3;
- }
- // Response from deleting a snapshot.
- message DeleteSnapshotResponse {
- }
- // Request to list snapshots.
- message ListSnapshotsRequest {
- // The project ID to list snapshots for.
- string project_id = 1;
- // If specified, list snapshots created from this job.
- string job_id = 3;
- // The location to list snapshots in.
- string location = 2;
- }
- // List of snapshots.
- message ListSnapshotsResponse {
- // Returned snapshots.
- repeated Snapshot snapshots = 1;
- }
|