#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Insight {
pub id: ::std::option::Option<::std::string::String>,
pub name: ::std::option::Option<::std::string::String>,
pub category: ::std::option::Option<crate::types::Category>,
pub kubernetes_version: ::std::option::Option<::std::string::String>,
pub last_refresh_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub last_transition_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub description: ::std::option::Option<::std::string::String>,
pub insight_status: ::std::option::Option<crate::types::InsightStatus>,
pub recommendation: ::std::option::Option<::std::string::String>,
pub additional_info: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub resources: ::std::option::Option<::std::vec::Vec<crate::types::InsightResourceDetail>>,
pub category_specific_summary: ::std::option::Option<crate::types::InsightCategorySpecificSummary>,
}
impl Insight {
pub fn id(&self) -> ::std::option::Option<&str> {
self.id.as_deref()
}
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
pub fn category(&self) -> ::std::option::Option<&crate::types::Category> {
self.category.as_ref()
}
pub fn kubernetes_version(&self) -> ::std::option::Option<&str> {
self.kubernetes_version.as_deref()
}
pub fn last_refresh_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.last_refresh_time.as_ref()
}
pub fn last_transition_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.last_transition_time.as_ref()
}
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
pub fn insight_status(&self) -> ::std::option::Option<&crate::types::InsightStatus> {
self.insight_status.as_ref()
}
pub fn recommendation(&self) -> ::std::option::Option<&str> {
self.recommendation.as_deref()
}
pub fn additional_info(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.additional_info.as_ref()
}
pub fn resources(&self) -> &[crate::types::InsightResourceDetail] {
self.resources.as_deref().unwrap_or_default()
}
pub fn category_specific_summary(&self) -> ::std::option::Option<&crate::types::InsightCategorySpecificSummary> {
self.category_specific_summary.as_ref()
}
}
impl Insight {
pub fn builder() -> crate::types::builders::InsightBuilder {
crate::types::builders::InsightBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct InsightBuilder {
pub(crate) id: ::std::option::Option<::std::string::String>,
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) category: ::std::option::Option<crate::types::Category>,
pub(crate) kubernetes_version: ::std::option::Option<::std::string::String>,
pub(crate) last_refresh_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) last_transition_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) insight_status: ::std::option::Option<crate::types::InsightStatus>,
pub(crate) recommendation: ::std::option::Option<::std::string::String>,
pub(crate) additional_info: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub(crate) resources: ::std::option::Option<::std::vec::Vec<crate::types::InsightResourceDetail>>,
pub(crate) category_specific_summary: ::std::option::Option<crate::types::InsightCategorySpecificSummary>,
}
impl InsightBuilder {
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 name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
pub fn category(mut self, input: crate::types::Category) -> Self {
self.category = ::std::option::Option::Some(input);
self
}
pub fn set_category(mut self, input: ::std::option::Option<crate::types::Category>) -> Self {
self.category = input;
self
}
pub fn get_category(&self) -> &::std::option::Option<crate::types::Category> {
&self.category
}
pub fn kubernetes_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.kubernetes_version = ::std::option::Option::Some(input.into());
self
}
pub fn set_kubernetes_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.kubernetes_version = input;
self
}
pub fn get_kubernetes_version(&self) -> &::std::option::Option<::std::string::String> {
&self.kubernetes_version
}
pub fn last_refresh_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.last_refresh_time = ::std::option::Option::Some(input);
self
}
pub fn set_last_refresh_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.last_refresh_time = input;
self
}
pub fn get_last_refresh_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.last_refresh_time
}
pub fn last_transition_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.last_transition_time = ::std::option::Option::Some(input);
self
}
pub fn set_last_transition_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.last_transition_time = input;
self
}
pub fn get_last_transition_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.last_transition_time
}
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
pub fn insight_status(mut self, input: crate::types::InsightStatus) -> Self {
self.insight_status = ::std::option::Option::Some(input);
self
}
pub fn set_insight_status(mut self, input: ::std::option::Option<crate::types::InsightStatus>) -> Self {
self.insight_status = input;
self
}
pub fn get_insight_status(&self) -> &::std::option::Option<crate::types::InsightStatus> {
&self.insight_status
}
pub fn recommendation(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.recommendation = ::std::option::Option::Some(input.into());
self
}
pub fn set_recommendation(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.recommendation = input;
self
}
pub fn get_recommendation(&self) -> &::std::option::Option<::std::string::String> {
&self.recommendation
}
pub fn additional_info(
mut self,
k: impl ::std::convert::Into<::std::string::String>,
v: impl ::std::convert::Into<::std::string::String>,
) -> Self {
let mut hash_map = self.additional_info.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.additional_info = ::std::option::Option::Some(hash_map);
self
}
pub fn set_additional_info(
mut self,
input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
) -> Self {
self.additional_info = input;
self
}
pub fn get_additional_info(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.additional_info
}
pub fn resources(mut self, input: crate::types::InsightResourceDetail) -> Self {
let mut v = self.resources.unwrap_or_default();
v.push(input);
self.resources = ::std::option::Option::Some(v);
self
}
pub fn set_resources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InsightResourceDetail>>) -> Self {
self.resources = input;
self
}
pub fn get_resources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InsightResourceDetail>> {
&self.resources
}
pub fn category_specific_summary(mut self, input: crate::types::InsightCategorySpecificSummary) -> Self {
self.category_specific_summary = ::std::option::Option::Some(input);
self
}
pub fn set_category_specific_summary(mut self, input: ::std::option::Option<crate::types::InsightCategorySpecificSummary>) -> Self {
self.category_specific_summary = input;
self
}
pub fn get_category_specific_summary(&self) -> &::std::option::Option<crate::types::InsightCategorySpecificSummary> {
&self.category_specific_summary
}
pub fn build(self) -> crate::types::Insight {
crate::types::Insight {
id: self.id,
name: self.name,
category: self.category,
kubernetes_version: self.kubernetes_version,
last_refresh_time: self.last_refresh_time,
last_transition_time: self.last_transition_time,
description: self.description,
insight_status: self.insight_status,
recommendation: self.recommendation,
additional_info: self.additional_info,
resources: self.resources,
category_specific_summary: self.category_specific_summary,
}
}
}