Class TopicBuilder (2.16.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.16.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\u003eThis webpage provides documentation for the \u003ccode\u003eTopicBuilder\u003c/code\u003e class in the Google Cloud Pub/Sub C++ library, with versions ranging from 2.11.0 to 2.37.0-rc, and version 2.37.0-rc being the latest.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eTopicBuilder\u003c/code\u003e facilitates the construction of protocol buffer messages for creating or updating Cloud Pub/Sub topics, which are consumed by \u003ccode\u003eTopicAdminClient\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe class offers a fluent API for setting multiple values when constructing complex objects and automatically computes paths for update requests.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eTopicBuilder\u003c/code\u003e has many functions available to set various parameters, such as labels, persistence regions, KMS key name, schema, encoding, revision IDs, and message retention duration, all of which serve as setter functions.\u003c/p\u003e\n"],["\u003cp\u003eThe functions \u003ccode\u003eBuildCreateRequest()\u003c/code\u003e and \u003ccode\u003eBuildUpdateRequest()\u003c/code\u003e are available to create protocol buffer messages for creating and updating topics, respectively.\u003c/p\u003e\n"]]],[],null,[]]