Google Cloud Storage C++ Client
1.24.0
A C++ Client Library for Google Cloud Storage
|
Go to the documentation of this file.
15 #ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_STORAGE_POLICY_DOCUMENT_H
16 #define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_STORAGE_POLICY_DOCUMENT_H
37 : elements_(std::move(elements)) {}
39 std::vector<std::string>
const&
elements()
const {
return elements_; }
46 static std::vector<std::string> ExactMatch(std::string
const& field,
48 std::string
const& value) {
49 std::vector<std::string> result;
50 result.emplace_back(
"eq");
51 result.emplace_back(std::string(
"$") + field);
52 result.emplace_back(value);
58 std::string
const& value) {
59 std::vector<std::string> result;
60 result.emplace_back(field);
61 result.emplace_back(value);
65 static std::vector<std::string>
StartsWith(std::string
const& field,
66 std::string
const& value) {
67 std::vector<std::string> result;
68 result.emplace_back(
"starts-with");
69 result.emplace_back(std::string(
"$") + field);
70 result.emplace_back(value);
75 std::int32_t max_range) {
76 std::vector<std::string> result;
77 result.emplace_back(
"content-length-range");
78 result.emplace_back(std::to_string(min_range));
79 result.emplace_back(std::to_string(max_range));
85 std::vector<std::string> elements_;
150 std::chrono::seconds expiration,
151 std::chrono::system_clock::time_point timestamp =
152 std::chrono::system_clock::now(),
153 std::vector<PolicyDocumentCondition> conditions = {})
154 : bucket(std::move(bucket)),
155 object(std::move(
object)),
156 expiration(std::move(expiration)),
157 timestamp(std::move(timestamp)),
158 conditions(std::move(conditions)) {}
212 #endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_STORAGE_POLICY_DOCUMENT_H
static std::vector< std::string > StartsWith(std::string const &field, std::string const &value)
Creates an exact match condition, in the list form syntax.
Define a policy document result V4.
bool operator<(BucketBilling const &lhs, BucketBilling const &rhs)
std::ostream & operator<<(std::ostream &os, BucketAccessControl const &rhs)
bool operator!=(PolicyDocumentCondition const &lhs, PolicyDocumentCondition const &rhs)
Define a policy document V4.
std::vector< PolicyDocumentCondition > conditions
bool operator>(PolicyDocumentCondition const &lhs, PolicyDocumentCondition const &rhs)
PolicyDocumentCondition()=default
bool operator>(BucketBilling const &lhs, BucketBilling const &rhs)
std::chrono::system_clock::time_point expiration
std::chrono::seconds expiration
bool operator!=(BucketBilling const &lhs, BucketBilling const &rhs)
PolicyDocumentV4(std::string bucket, std::string object, std::chrono::seconds expiration, std::chrono::system_clock::time_point timestamp=std::chrono::system_clock::now(), std::vector< PolicyDocumentCondition > conditions={})
std::string FormatDateForForm(PolicyDocumentV4Result const &)
Format the current date in the format expected by a POST form.
Define a condition for a policy document.
std::chrono::system_clock::time_point timestamp
static std::vector< std::string > ExactMatchObject(std::string const &field, std::string const &value)
Creates an exact match condition, but in object form syntax.
bool operator<=(PolicyDocumentCondition const &lhs, PolicyDocumentCondition const &rhs)
std::chrono::system_clock::time_point expiration
std::vector< std::string > const & elements() const
std::map< std::string, std::string > required_form_fields
PolicyDocumentCondition(std::vector< std::string > elements)
bool operator>=(PolicyDocumentCondition const &lhs, PolicyDocumentCondition const &rhs)
#define STORAGE_CLIENT_NS
Define a policy document.
std::vector< PolicyDocumentCondition > conditions
static std::vector< std::string > ContentLengthRange(std::int32_t min_range, std::int32_t max_range)
Creates an exact match condition, in the list form syntax.
bool operator>=(BucketBilling const &lhs, BucketBilling const &rhs)
bool operator==(BucketAccessControl const &lhs, BucketAccessControl const &rhs)
std::chrono::system_clock::time_point expiration
std::string signing_algorithm
bool operator<=(BucketBilling const &lhs, BucketBilling const &rhs)
PolicyDocumentV4()=default
Define a policy document result.