Google-Cloud-Pubsub-V1
view release on metacpan or search on metacpan
lib/Google/Pubsub/V1/Pubsub.pm view on Meta::CPAN
# === Service Client: Google::Pubsub::V1::Pubsub::PublisherClient ===
package Google::Pubsub::V1::Pubsub::PublisherClient;
=pod
=head1 NAME
Google::Pubsub::V1::Pubsub::PublisherClient - Client stub representing the remote Publisher service
=head1 DESCRIPTION
This class acts as a local client stub for the remote gRPC service.
It delegates call dispatching to an underlying L<Google::gRPC::Client>
instance, ensuring type-safe request parsing and response mapping.
=head1 CONFIGURATION AND ENVIRONMENT
=head2 target
The endpoint target address. Defaults to C<pubsub.googleapis.com:443>.
=head2 credentials
The authentication credentials provider. Defaults to application default credentials via L<Google::Auth>.
=cut
use Moo;
use Google::Auth;
use Google::gRPC::Client;
has credentials => ( is => 'ro', default => sub { Google::Auth->default() } );
has target => ( is => 'ro', default => 'pubsub.googleapis.com:443' );
has _grpc_client => (
is => 'ro',
lazy => 1,
builder => sub {
my $self = shift;
return Google::gRPC::Client->new(
target => $self->target,
auth_token => $self->credentials->get_token(),
);
}
);
sub create_topic {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::Topic->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Publisher',
method => 'CreateTopic',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::Topic',
});
}
sub update_topic {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::UpdateTopicRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Publisher',
method => 'UpdateTopic',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::Topic',
});
}
sub publish {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::PublishRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Publisher',
method => 'Publish',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::PublishResponse',
});
}
sub get_topic {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::GetTopicRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Publisher',
method => 'GetTopic',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::Topic',
});
}
sub list_topics {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::ListTopicsRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Publisher',
method => 'ListTopics',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::ListTopicsResponse',
});
}
sub list_topic_subscriptions {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::ListTopicSubscriptionsRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Publisher',
method => 'ListTopicSubscriptions',
request => $req,
lib/Google/Pubsub/V1/Pubsub.pm view on Meta::CPAN
It delegates call dispatching to an underlying L<Google::gRPC::Client>
instance, ensuring type-safe request parsing and response mapping.
=head1 CONFIGURATION AND ENVIRONMENT
=head2 target
The endpoint target address. Defaults to C<pubsub.googleapis.com:443>.
=head2 credentials
The authentication credentials provider. Defaults to application default credentials via L<Google::Auth>.
=cut
use Moo;
use Google::Auth;
use Google::gRPC::Client;
has credentials => ( is => 'ro', default => sub { Google::Auth->default() } );
has target => ( is => 'ro', default => 'pubsub.googleapis.com:443' );
has _grpc_client => (
is => 'ro',
lazy => 1,
builder => sub {
my $self = shift;
return Google::gRPC::Client->new(
target => $self->target,
auth_token => $self->credentials->get_token(),
);
}
);
sub create_subscription {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::Subscription->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'CreateSubscription',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::Subscription',
});
}
sub get_subscription {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::GetSubscriptionRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'GetSubscription',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::Subscription',
});
}
sub update_subscription {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::UpdateSubscriptionRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'UpdateSubscription',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::Subscription',
});
}
sub list_subscriptions {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::ListSubscriptionsRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'ListSubscriptions',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::ListSubscriptionsResponse',
});
}
sub delete_subscription {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::DeleteSubscriptionRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'DeleteSubscription',
request => $req,
response_class => 'Google::Protobuf::Empty::Empty',
});
}
sub modify_ack_deadline {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::ModifyAckDeadlineRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'ModifyAckDeadline',
request => $req,
response_class => 'Google::Protobuf::Empty::Empty',
});
}
sub acknowledge {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::AcknowledgeRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'Acknowledge',
request => $req,
lib/Google/Pubsub/V1/Pubsub.pm view on Meta::CPAN
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'StreamingPull',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::StreamingPullResponse',
});
}
sub modify_push_config {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::ModifyPushConfigRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'ModifyPushConfig',
request => $req,
response_class => 'Google::Protobuf::Empty::Empty',
});
}
sub get_snapshot {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::GetSnapshotRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'GetSnapshot',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::Snapshot',
});
}
sub list_snapshots {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::ListSnapshotsRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'ListSnapshots',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::ListSnapshotsResponse',
});
}
sub create_snapshot {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::CreateSnapshotRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'CreateSnapshot',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::Snapshot',
});
}
sub update_snapshot {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::UpdateSnapshotRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'UpdateSnapshot',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::Snapshot',
});
}
sub delete_snapshot {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::DeleteSnapshotRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'DeleteSnapshot',
request => $req,
response_class => 'Google::Protobuf::Empty::Empty',
});
}
sub seek {
my ($self, $args) = @_;
my $req = ref($args) eq 'HASH'
? Google::Pubsub::V1::Pubsub::SeekRequest->new($args)
: $args;
return $self->_grpc_client->call({
service => 'google.pubsub.v1.Subscriber',
method => 'Seek',
request => $req,
response_class => 'Google::Pubsub::V1::Pubsub::SeekResponse',
});
}
1;
__END__
=head1 NAME
Google::Pubsub::V1::Pubsub - Protocol Buffers schema definition
=head1 DESCRIPTION
Auto-generated Protocol Buffers schema definition class.
=head1 LICENSE AND COPYRIGHT
Copyright (C) 2026 Google LLC
This program is released under the Apache 2.0 license.
=cut
( run in 1.892 second using v1.01-cache-2.11-cpan-7e94247ccb0 )