15#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_STORAGE_SIGNED_URL_OPTIONS_H
16#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_STORAGE_SIGNED_URL_OPTIONS_H
18#include "google/cloud/storage/internal/complex_option.h"
19#include "google/cloud/storage/version.h"
27GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
29
30
33 std::chrono::system_clock::time_point> {
35 std::chrono::system_clock::time_point>::ComplexOption;
39 static char const*
name() {
return "expiration_time"; }
43
44
47 std::pair<std::string, std::string>> {
49 std::pair<std::string, std::string>>::ComplexOption;
54 : ComplexOption(std::make_pair(std::move(header), std::move(value))) {}
55 static char const*
name() {
return "expiration_time"; }
64
65
68 std::pair<std::string, std::string>> {
70 std::pair<std::string, std::string>>::ComplexOption;
75 : ComplexOption(std::make_pair(std::move(key), std::move(value))) {}
77 : ComplexOption(std::make_pair(std::string(key), std::move(value))) {}
78 static char const*
name() {
return "query-parameter"; }
87 std::to_string(generation)
);
99 std::string disposition) {
101 std::move(disposition)
);
105 std::string
const& type) {
110
111
118 static char const*
name() {
return "query-parameter"; }
154
155
158 std::chrono::system_clock::time_point> {
160 std::chrono::system_clock::time_point>::ComplexOption;
164 static char const*
name() {
return "x-goog-date"; }
168
169
176 static char const*
name() {
return "x-goog-expires"; }
180
181
182
183
184
191 static char const*
name() {
return "signing-account"; }
195
196
197
198
199
200
203 std::vector<std::string>> {
205 std::vector<std::string>>::ComplexOption;
209 static char const*
name() {
return "signing-account-delegates"; }
213
214
215
216
217
218
224 static char const*
option_name() {
return "virtual-hostname"; }
228
229
230
231
232
239 static char const*
option_name() {
return "domain-named-bucket"; }
243struct Scheme :
public internal::ComplexOption<
Scheme, std::string> {
244 using ComplexOption<
Scheme, std::string>::ComplexOption;
248 static char const*
option_name() {
return "scheme"; }
252
253
256 std::pair<std::string, std::string>> {
258 std::pair<std::string, std::string>>::ComplexOption;
263 : ComplexOption(std::make_pair(std::move(field), std::move(value))) {}
264 static char const*
name() {
return "extension_field"; }
272GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
Contains all the Google Cloud Storage C++ client APIs.
Definition: auto_finalize.h:24
AddQueryParameterOption WithGenerationMarker(std::uint64_t generation)
Definition: signed_url_options.h:85
SubResourceOption WithLocation()
Definition: signed_url_options.h:141
AddExtensionHeaderOption AddExtensionHeader(std::string header, std::string value)
Definition: signed_url_options.h:58
AddQueryParameterOption WithResponseContentDisposition(std::string disposition)
Definition: signed_url_options.h:98
SubResourceOption WithTagging()
Definition: signed_url_options.h:151
AddQueryParameterOption WithMarker(std::string marker)
Definition: signed_url_options.h:94
SubResourceOption WithLogging()
Definition: signed_url_options.h:145
SubResourceOption WithLifecycle()
Definition: signed_url_options.h:137
AddQueryParameterOption WithResponseContentType(std::string const &type)
Definition: signed_url_options.h:104
SubResourceOption WithAcl()
Definition: signed_url_options.h:121
AddQueryParameterOption WithGeneration(std::uint64_t generation)
Definition: signed_url_options.h:81
AddExtensionFieldOption AddExtensionField(std::string field, std::string value)
Definition: signed_url_options.h:267
SubResourceOption WithEncryptionConfig()
Definition: signed_url_options.h:133
SubResourceOption WithStorageClass()
Definition: signed_url_options.h:147
SubResourceOption WithEncryption()
Definition: signed_url_options.h:129
AddQueryParameterOption WithUserProject(std::string user_project)
Definition: signed_url_options.h:90
SubResourceOption WithCors()
Definition: signed_url_options.h:127
SubResourceOption WithCompose()
Definition: signed_url_options.h:125
SubResourceOption WithBilling()
Definition: signed_url_options.h:123
Add a extension header to a POST policy.
Definition: signed_url_options.h:256
AddExtensionFieldOption(std::string field, std::string value)
Definition: signed_url_options.h:262
static char const * name()
Definition: signed_url_options.h:264
AddExtensionFieldOption()=default
Add a extension header to a signed URL.
Definition: signed_url_options.h:68
AddQueryParameterOption(char const *key, std::string value)
Definition: signed_url_options.h:76
AddQueryParameterOption(std::string key, std::string value)
Definition: signed_url_options.h:74
static char const * name()
Definition: signed_url_options.h:78
AddQueryParameterOption()=default
Use domain-named bucket in a V4 signed URL.
Definition: signed_url_options.h:234
static char const * option_name()
Definition: signed_url_options.h:239
BucketBoundHostname()=default
Define the expiration time for a signed URL.
Definition: signed_url_options.h:33
static char const * name()
Definition: signed_url_options.h:39
Use the specified scheme (e.g. "http") in a V4 signed URL.
Definition: signed_url_options.h:243
static char const * option_name()
Definition: signed_url_options.h:248
Define the duration for a V4 signed URL.
Definition: signed_url_options.h:171
SignedUrlDuration()=default
static char const * name()
Definition: signed_url_options.h:176
Define the timestamp duration for a V4 signed URL.
Definition: signed_url_options.h:158
SignedUrlTimestamp()=default
static char const * name()
Definition: signed_url_options.h:164
Specify the sequence of delegates used to sign a blob.
Definition: signed_url_options.h:203
SigningAccountDelegates()=default
static char const * name()
Definition: signed_url_options.h:209
Specify the service account used to sign a blob.
Definition: signed_url_options.h:186
static char const * name()
Definition: signed_url_options.h:191
Specify a sub-resource in a signed URL.
Definition: signed_url_options.h:113
static char const * name()
Definition: signed_url_options.h:118
SubResourceOption()=default
Indicate that the bucket should be a part of hostname in the URL.
Definition: signed_url_options.h:219
static char const * option_name()
Definition: signed_url_options.h:224
VirtualHostname()=default