// This file is @generated by prost-build.
/// The proto payload for Relocate Bucket Cloud Logging. Only objects that
/// experience errors (usually unsupported features) will be logged.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelocateBucketError {
    /// The full resource name, following the format:
    /// 'projects/\_/buckets/{bucket_id}'.
    #[prost(string, tag = "1")]
    pub resource: ::prost::alloc::string::String,
    /// The object id of an object that is not supported for relocation.
    #[prost(string, tag = "2")]
    pub object_id: ::prost::alloc::string::String,
    /// The original location of the bucket. The location is a region/mutliregion,
    /// such as 'us', 'us-central1', 'asia', etc.
    #[prost(string, tag = "3")]
    pub source_location: ::prost::alloc::string::String,
    /// The destination location of the bucket. The location is a
    /// region/mutliregion, such as 'us', 'us-central1', 'asia', etc.
    #[prost(string, tag = "4")]
    pub destination_location: ::prost::alloc::string::String,
    /// If set, the source is a custom dual region.
    #[prost(message, optional, tag = "5")]
    pub source_custom_placement_config: ::core::option::Option<
        relocate_bucket_error::CustomPlacementConfig,
    >,
    /// If set, the destination is a custom dual region.
    #[prost(message, optional, tag = "6")]
    pub destination_custom_placement_config: ::core::option::Option<
        relocate_bucket_error::CustomPlacementConfig,
    >,
    /// The list of errors (originally enums) that were encountered during the
    /// relocation, stringified and wrapped in google.rpc.Status details section.
    #[prost(message, repeated, tag = "7")]
    pub relocation_errors: ::prost::alloc::vec::Vec<super::super::super::rpc::Status>,
    /// When true, validate the operation, but do not actually relocate the
    /// bucket.
    #[prost(bool, tag = "8")]
    pub validate_only: bool,
}
/// Nested message and enum types in `RelocateBucketError`.
pub mod relocate_bucket_error {
    /// Configuration for Custom Dual Regions. It specifies eligible regions within
    /// the same Multiregion.
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
    pub struct CustomPlacementConfig {
        /// List of locations to use for data placement.
        #[prost(string, repeated, tag = "1")]
        pub data_locations: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    }
}
