#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Problem {
pub id: ::std::option::Option<::std::string::String>,
pub title: ::std::option::Option<::std::string::String>,
pub insights: ::std::option::Option<::std::string::String>,
pub status: ::std::option::Option<crate::types::Status>,
pub affected_resource: ::std::option::Option<::std::string::String>,
pub start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub severity_level: ::std::option::Option<crate::types::SeverityLevel>,
pub account_id: ::std::option::Option<::std::string::String>,
pub resource_group_name: ::std::option::Option<::std::string::String>,
pub feedback: ::std::option::Option<::std::collections::HashMap<crate::types::FeedbackKey, crate::types::FeedbackValue>>,
pub recurring_count: ::std::option::Option<i64>,
pub last_recurrence_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub visibility: ::std::option::Option<crate::types::Visibility>,
pub resolution_method: ::std::option::Option<crate::types::ResolutionMethod>,
}
impl Problem {
pub fn id(&self) -> ::std::option::Option<&str> {
self.id.as_deref()
}
pub fn title(&self) -> ::std::option::Option<&str> {
self.title.as_deref()
}
pub fn insights(&self) -> ::std::option::Option<&str> {
self.insights.as_deref()
}
pub fn status(&self) -> ::std::option::Option<&crate::types::Status> {
self.status.as_ref()
}
pub fn affected_resource(&self) -> ::std::option::Option<&str> {
self.affected_resource.as_deref()
}
pub fn start_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.start_time.as_ref()
}
pub fn end_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.end_time.as_ref()
}
pub fn severity_level(&self) -> ::std::option::Option<&crate::types::SeverityLevel> {
self.severity_level.as_ref()
}
pub fn account_id(&self) -> ::std::option::Option<&str> {
self.account_id.as_deref()
}
pub fn resource_group_name(&self) -> ::std::option::Option<&str> {
self.resource_group_name.as_deref()
}
pub fn feedback(&self) -> ::std::option::Option<&::std::collections::HashMap<crate::types::FeedbackKey, crate::types::FeedbackValue>> {
self.feedback.as_ref()
}
pub fn recurring_count(&self) -> ::std::option::Option<i64> {
self.recurring_count
}
pub fn last_recurrence_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.last_recurrence_time.as_ref()
}
pub fn visibility(&self) -> ::std::option::Option<&crate::types::Visibility> {
self.visibility.as_ref()
}
pub fn resolution_method(&self) -> ::std::option::Option<&crate::types::ResolutionMethod> {
self.resolution_method.as_ref()
}
}
impl Problem {
pub fn builder() -> crate::types::builders::ProblemBuilder {
crate::types::builders::ProblemBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct ProblemBuilder {
pub(crate) id: ::std::option::Option<::std::string::String>,
pub(crate) title: ::std::option::Option<::std::string::String>,
pub(crate) insights: ::std::option::Option<::std::string::String>,
pub(crate) status: ::std::option::Option<crate::types::Status>,
pub(crate) affected_resource: ::std::option::Option<::std::string::String>,
pub(crate) start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) severity_level: ::std::option::Option<crate::types::SeverityLevel>,
pub(crate) account_id: ::std::option::Option<::std::string::String>,
pub(crate) resource_group_name: ::std::option::Option<::std::string::String>,
pub(crate) feedback: ::std::option::Option<::std::collections::HashMap<crate::types::FeedbackKey, crate::types::FeedbackValue>>,
pub(crate) recurring_count: ::std::option::Option<i64>,
pub(crate) last_recurrence_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) visibility: ::std::option::Option<crate::types::Visibility>,
pub(crate) resolution_method: ::std::option::Option<crate::types::ResolutionMethod>,
}
impl ProblemBuilder {
pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.id = ::std::option::Option::Some(input.into());
self
}
pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.id = input;
self
}
pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
&self.id
}
pub fn title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.title = ::std::option::Option::Some(input.into());
self
}
pub fn set_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.title = input;
self
}
pub fn get_title(&self) -> &::std::option::Option<::std::string::String> {
&self.title
}
pub fn insights(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.insights = ::std::option::Option::Some(input.into());
self
}
pub fn set_insights(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.insights = input;
self
}
pub fn get_insights(&self) -> &::std::option::Option<::std::string::String> {
&self.insights
}
pub fn status(mut self, input: crate::types::Status) -> Self {
self.status = ::std::option::Option::Some(input);
self
}
pub fn set_status(mut self, input: ::std::option::Option<crate::types::Status>) -> Self {
self.status = input;
self
}
pub fn get_status(&self) -> &::std::option::Option<crate::types::Status> {
&self.status
}
pub fn affected_resource(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.affected_resource = ::std::option::Option::Some(input.into());
self
}
pub fn set_affected_resource(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.affected_resource = input;
self
}
pub fn get_affected_resource(&self) -> &::std::option::Option<::std::string::String> {
&self.affected_resource
}
pub fn start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.start_time = ::std::option::Option::Some(input);
self
}
pub fn set_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.start_time = input;
self
}
pub fn get_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.start_time
}
pub fn end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.end_time = ::std::option::Option::Some(input);
self
}
pub fn set_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.end_time = input;
self
}
pub fn get_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.end_time
}
pub fn severity_level(mut self, input: crate::types::SeverityLevel) -> Self {
self.severity_level = ::std::option::Option::Some(input);
self
}
pub fn set_severity_level(mut self, input: ::std::option::Option<crate::types::SeverityLevel>) -> Self {
self.severity_level = input;
self
}
pub fn get_severity_level(&self) -> &::std::option::Option<crate::types::SeverityLevel> {
&self.severity_level
}
pub fn account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.account_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.account_id = input;
self
}
pub fn get_account_id(&self) -> &::std::option::Option<::std::string::String> {
&self.account_id
}
pub fn resource_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.resource_group_name = ::std::option::Option::Some(input.into());
self
}
pub fn set_resource_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.resource_group_name = input;
self
}
pub fn get_resource_group_name(&self) -> &::std::option::Option<::std::string::String> {
&self.resource_group_name
}
pub fn feedback(mut self, k: crate::types::FeedbackKey, v: crate::types::FeedbackValue) -> Self {
let mut hash_map = self.feedback.unwrap_or_default();
hash_map.insert(k, v);
self.feedback = ::std::option::Option::Some(hash_map);
self
}
pub fn set_feedback(
mut self,
input: ::std::option::Option<::std::collections::HashMap<crate::types::FeedbackKey, crate::types::FeedbackValue>>,
) -> Self {
self.feedback = input;
self
}
pub fn get_feedback(&self) -> &::std::option::Option<::std::collections::HashMap<crate::types::FeedbackKey, crate::types::FeedbackValue>> {
&self.feedback
}
pub fn recurring_count(mut self, input: i64) -> Self {
self.recurring_count = ::std::option::Option::Some(input);
self
}
pub fn set_recurring_count(mut self, input: ::std::option::Option<i64>) -> Self {
self.recurring_count = input;
self
}
pub fn get_recurring_count(&self) -> &::std::option::Option<i64> {
&self.recurring_count
}
pub fn last_recurrence_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.last_recurrence_time = ::std::option::Option::Some(input);
self
}
pub fn set_last_recurrence_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.last_recurrence_time = input;
self
}
pub fn get_last_recurrence_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.last_recurrence_time
}
pub fn visibility(mut self, input: crate::types::Visibility) -> Self {
self.visibility = ::std::option::Option::Some(input);
self
}
pub fn set_visibility(mut self, input: ::std::option::Option<crate::types::Visibility>) -> Self {
self.visibility = input;
self
}
pub fn get_visibility(&self) -> &::std::option::Option<crate::types::Visibility> {
&self.visibility
}
pub fn resolution_method(mut self, input: crate::types::ResolutionMethod) -> Self {
self.resolution_method = ::std::option::Option::Some(input);
self
}
pub fn set_resolution_method(mut self, input: ::std::option::Option<crate::types::ResolutionMethod>) -> Self {
self.resolution_method = input;
self
}
pub fn get_resolution_method(&self) -> &::std::option::Option<crate::types::ResolutionMethod> {
&self.resolution_method
}
pub fn build(self) -> crate::types::Problem {
crate::types::Problem {
id: self.id,
title: self.title,
insights: self.insights,
status: self.status,
affected_resource: self.affected_resource,
start_time: self.start_time,
end_time: self.end_time,
severity_level: self.severity_level,
account_id: self.account_id,
resource_group_name: self.resource_group_name,
feedback: self.feedback,
recurring_count: self.recurring_count,
last_recurrence_time: self.last_recurrence_time,
visibility: self.visibility,
resolution_method: self.resolution_method,
}
}
}