Class TopicBuilder (2.27.0)
Note: Some or all of the information on this page might not apply
to Trusted Cloud. For a list of services that are available in
Trusted Cloud, see Services available for
Trusted Cloud .
Version 2.27.0keyboard_arrow_down
Builds requests to create or update a Cloud Pub/Sub topic.
Makes it easier to create the protobuf messages consumed by TopicAdminClient
. The main advantages are:
Use a fluent API to set multiple values when constructing complex objects.
Automatically compute the set of paths for update requests.
Constructors
TopicBuilder(Topic const &)
Parameter
Name
Description
topic
Topic const &
Functions
add_label(std::string const &, std::string const &) &
Setters for each protocol buffer field.
Parameters
Name
Description
key
std::string const &
value
std::string const &
Returns
Type
Description
TopicBuilder &
add_label(std::string const &, std::string const &) &&
Setters for each protocol buffer field.
Parameters
Name
Description
key
std::string const &
value
std::string const &
Returns
Type
Description
TopicBuilder &&
clear_labels() &
Setters for each protocol buffer field.
Returns
Type
Description
TopicBuilder &
clear_labels() &&
Setters for each protocol buffer field.
Returns
Type
Description
TopicBuilder &&
add_allowed_persistence_region(std::string) &
Setters for each protocol buffer field.
Parameter
Name
Description
region
std::string
Returns
Type
Description
TopicBuilder &
add_allowed_persistence_region(std::string) &&
Setters for each protocol buffer field.
Parameter
Name
Description
region
std::string
Returns
Type
Description
TopicBuilder &&
clear_allowed_persistence_regions() &
Setters for each protocol buffer field.
Returns
Type
Description
TopicBuilder &
clear_allowed_persistence_regions() &&
Setters for each protocol buffer field.
Returns
Type
Description
TopicBuilder &&
set_kms_key_name(std::string) &
Setters for each protocol buffer field.
Parameter
Name
Description
key_name
std::string
Returns
Type
Description
TopicBuilder &
set_kms_key_name(std::string) &&
Setters for each protocol buffer field.
Parameter
Name
Description
key_name
std::string
Returns
Type
Description
TopicBuilder &&
set_schema(pubsub::Schema const &) &
Setters for each protocol buffer field.
Parameter
Name
Description
schema
pubsub::Schema const &
Returns
Type
Description
TopicBuilder &
set_schema(pubsub::Schema const &) &&
Setters for each protocol buffer field.
Parameter
Name
Description
schema
pubsub::Schema const &
Returns
Type
Description
TopicBuilder &&
set_encoding(google::pubsub::v1::Encoding) &
Setters for each protocol buffer field.
Parameter
Name
Description
encoding
google::pubsub::v1::Encoding
Returns
Type
Description
TopicBuilder &
set_encoding(google::pubsub::v1::Encoding) &&
Setters for each protocol buffer field.
Parameter
Name
Description
encoding
google::pubsub::v1::Encoding
Returns
Type
Description
TopicBuilder &&
set_first_revision_id(std::string const &) &
Setters for each protocol buffer field.
Parameter
Name
Description
revision_id
std::string const &
Returns
Type
Description
TopicBuilder &
set_first_revision_id(std::string const &) &&
Setters for each protocol buffer field.
Parameter
Name
Description
revision_id
std::string const &
Returns
Type
Description
TopicBuilder &&
set_last_revision_id(std::string const &) &
Setters for each protocol buffer field.
Parameter
Name
Description
revision_id
std::string const &
Returns
Type
Description
TopicBuilder &
set_last_revision_id(std::string const &) &&
Setters for each protocol buffer field.
Parameter
Name
Description
revision_id
std::string const &
Returns
Type
Description
TopicBuilder &&
set_message_retention_duration(std::chrono::duration< Rep, Period >) &
Setters for each protocol buffer field.
Parameters
Name
Description
d
std::chrono::duration< Rep, Period >
typename Rep
typename Period
Returns
Type
Description
TopicBuilder &
set_message_retention_duration(std::chrono::duration< Rep, Period >) &&
Setters for each protocol buffer field.
Parameters
Name
Description
d
std::chrono::duration< Rep, Period >
typename Rep
typename Period
Returns
Type
Description
TopicBuilder &&
set_message_retention_duration(google::protobuf::Duration const &) &
Setters for each protocol buffer field.
Parameter
Name
Description
d
google::protobuf::Duration const &
Returns
Type
Description
TopicBuilder &
set_message_retention_duration(google::protobuf::Duration const &) &&
Setters for each protocol buffer field.
Parameter
Name
Description
d
google::protobuf::Duration const &
Returns
Type
Description
TopicBuilder &&
BuildCreateRequest() &&
Build a protocol buffer message to create a new topic.
Returns
Type
Description
google::pubsub::v1::Topic
BuildUpdateRequest() &&
Build a protocol buffer message to update an existing topic.
Returns
Type
Description
google::pubsub::v1::UpdateTopicRequest
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["\u003cp\u003eThe provided content outlines the \u003ccode\u003eTopicBuilder\u003c/code\u003e class within the Google Cloud Pub/Sub C++ library, detailing its functionality for constructing and managing Cloud Pub/Sub topics.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eTopicBuilder\u003c/code\u003e offers a fluent API, simplifying the process of setting multiple values for complex objects and automatically computing the required paths for update requests.\u003c/p\u003e\n"],["\u003cp\u003eThe class provides a wide array of methods for configuring a Pub/Sub topic, including setting labels, persistence regions, KMS key names, schemas, encodings, revision IDs, and message retention durations.\u003c/p\u003e\n"],["\u003cp\u003eThe provided list presents a history of many past versions of the code, with the most recent version being 2.37.0-rc, and the current version on display being 2.27.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eTopicBuilder\u003c/code\u003e class has functions for creating new topics with \u003ccode\u003eBuildCreateRequest\u003c/code\u003e and updating existing topics with \u003ccode\u003eBuildUpdateRequest\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]