# frozen_string_literal: true
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/longrunning/operations.proto

require 'google/protobuf'

require 'google/api/annotations_pb'
require 'google/api/client_pb'
require 'google/api/field_behavior_pb'
require 'google/protobuf/any_pb'
require 'google/protobuf/descriptor_pb'
require 'google/protobuf/duration_pb'
require 'google/protobuf/empty_pb'
require 'google/rpc/status_pb'


descriptor_data = "\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/protobuf/any.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\"\xa8\x01\n\tOperation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12&\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08\x12#\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00\x12(\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x42\x08\n\x06result\"#\n\x13GetOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"|\n\x15ListOperationsRequest\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x1e\n\x16return_partial_success\x18\x05 \x01(\x08\"~\n\x16ListOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x18\n\x0bunreachable\x18\x03 \x03(\tB\x03\xe0\x41\x06\"&\n\x16\x43\x61ncelOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"&\n\x16\x44\x65leteOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"P\n\x14WaitOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12*\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"=\n\rOperationInfo\x12\x15\n\rresponse_type\x18\x01 \x01(\t\x12\x15\n\rmetadata_type\x18\x02 \x01(\t2\xaa\x05\n\nOperations\x12\x94\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"+\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12\x7f\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12~\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x88\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*\x12Z\n\rWaitOperation\x12(.google.longrunning.WaitOperationRequest\x1a\x1d.google.longrunning.Operation\"\x00\x1a\x1d\xca\x41\x1alongrunning.googleapis.com:Z\n\x0eoperation_info\x12\x1e.google.protobuf.MethodOptions\x18\x99\x08 \x01(\x0b\x32!.google.longrunning.OperationInfoB\xa2\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\xa2\x02\x05GLRUN\xaa\x02\x12Google.LongRunning\xca\x02\x12Google\\LongRunningb\x06proto3"

pool = ::Google::Protobuf::DescriptorPool.generated_pool
pool.add_serialized_file(descriptor_data)

module Google
  module Longrunning
    Operation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.longrunning.Operation").msgclass
    GetOperationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.longrunning.GetOperationRequest").msgclass
    ListOperationsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.longrunning.ListOperationsRequest").msgclass
    ListOperationsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.longrunning.ListOperationsResponse").msgclass
    CancelOperationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.longrunning.CancelOperationRequest").msgclass
    DeleteOperationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.longrunning.DeleteOperationRequest").msgclass
    WaitOperationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.longrunning.WaitOperationRequest").msgclass
    OperationInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.longrunning.OperationInfo").msgclass
  end
end

#### Source proto file: google/longrunning/operations.proto ####
#
# // Copyright 2025 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.longrunning;
#
# import "google/api/annotations.proto";
# import "google/api/client.proto";
# import "google/api/field_behavior.proto";
# import "google/protobuf/any.proto";
# import "google/protobuf/descriptor.proto";
# import "google/protobuf/duration.proto";
# import "google/protobuf/empty.proto";
# import "google/rpc/status.proto";
#
# option csharp_namespace = "Google.LongRunning";
# option go_package = "cloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb";
# option java_multiple_files = true;
# option java_outer_classname = "OperationsProto";
# option java_package = "com.google.longrunning";
# option objc_class_prefix = "GLRUN";
# option php_namespace = "Google\\LongRunning";
#
# extend google.protobuf.MethodOptions {
#   // Additional information regarding long-running operations.
#   // In particular, this specifies the types that are returned from
#   // long-running operations.
#   //
#   // Required for methods that return `google.longrunning.Operation`; invalid
#   // otherwise.
#   google.longrunning.OperationInfo operation_info = 1049;
# }
#
# // Manages long-running operations with an API service.
# //
# // When an API method normally takes long time to complete, it can be designed
# // to return [Operation][google.longrunning.Operation] to the client, and the
# // client can use this interface to receive the real response asynchronously by
# // polling the operation resource, or pass the operation resource to another API
# // (such as Pub/Sub API) to receive the response.  Any API service that returns
# // long-running operations should implement the `Operations` interface so
# // developers can have a consistent client experience.
# service Operations {
#   option (google.api.default_host) = "longrunning.googleapis.com";
#
#   // Lists operations that match the specified filter in the request. If the
#   // server doesn't support this method, it returns `UNIMPLEMENTED`.
#   rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) {
#     option (google.api.http) = {
#       get: "/v1/{name=operations}"
#     };
#     option (google.api.method_signature) = "name,filter";
#   }
#
#   // Gets the latest state of a long-running operation.  Clients can use this
#   // method to poll the operation result at intervals as recommended by the API
#   // service.
#   rpc GetOperation(GetOperationRequest) returns (Operation) {
#     option (google.api.http) = {
#       get: "/v1/{name=operations/**}"
#     };
#     option (google.api.method_signature) = "name";
#   }
#
#   // Deletes a long-running operation. This method indicates that the client is
#   // no longer interested in the operation result. It does not cancel the
#   // operation. If the server doesn't support this method, it returns
#   // `google.rpc.Code.UNIMPLEMENTED`.
#   rpc DeleteOperation(DeleteOperationRequest) returns (google.protobuf.Empty) {
#     option (google.api.http) = {
#       delete: "/v1/{name=operations/**}"
#     };
#     option (google.api.method_signature) = "name";
#   }
#
#   // Starts asynchronous cancellation on a long-running operation.  The server
#   // makes a best effort to cancel the operation, but success is not
#   // guaranteed.  If the server doesn't support this method, it returns
#   // `google.rpc.Code.UNIMPLEMENTED`.  Clients can use
#   // [Operations.GetOperation][google.longrunning.Operations.GetOperation] or
#   // other methods to check whether the cancellation succeeded or whether the
#   // operation completed despite cancellation. On successful cancellation,
#   // the operation is not deleted; instead, it becomes an operation with
#   // an [Operation.error][google.longrunning.Operation.error] value with a
#   // [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to
#   // `Code.CANCELLED`.
#   rpc CancelOperation(CancelOperationRequest) returns (google.protobuf.Empty) {
#     option (google.api.http) = {
#       post: "/v1/{name=operations/**}:cancel"
#       body: "*"
#     };
#     option (google.api.method_signature) = "name";
#   }
#
#   // Waits until the specified long-running operation is done or reaches at most
#   // a specified timeout, returning the latest state.  If the operation is
#   // already done, the latest state is immediately returned.  If the timeout
#   // specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
#   // timeout is used.  If the server does not support this method, it returns
#   // `google.rpc.Code.UNIMPLEMENTED`.
#   // Note that this method is on a best-effort basis.  It may return the latest
#   // state before the specified timeout (including immediately), meaning even an
#   // immediate response is no guarantee that the operation is done.
#   rpc WaitOperation(WaitOperationRequest) returns (Operation) {}
# }
#
# // This resource represents a long-running operation that is the result of a
# // network API call.
# message Operation {
#   // The server-assigned name, which is only unique within the same service that
#   // originally returns it. If you use the default HTTP mapping, the
#   // `name` should be a resource name ending with `operations/{unique_id}`.
#   string name = 1;
#
#   // Service-specific metadata associated with the operation.  It typically
#   // contains progress information and common metadata such as create time.
#   // Some services might not provide such metadata.  Any method that returns a
#   // long-running operation should document the metadata type, if any.
#   google.protobuf.Any metadata = 2;
#
#   // If the value is `false`, it means the operation is still in progress.
#   // If `true`, the operation is completed, and either `error` or `response` is
#   // available.
#   bool done = 3;
#
#   // The operation result, which can be either an `error` or a valid `response`.
#   // If `done` == `false`, neither `error` nor `response` is set.
#   // If `done` == `true`, exactly one of `error` or `response` can be set.
#   // Some services might not provide the result.
#   oneof result {
#     // The error result of the operation in case of failure or cancellation.
#     google.rpc.Status error = 4;
#
#     // The normal, successful response of the operation.  If the original
#     // method returns no data on success, such as `Delete`, the response is
#     // `google.protobuf.Empty`.  If the original method is standard
#     // `Get`/`Create`/`Update`, the response should be the resource.  For other
#     // methods, the response should have the type `XxxResponse`, where `Xxx`
#     // is the original method name.  For example, if the original method name
#     // is `TakeSnapshot()`, the inferred response type is
#     // `TakeSnapshotResponse`.
#     google.protobuf.Any response = 5;
#   }
# }
#
# // The request message for
# // [Operations.GetOperation][google.longrunning.Operations.GetOperation].
# message GetOperationRequest {
#   // The name of the operation resource.
#   string name = 1;
# }
#
# // The request message for
# // [Operations.ListOperations][google.longrunning.Operations.ListOperations].
# message ListOperationsRequest {
#   // The name of the operation's parent resource.
#   string name = 4;
#
#   // The standard list filter.
#   string filter = 1;
#
#   // The standard list page size.
#   int32 page_size = 2;
#
#   // The standard list page token.
#   string page_token = 3;
#
#   // When set to `true`, operations that are reachable are returned as normal,
#   // and those that are unreachable are returned in the
#   // [ListOperationsResponse.unreachable] field.
#   //
#   // This can only be `true` when reading across collections e.g. when `parent`
#   // is set to `"projects/example/locations/-"`.
#   //
#   // This field is not by default supported and will result in an
#   // `UNIMPLEMENTED` error if set unless explicitly documented otherwise in
#   // service or product specific documentation.
#   bool return_partial_success = 5;
# }
#
# // The response message for
# // [Operations.ListOperations][google.longrunning.Operations.ListOperations].
# message ListOperationsResponse {
#   // A list of operations that matches the specified filter in the request.
#   repeated Operation operations = 1;
#
#   // The standard List next-page token.
#   string next_page_token = 2;
#
#   // Unordered list. Unreachable resources. Populated when the request sets
#   // `ListOperationsRequest.return_partial_success` and reads across
#   // collections e.g. when attempting to list all resources across all supported
#   // locations.
#   repeated string unreachable = 3
#       [(google.api.field_behavior) = UNORDERED_LIST];
# }
#
# // The request message for
# // [Operations.CancelOperation][google.longrunning.Operations.CancelOperation].
# message CancelOperationRequest {
#   // The name of the operation resource to be cancelled.
#   string name = 1;
# }
#
# // The request message for
# // [Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation].
# message DeleteOperationRequest {
#   // The name of the operation resource to be deleted.
#   string name = 1;
# }
#
# // The request message for
# // [Operations.WaitOperation][google.longrunning.Operations.WaitOperation].
# message WaitOperationRequest {
#   // The name of the operation resource to wait on.
#   string name = 1;
#
#   // The maximum duration to wait before timing out. If left blank, the wait
#   // will be at most the time permitted by the underlying HTTP/RPC protocol.
#   // If RPC context deadline is also specified, the shorter one will be used.
#   google.protobuf.Duration timeout = 2;
# }
#
# // A message representing the message types used by a long-running operation.
# //
# // Example:
# //
# //     rpc Export(ExportRequest) returns (google.longrunning.Operation) {
# //       option (google.longrunning.operation_info) = {
# //         response_type: "ExportResponse"
# //         metadata_type: "ExportMetadata"
# //       };
# //     }
# message OperationInfo {
#   // Required. The message name of the primary return type for this
#   // long-running operation.
#   // This type will be used to deserialize the LRO's response.
#   //
#   // If the response is in a different package from the rpc, a fully-qualified
#   // message name must be used (e.g. `google.protobuf.Struct`).
#   //
#   // Note: Altering this value constitutes a breaking change.
#   string response_type = 1;
#
#   // Required. The message name of the metadata type for this long-running
#   // operation.
#   //
#   // If the response is in a different package from the rpc, a fully-qualified
#   // message name must be used (e.g. `google.protobuf.Struct`).
#   //
#   // Note: Altering this value constitutes a breaking change.
#   string metadata_type = 2;
# }
