Skip to content

Commit b61b030

Browse files
authored
add pubsub
1 parent 3636122 commit b61b030

22 files changed

+4892
-73
lines changed

Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ members = [
77
"foundation/auth",
88
"googleapis",
99
"spanner",
10+
"pubsub",
1011
]

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Providing a high level API for gRPC API like [Google Cloud Go](https://github.co
77
## Component
88

99
* [google-cloud-spanner](./spanner)
10+
* [google-cloud-pubsub](./pubsub)
1011

1112
## License
1213
This project is licensed under the [MIT license](./LICENCE).

foundation/gax/src/util.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
use tonic::{IntoRequest, Request};
1+
use tonic::{IntoRequest, IntoStreamingRequest, Request};
2+
use tonic::codegen::futures_core::Stream;
23

34
pub fn create_request<T>(param_string: String, into_request: impl IntoRequest<T>) -> Request<T> {
45
let mut request = into_request.into_request();

googleapis/build.rs

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ fn main() {
55
.out_dir("src") // you can change the generated code's location
66
.compile(
77
&[
8+
"googleapis/google/pubsub/v1/pubsub.proto",
89
"googleapis/google/spanner/v1/spanner.proto",
910
"googleapis/google/spanner/admin/database/v1/spanner_database_admin.proto",
1011
"googleapis/google/spanner/admin/instance/v1/spanner_instance_admin.proto",

googleapis/src/google.api.rs

+10-71
Original file line numberDiff line numberDiff line change
@@ -418,22 +418,15 @@ pub enum FieldBehavior {
418418
/// // For Kubernetes resources, the format is {api group}/{kind}.
419419
/// option (google.api.resource) = {
420420
/// type: "pubsub.googleapis.com/Topic"
421-
/// name_descriptor: {
422-
/// pattern: "projects/{project}/topics/{topic}"
423-
/// parent_type: "cloudresourcemanager.googleapis.com/Project"
424-
/// parent_name_extractor: "projects/{project}"
425-
/// }
421+
/// pattern: "projects/{project}/topics/{topic}"
426422
/// };
427423
/// }
428424
///
429425
/// The ResourceDescriptor Yaml config will look like:
430426
///
431427
/// resources:
432428
/// - type: "pubsub.googleapis.com/Topic"
433-
/// name_descriptor:
434-
/// - pattern: "projects/{project}/topics/{topic}"
435-
/// parent_type: "cloudresourcemanager.googleapis.com/Project"
436-
/// parent_name_extractor: "projects/{project}"
429+
/// pattern: "projects/{project}/topics/{topic}"
437430
///
438431
/// Sometimes, resources have multiple patterns, typically because they can
439432
/// live under multiple parents.
@@ -443,75 +436,21 @@ pub enum FieldBehavior {
443436
/// message LogEntry {
444437
/// option (google.api.resource) = {
445438
/// type: "logging.googleapis.com/LogEntry"
446-
/// name_descriptor: {
447-
/// pattern: "projects/{project}/logs/{log}"
448-
/// parent_type: "cloudresourcemanager.googleapis.com/Project"
449-
/// parent_name_extractor: "projects/{project}"
450-
/// }
451-
/// name_descriptor: {
452-
/// pattern: "folders/{folder}/logs/{log}"
453-
/// parent_type: "cloudresourcemanager.googleapis.com/Folder"
454-
/// parent_name_extractor: "folders/{folder}"
455-
/// }
456-
/// name_descriptor: {
457-
/// pattern: "organizations/{organization}/logs/{log}"
458-
/// parent_type: "cloudresourcemanager.googleapis.com/Organization"
459-
/// parent_name_extractor: "organizations/{organization}"
460-
/// }
461-
/// name_descriptor: {
462-
/// pattern: "billingAccounts/{billing_account}/logs/{log}"
463-
/// parent_type: "billing.googleapis.com/BillingAccount"
464-
/// parent_name_extractor: "billingAccounts/{billing_account}"
465-
/// }
439+
/// pattern: "projects/{project}/logs/{log}"
440+
/// pattern: "folders/{folder}/logs/{log}"
441+
/// pattern: "organizations/{organization}/logs/{log}"
442+
/// pattern: "billingAccounts/{billing_account}/logs/{log}"
466443
/// };
467444
/// }
468445
///
469446
/// The ResourceDescriptor Yaml config will look like:
470447
///
471448
/// resources:
472449
/// - type: 'logging.googleapis.com/LogEntry'
473-
/// name_descriptor:
474-
/// - pattern: "projects/{project}/logs/{log}"
475-
/// parent_type: "cloudresourcemanager.googleapis.com/Project"
476-
/// parent_name_extractor: "projects/{project}"
477-
/// - pattern: "folders/{folder}/logs/{log}"
478-
/// parent_type: "cloudresourcemanager.googleapis.com/Folder"
479-
/// parent_name_extractor: "folders/{folder}"
480-
/// - pattern: "organizations/{organization}/logs/{log}"
481-
/// parent_type: "cloudresourcemanager.googleapis.com/Organization"
482-
/// parent_name_extractor: "organizations/{organization}"
483-
/// - pattern: "billingAccounts/{billing_account}/logs/{log}"
484-
/// parent_type: "billing.googleapis.com/BillingAccount"
485-
/// parent_name_extractor: "billingAccounts/{billing_account}"
486-
///
487-
/// For flexible resources, the resource name doesn't contain parent names, but
488-
/// the resource itself has parents for policy evaluation.
489-
///
490-
/// Example:
491-
///
492-
/// message Shelf {
493-
/// option (google.api.resource) = {
494-
/// type: "library.googleapis.com/Shelf"
495-
/// name_descriptor: {
496-
/// pattern: "shelves/{shelf}"
497-
/// parent_type: "cloudresourcemanager.googleapis.com/Project"
498-
/// }
499-
/// name_descriptor: {
500-
/// pattern: "shelves/{shelf}"
501-
/// parent_type: "cloudresourcemanager.googleapis.com/Folder"
502-
/// }
503-
/// };
504-
/// }
505-
///
506-
/// The ResourceDescriptor Yaml config will look like:
507-
///
508-
/// resources:
509-
/// - type: 'library.googleapis.com/Shelf'
510-
/// name_descriptor:
511-
/// - pattern: "shelves/{shelf}"
512-
/// parent_type: "cloudresourcemanager.googleapis.com/Project"
513-
/// - pattern: "shelves/{shelf}"
514-
/// parent_type: "cloudresourcemanager.googleapis.com/Folder"
450+
/// pattern: "projects/{project}/logs/{log}"
451+
/// pattern: "folders/{folder}/logs/{log}"
452+
/// pattern: "organizations/{organization}/logs/{log}"
453+
/// pattern: "billingAccounts/{billing_account}/logs/{log}"
515454
#[derive(Clone, PartialEq, ::prost::Message)]
516455
pub struct ResourceDescriptor {
517456
/// The resource type. It must be in the format of

0 commit comments

Comments
 (0)