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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>A recommendation generated for your account.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Recommendation {
/// <p>The resource affected by the recommendation, with values like <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>.</p>
pub resource_arn: ::std::option::Option<::std::string::String>,
/// <p>The recommendation type, with values like <code>DKIM</code>, <code>SPF</code>, <code>DMARC</code> or <code>BIMI</code>.</p>
pub r#type: ::std::option::Option<crate::types::RecommendationType>,
/// <p>The recommendation description / disambiguator - e.g. <code>DKIM1</code> and <code>DKIM2</code> are different recommendations about your DKIM setup.</p>
pub description: ::std::option::Option<::std::string::String>,
/// <p>The recommendation status, with values like <code>OPEN</code> or <code>FIXED</code>.</p>
pub status: ::std::option::Option<crate::types::RecommendationStatus>,
/// <p>The first time this issue was encountered and the recommendation was generated.</p>
pub created_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
/// <p>The last time the recommendation was updated.</p>
pub last_updated_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
/// <p>The recommendation impact, with values like <code>HIGH</code> or <code>LOW</code>.</p>
pub impact: ::std::option::Option<crate::types::RecommendationImpact>,
}
impl Recommendation {
/// <p>The resource affected by the recommendation, with values like <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>.</p>
pub fn resource_arn(&self) -> ::std::option::Option<&str> {
self.resource_arn.as_deref()
}
/// <p>The recommendation type, with values like <code>DKIM</code>, <code>SPF</code>, <code>DMARC</code> or <code>BIMI</code>.</p>
pub fn r#type(&self) -> ::std::option::Option<&crate::types::RecommendationType> {
self.r#type.as_ref()
}
/// <p>The recommendation description / disambiguator - e.g. <code>DKIM1</code> and <code>DKIM2</code> are different recommendations about your DKIM setup.</p>
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
/// <p>The recommendation status, with values like <code>OPEN</code> or <code>FIXED</code>.</p>
pub fn status(&self) -> ::std::option::Option<&crate::types::RecommendationStatus> {
self.status.as_ref()
}
/// <p>The first time this issue was encountered and the recommendation was generated.</p>
pub fn created_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.created_timestamp.as_ref()
}
/// <p>The last time the recommendation was updated.</p>
pub fn last_updated_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.last_updated_timestamp.as_ref()
}
/// <p>The recommendation impact, with values like <code>HIGH</code> or <code>LOW</code>.</p>
pub fn impact(&self) -> ::std::option::Option<&crate::types::RecommendationImpact> {
self.impact.as_ref()
}
}
impl Recommendation {
/// Creates a new builder-style object to manufacture [`Recommendation`](crate::types::Recommendation).
pub fn builder() -> crate::types::builders::RecommendationBuilder {
crate::types::builders::RecommendationBuilder::default()
}
}
/// A builder for [`Recommendation`](crate::types::Recommendation).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct RecommendationBuilder {
pub(crate) resource_arn: ::std::option::Option<::std::string::String>,
pub(crate) r#type: ::std::option::Option<crate::types::RecommendationType>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) status: ::std::option::Option<crate::types::RecommendationStatus>,
pub(crate) created_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) last_updated_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) impact: ::std::option::Option<crate::types::RecommendationImpact>,
}
impl RecommendationBuilder {
/// <p>The resource affected by the recommendation, with values like <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>.</p>
pub fn resource_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.resource_arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The resource affected by the recommendation, with values like <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>.</p>
pub fn set_resource_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.resource_arn = input;
self
}
/// <p>The resource affected by the recommendation, with values like <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>.</p>
pub fn get_resource_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.resource_arn
}
/// <p>The recommendation type, with values like <code>DKIM</code>, <code>SPF</code>, <code>DMARC</code> or <code>BIMI</code>.</p>
pub fn r#type(mut self, input: crate::types::RecommendationType) -> Self {
self.r#type = ::std::option::Option::Some(input);
self
}
/// <p>The recommendation type, with values like <code>DKIM</code>, <code>SPF</code>, <code>DMARC</code> or <code>BIMI</code>.</p>
pub fn set_type(mut self, input: ::std::option::Option<crate::types::RecommendationType>) -> Self {
self.r#type = input;
self
}
/// <p>The recommendation type, with values like <code>DKIM</code>, <code>SPF</code>, <code>DMARC</code> or <code>BIMI</code>.</p>
pub fn get_type(&self) -> &::std::option::Option<crate::types::RecommendationType> {
&self.r#type
}
/// <p>The recommendation description / disambiguator - e.g. <code>DKIM1</code> and <code>DKIM2</code> are different recommendations about your DKIM setup.</p>
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
/// <p>The recommendation description / disambiguator - e.g. <code>DKIM1</code> and <code>DKIM2</code> are different recommendations about your DKIM setup.</p>
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
/// <p>The recommendation description / disambiguator - e.g. <code>DKIM1</code> and <code>DKIM2</code> are different recommendations about your DKIM setup.</p>
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
/// <p>The recommendation status, with values like <code>OPEN</code> or <code>FIXED</code>.</p>
pub fn status(mut self, input: crate::types::RecommendationStatus) -> Self {
self.status = ::std::option::Option::Some(input);
self
}
/// <p>The recommendation status, with values like <code>OPEN</code> or <code>FIXED</code>.</p>
pub fn set_status(mut self, input: ::std::option::Option<crate::types::RecommendationStatus>) -> Self {
self.status = input;
self
}
/// <p>The recommendation status, with values like <code>OPEN</code> or <code>FIXED</code>.</p>
pub fn get_status(&self) -> &::std::option::Option<crate::types::RecommendationStatus> {
&self.status
}
/// <p>The first time this issue was encountered and the recommendation was generated.</p>
pub fn created_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.created_timestamp = ::std::option::Option::Some(input);
self
}
/// <p>The first time this issue was encountered and the recommendation was generated.</p>
pub fn set_created_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.created_timestamp = input;
self
}
/// <p>The first time this issue was encountered and the recommendation was generated.</p>
pub fn get_created_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.created_timestamp
}
/// <p>The last time the recommendation was updated.</p>
pub fn last_updated_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.last_updated_timestamp = ::std::option::Option::Some(input);
self
}
/// <p>The last time the recommendation was updated.</p>
pub fn set_last_updated_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.last_updated_timestamp = input;
self
}
/// <p>The last time the recommendation was updated.</p>
pub fn get_last_updated_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.last_updated_timestamp
}
/// <p>The recommendation impact, with values like <code>HIGH</code> or <code>LOW</code>.</p>
pub fn impact(mut self, input: crate::types::RecommendationImpact) -> Self {
self.impact = ::std::option::Option::Some(input);
self
}
/// <p>The recommendation impact, with values like <code>HIGH</code> or <code>LOW</code>.</p>
pub fn set_impact(mut self, input: ::std::option::Option<crate::types::RecommendationImpact>) -> Self {
self.impact = input;
self
}
/// <p>The recommendation impact, with values like <code>HIGH</code> or <code>LOW</code>.</p>
pub fn get_impact(&self) -> &::std::option::Option<crate::types::RecommendationImpact> {
&self.impact
}
/// Consumes the builder and constructs a [`Recommendation`](crate::types::Recommendation).
pub fn build(self) -> crate::types::Recommendation {
crate::types::Recommendation {
resource_arn: self.resource_arn,
r#type: self.r#type,
description: self.description,
status: self.status,
created_timestamp: self.created_timestamp,
last_updated_timestamp: self.last_updated_timestamp,
impact: self.impact,
}
}
}