[general]
language = 'rust+prost'
specification-source = 'google/storage/control/v2'
[codec]
copyright-year = '2025'
template-override = 'templates/prost'
post-process-protos = """\
let name = format!("{destination}/google.storage.control.v2.rs");
let content = std::fs::read_to_string(&name)
.expect(format!("should be able to read '{name}'").as_str());
// Rename CloudStorageLocations
let content = content.replace(
"pub enum CloudStorageLocations ", "pub enum CloudStorageLocationsOneOf ");
let content = content.replace(
"prost(oneof = \\\"filter::CloudStorageLocations\\\"",
"prost(oneof = \\\"filter::CloudStorageLocationsOneOf\\\"",
);
let content = content.replace(
" filter::CloudStorageLocations,",
" filter::CloudStorageLocationsOneOf,",
);
// Rename CloudStorageBuckets
let content = content.replace(
"pub enum CloudStorageBuckets ", "pub enum CloudStorageBucketsOneOf ");
let content = content.replace(
"prost(oneof = \\\"filter::CloudStorageBuckets\\\"",
"prost(oneof = \\\"filter::CloudStorageBucketsOneOf\\\"",
);
let content = content.replace(
"pub cloud_storage_buckets: ::core::option::Option<filter::CloudStorageBuckets>",
"pub cloud_storage_buckets: ::core::option::Option<filter::CloudStorageBucketsOneOf>",
);
std::fs::write(&name, content.as_bytes())
.expect(format!("should be able to write '{name}'").as_str());"""