1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
// This file is @generated by prost-build.
/// Log message used to send to Platform Logging for asynchronous
/// CryptoKey events.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CryptoKeyEvent {
/// An event for rotating the primary CryptoKeyVersion of a CryptoKey.
#[prost(message, optional, tag = "1")]
pub rotation_event: ::core::option::Option<crypto_key_event::RotationEvent>,
}
/// Nested message and enum types in `CryptoKeyEvent`.
pub mod crypto_key_event {
/// The event emitted by KMS when performing a scheduled automatic CryptoKey
/// rotation. See <https://cloud.google.com/kms/docs/rotating-keys#automatic>
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RotationEvent {
/// The result of the scheduled key rotation. The 'details' field of the
/// status may contain a google.rpc.PreconditionFailure.
#[prost(message, optional, tag = "1")]
pub status: ::core::option::Option<
super::super::super::super::super::rpc::Status,
>,
}
}
/// Log message used to send to Platform Logging for asynchronous
/// CryptoKeyVersion events.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CryptoKeyVersionEvent {
#[prost(oneof = "crypto_key_version_event::Event", tags = "1, 2, 3")]
pub event: ::core::option::Option<crypto_key_version_event::Event>,
}
/// Nested message and enum types in `CryptoKeyVersionEvent`.
pub mod crypto_key_version_event {
/// The event emitted by KMS when destroying a CryptoKeyVersion scheduled for
/// destruction. See <https://cloud.google.com/kms/docs/destroy-restore#destroy>
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScheduledDestructionEvent {
/// The result of the scheduled key version destruction. The 'details' field
/// of the status may contain a google.rpc.PreconditionFailure. For EKM keys,
/// the 'violations' field of a PreconditionFailure will also include EKM
/// errors.
#[prost(message, optional, tag = "1")]
pub status: ::core::option::Option<
super::super::super::super::super::rpc::Status,
>,
/// The Key Access Justification (KAJ) reason associated with the request.
/// This field is only populated for KAJ enrolled customers for EKM keys.
#[prost(string, tag = "2")]
pub key_access_justification_reason: ::prost::alloc::string::String,
}
/// The event emitted by KMS when generating a CryptoKeyVersion. See
/// <https://cloud.google.com/kms/docs/key-states>
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeyGenerationEvent {
/// The result of the key version generation. The 'details' field of the
/// status may contain a google.rpc.PreconditionFailure. For EKM keys, the
/// 'violations' field of a PreconditionFailure will also include EKM errors.
#[prost(message, optional, tag = "1")]
pub status: ::core::option::Option<
super::super::super::super::super::rpc::Status,
>,
/// The Key Access Justification (KAJ) reason associated with the request.
/// This field is only populated for KAJ enrolled customers for EKM keys.
#[prost(string, tag = "2")]
pub key_access_justification_reason: ::prost::alloc::string::String,
}
/// The event emitted by KMS when importing a CryptoKeyVersion. See
/// <https://cloud.google.com/kms/docs/importing-a-key>
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ImportEvent {
/// The result of the key version import. The 'details' field of the status
/// may contain a google.rpc.PreconditionFailure.
#[prost(message, optional, tag = "1")]
pub status: ::core::option::Option<
super::super::super::super::super::rpc::Status,
>,
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Event {
/// An event for the scheduled destruction of a CryptoKeyVersion.
#[prost(message, tag = "1")]
ScheduledDestructionEvent(ScheduledDestructionEvent),
/// An event for the generation of a CryptoKeyVersion.
#[prost(message, tag = "2")]
KeyGenerationEvent(KeyGenerationEvent),
/// An event for the import of key material for a CryptoKeyVersion.
#[prost(message, tag = "3")]
ImportEvent(ImportEvent),
}
}