15 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_STORAGE_CLIENT_OPTIONS_H
16 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_STORAGE_CLIENT_OPTIONS_H
18 #include "google/cloud/storage/oauth2/credentials.h"
19 #include "google/cloud/storage/options.h"
20 #include "google/cloud/storage/version.h"
21 #include "google/cloud/common_options.h"
22 #include "google/cloud/options.h"
33 std::string RestEndpoint(
Options const&);
34 std::string IamRestEndpoint(
Options const&);
35 std::string IamRestPath();
36 std::string JsonEndpoint(
Options const&);
37 std::string JsonUploadEndpoint(
Options const&);
38 std::string XmlEndpoint(
Options const&);
39 std::string IamEndpoint(
Options const&);
51 template <
typename P,
typename... Policies>
52 Options ApplyPolicies(
Options opts, P&& head, Policies&&... tail) {
53 opts = ApplyPolicy(std::move(opts), std::forward<P>(head));
54 return ApplyPolicies(std::move(opts), std::forward<Policies>(tail)...);
81 ssl_root_path_ = std::move(ssl_root_path);
86 std::string ssl_root_path_;
196 return opts_
.get<internal
::TargetApiVersionOption
>();
203 opts_
.set<internal
::TargetApiVersionOption
>(std::move(version)
);
299 if (!user_agent_prefix_.empty()) {
301 prefix += user_agent_prefix_;
303 user_agent_prefix_ = std::move(prefix);
440 explicit ClientOptions(
Options o);
449 std::string user_agent_prefix_;