#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct InstanceStateChangeReason {
#[doc(hidden)]
pub code: ::std::option::Option<crate::types::InstanceStateChangeReasonCode>,
#[doc(hidden)]
pub message: ::std::option::Option<::std::string::String>,
}
impl InstanceStateChangeReason {
pub fn code(&self) -> ::std::option::Option<&crate::types::InstanceStateChangeReasonCode> {
self.code.as_ref()
}
pub fn message(&self) -> ::std::option::Option<&str> {
self.message.as_deref()
}
}
impl InstanceStateChangeReason {
pub fn builder() -> crate::types::builders::InstanceStateChangeReasonBuilder {
crate::types::builders::InstanceStateChangeReasonBuilder::default()
}
}
#[non_exhaustive]
#[derive(
::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug,
)]
pub struct InstanceStateChangeReasonBuilder {
pub(crate) code: ::std::option::Option<crate::types::InstanceStateChangeReasonCode>,
pub(crate) message: ::std::option::Option<::std::string::String>,
}
impl InstanceStateChangeReasonBuilder {
pub fn code(mut self, input: crate::types::InstanceStateChangeReasonCode) -> Self {
self.code = ::std::option::Option::Some(input);
self
}
pub fn set_code(
mut self,
input: ::std::option::Option<crate::types::InstanceStateChangeReasonCode>,
) -> Self {
self.code = input;
self
}
pub fn message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.message = ::std::option::Option::Some(input.into());
self
}
pub fn set_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.message = input;
self
}
pub fn build(self) -> crate::types::InstanceStateChangeReason {
crate::types::InstanceStateChangeReason {
code: self.code,
message: self.message,
}
}
}