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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DeleteRecommendationPreferencesInput {
/// <p>The target resource type of the recommendation preference to delete.</p>
/// <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option encompasses only instances that are part of an Auto Scaling group.</p><note>
/// <p>The valid values for this parameter are <code>Ec2Instance</code> and <code>AutoScalingGroup</code>.</p>
/// </note>
pub resource_type: ::std::option::Option<crate::types::ResourceType>,
/// <p>An object that describes the scope of the recommendation preference to delete.</p>
/// <p>You can delete recommendation preferences that are created at the organization level (for management accounts of an organization only), account level, and resource level. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating enhanced infrastructure metrics</a> in the <i>Compute Optimizer User Guide</i>.</p>
pub scope: ::std::option::Option<crate::types::Scope>,
/// <p>The name of the recommendation preference to delete.</p>
pub recommendation_preference_names: ::std::option::Option<::std::vec::Vec<crate::types::RecommendationPreferenceName>>,
}
impl DeleteRecommendationPreferencesInput {
/// <p>The target resource type of the recommendation preference to delete.</p>
/// <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option encompasses only instances that are part of an Auto Scaling group.</p><note>
/// <p>The valid values for this parameter are <code>Ec2Instance</code> and <code>AutoScalingGroup</code>.</p>
/// </note>
pub fn resource_type(&self) -> ::std::option::Option<&crate::types::ResourceType> {
self.resource_type.as_ref()
}
/// <p>An object that describes the scope of the recommendation preference to delete.</p>
/// <p>You can delete recommendation preferences that are created at the organization level (for management accounts of an organization only), account level, and resource level. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating enhanced infrastructure metrics</a> in the <i>Compute Optimizer User Guide</i>.</p>
pub fn scope(&self) -> ::std::option::Option<&crate::types::Scope> {
self.scope.as_ref()
}
/// <p>The name of the recommendation preference to delete.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.recommendation_preference_names.is_none()`.
pub fn recommendation_preference_names(&self) -> &[crate::types::RecommendationPreferenceName] {
self.recommendation_preference_names.as_deref().unwrap_or_default()
}
}
impl DeleteRecommendationPreferencesInput {
/// Creates a new builder-style object to manufacture [`DeleteRecommendationPreferencesInput`](crate::operation::delete_recommendation_preferences::DeleteRecommendationPreferencesInput).
pub fn builder() -> crate::operation::delete_recommendation_preferences::builders::DeleteRecommendationPreferencesInputBuilder {
crate::operation::delete_recommendation_preferences::builders::DeleteRecommendationPreferencesInputBuilder::default()
}
}
/// A builder for [`DeleteRecommendationPreferencesInput`](crate::operation::delete_recommendation_preferences::DeleteRecommendationPreferencesInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct DeleteRecommendationPreferencesInputBuilder {
pub(crate) resource_type: ::std::option::Option<crate::types::ResourceType>,
pub(crate) scope: ::std::option::Option<crate::types::Scope>,
pub(crate) recommendation_preference_names: ::std::option::Option<::std::vec::Vec<crate::types::RecommendationPreferenceName>>,
}
impl DeleteRecommendationPreferencesInputBuilder {
/// <p>The target resource type of the recommendation preference to delete.</p>
/// <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option encompasses only instances that are part of an Auto Scaling group.</p><note>
/// <p>The valid values for this parameter are <code>Ec2Instance</code> and <code>AutoScalingGroup</code>.</p>
/// </note>
/// This field is required.
pub fn resource_type(mut self, input: crate::types::ResourceType) -> Self {
self.resource_type = ::std::option::Option::Some(input);
self
}
/// <p>The target resource type of the recommendation preference to delete.</p>
/// <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option encompasses only instances that are part of an Auto Scaling group.</p><note>
/// <p>The valid values for this parameter are <code>Ec2Instance</code> and <code>AutoScalingGroup</code>.</p>
/// </note>
pub fn set_resource_type(mut self, input: ::std::option::Option<crate::types::ResourceType>) -> Self {
self.resource_type = input;
self
}
/// <p>The target resource type of the recommendation preference to delete.</p>
/// <p>The <code>Ec2Instance</code> option encompasses standalone instances and instances that are part of Auto Scaling groups. The <code>AutoScalingGroup</code> option encompasses only instances that are part of an Auto Scaling group.</p><note>
/// <p>The valid values for this parameter are <code>Ec2Instance</code> and <code>AutoScalingGroup</code>.</p>
/// </note>
pub fn get_resource_type(&self) -> &::std::option::Option<crate::types::ResourceType> {
&self.resource_type
}
/// <p>An object that describes the scope of the recommendation preference to delete.</p>
/// <p>You can delete recommendation preferences that are created at the organization level (for management accounts of an organization only), account level, and resource level. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating enhanced infrastructure metrics</a> in the <i>Compute Optimizer User Guide</i>.</p>
pub fn scope(mut self, input: crate::types::Scope) -> Self {
self.scope = ::std::option::Option::Some(input);
self
}
/// <p>An object that describes the scope of the recommendation preference to delete.</p>
/// <p>You can delete recommendation preferences that are created at the organization level (for management accounts of an organization only), account level, and resource level. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating enhanced infrastructure metrics</a> in the <i>Compute Optimizer User Guide</i>.</p>
pub fn set_scope(mut self, input: ::std::option::Option<crate::types::Scope>) -> Self {
self.scope = input;
self
}
/// <p>An object that describes the scope of the recommendation preference to delete.</p>
/// <p>You can delete recommendation preferences that are created at the organization level (for management accounts of an organization only), account level, and resource level. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html">Activating enhanced infrastructure metrics</a> in the <i>Compute Optimizer User Guide</i>.</p>
pub fn get_scope(&self) -> &::std::option::Option<crate::types::Scope> {
&self.scope
}
/// Appends an item to `recommendation_preference_names`.
///
/// To override the contents of this collection use [`set_recommendation_preference_names`](Self::set_recommendation_preference_names).
///
/// <p>The name of the recommendation preference to delete.</p>
pub fn recommendation_preference_names(mut self, input: crate::types::RecommendationPreferenceName) -> Self {
let mut v = self.recommendation_preference_names.unwrap_or_default();
v.push(input);
self.recommendation_preference_names = ::std::option::Option::Some(v);
self
}
/// <p>The name of the recommendation preference to delete.</p>
pub fn set_recommendation_preference_names(
mut self,
input: ::std::option::Option<::std::vec::Vec<crate::types::RecommendationPreferenceName>>,
) -> Self {
self.recommendation_preference_names = input;
self
}
/// <p>The name of the recommendation preference to delete.</p>
pub fn get_recommendation_preference_names(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RecommendationPreferenceName>> {
&self.recommendation_preference_names
}
/// Consumes the builder and constructs a [`DeleteRecommendationPreferencesInput`](crate::operation::delete_recommendation_preferences::DeleteRecommendationPreferencesInput).
pub fn build(
self,
) -> ::std::result::Result<
crate::operation::delete_recommendation_preferences::DeleteRecommendationPreferencesInput,
::aws_smithy_types::error::operation::BuildError,
> {
::std::result::Result::Ok(
crate::operation::delete_recommendation_preferences::DeleteRecommendationPreferencesInput {
resource_type: self.resource_type,
scope: self.scope,
recommendation_preference_names: self.recommendation_preference_names,
},
)
}
}