python/proto/pubsublite/topic.proto (58 lines of code) (raw):

// Copyright 2021 Google LLC. All Rights Reserved. // // 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 dcl; import "proto/connector/sdk.proto"; import "proto/empty.proto"; message PubsubliteTopic { string name = 1; PubsubliteTopicPartitionConfig partition_config = 2; PubsubliteTopicRetentionConfig retention_config = 3; string project = 4; string location = 5; } message PubsubliteTopicPartitionConfig { int64 count = 1; PubsubliteTopicPartitionConfigCapacity capacity = 2; } message PubsubliteTopicPartitionConfigCapacity { int64 publish_mib_per_sec = 1; int64 subscribe_mib_per_sec = 2; } message PubsubliteTopicRetentionConfig { int64 per_partition_bytes = 1; string period = 2; } message ApplyPubsubliteTopicRequest { PubsubliteTopic resource = 1; repeated LifecycleDirective lifecycle_directives = 2; string service_account_file = 3; } message DeletePubsubliteTopicRequest { string service_account_file = 1; PubsubliteTopic resource = 2; } message ListPubsubliteTopicRequest { string service_account_file = 1; string Project = 2; string Location = 3; } message ListPubsubliteTopicResponse { repeated PubsubliteTopic items = 1; } service PubsubliteTopicService { rpc ApplyPubsubliteTopic(ApplyPubsubliteTopicRequest) returns (PubsubliteTopic); rpc DeletePubsubliteTopic(DeletePubsubliteTopicRequest) returns (google.protobuf.Empty); rpc ListPubsubliteTopic(ListPubsubliteTopicRequest) returns (ListPubsubliteTopicResponse); }