15#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_PUBSUB_SNAPSHOT_BUILDER_H
16#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_PUBSUB_SNAPSHOT_BUILDER_H
18#include "google/cloud/pubsub/snapshot.h"
19#include "google/cloud/pubsub/subscription.h"
20#include "google/cloud/pubsub/version.h"
21#include "google/cloud/internal/time_utils.h"
22#include <google/protobuf/util/field_mask_util.h>
23#include <google/pubsub/v1/pubsub.pb.h>
30GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
33
34
35
36
37
38
39
40
62 std::string
const& value) & {
64 google::protobuf::Map<std::string, std::string>::value_type;
65 proto_.mutable_labels()->insert(value_type(key, value));
66 paths_.insert(
"labels");
70 std::string
const& value) && {
75 proto_.clear_labels();
76 paths_.insert(
"labels");
83 google::pubsub::v1::Snapshot proto_;
84 std::set<std::string> paths_;
87GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
Build a request to create a Cloud Pub/Sub snapshot.
Definition: snapshot_builder.h:41
google::pubsub::v1::UpdateSnapshotRequest BuildUpdateRequest(Snapshot const &snapshot) &&
Build a protocol buffer message to update an existing snapshot.
SnapshotBuilder && add_label(std::string const &key, std::string const &value) &&
Definition: snapshot_builder.h:69
google::pubsub::v1::CreateSnapshotRequest BuildCreateRequest(Subscription const &subscription, Snapshot const &snapshot) &&
Build a protocol buffer message to create snapshots with application-assigned ids.
SnapshotBuilder()=default
SnapshotBuilder && clear_labels() &&
Definition: snapshot_builder.h:79
google::pubsub::v1::CreateSnapshotRequest BuildCreateRequest(Subscription const &subscription) &&
Build a protocol buffer message to create snapshots with server-assigned ids.
SnapshotBuilder & clear_labels() &
Definition: snapshot_builder.h:74
SnapshotBuilder & add_label(std::string const &key, std::string const &value) &
Definition: snapshot_builder.h:61
Objects of this class identify a Cloud Pub/Sub snapshot.
Definition: snapshot.h:37
Objects of this class identify a Cloud Pub/Sub subscription.
Definition: subscription.h:37
Contains all the Cloud Pub/Sub C++ client types and functions.
Definition: ack_handler.h:25
The namespace Google Cloud Platform C++ client libraries.