| 128 | } |
| 129 | |
| 130 | Result<gcs::KmsKeyName> ToKmsKeyName( |
| 131 | const std::shared_ptr<const KeyValueMetadata>& metadata) { |
| 132 | if (!metadata) { |
| 133 | return gcs::KmsKeyName{}; |
| 134 | } |
| 135 | |
| 136 | const auto& keys = metadata->keys(); |
| 137 | const auto& values = metadata->values(); |
| 138 | |
| 139 | for (std::size_t i = 0; i < keys.size(); ++i) { |
| 140 | if (keys[i] == "kmsKeyName") { |
| 141 | return gcs::KmsKeyName(values[i]); |
| 142 | } |
| 143 | } |
| 144 | return gcs::KmsKeyName{}; |
| 145 | } |
| 146 | |
| 147 | Result<gcs::PredefinedAcl> ToPredefinedAcl( |
| 148 | const std::shared_ptr<const KeyValueMetadata>& metadata) { |