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
// 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 CreateMitigationActionInput {
/// <p>A friendly name for the action. Choose a friendly name that accurately describes the action (for example, <code>EnableLoggingAction</code>).</p>
pub action_name: ::std::option::Option<::std::string::String>,
/// <p>The ARN of the IAM role that is used to apply the mitigation action.</p>
pub role_arn: ::std::option::Option<::std::string::String>,
/// <p>Defines the type of action and the parameters for that action.</p>
pub action_params: ::std::option::Option<crate::types::MitigationActionParams>,
/// <p>Metadata that can be used to manage the mitigation action.</p>
pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
}
impl CreateMitigationActionInput {
/// <p>A friendly name for the action. Choose a friendly name that accurately describes the action (for example, <code>EnableLoggingAction</code>).</p>
pub fn action_name(&self) -> ::std::option::Option<&str> {
self.action_name.as_deref()
}
/// <p>The ARN of the IAM role that is used to apply the mitigation action.</p>
pub fn role_arn(&self) -> ::std::option::Option<&str> {
self.role_arn.as_deref()
}
/// <p>Defines the type of action and the parameters for that action.</p>
pub fn action_params(&self) -> ::std::option::Option<&crate::types::MitigationActionParams> {
self.action_params.as_ref()
}
/// <p>Metadata that can be used to manage the mitigation action.</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 `.tags.is_none()`.
pub fn tags(&self) -> &[crate::types::Tag] {
self.tags.as_deref().unwrap_or_default()
}
}
impl CreateMitigationActionInput {
/// Creates a new builder-style object to manufacture [`CreateMitigationActionInput`](crate::operation::create_mitigation_action::CreateMitigationActionInput).
pub fn builder() -> crate::operation::create_mitigation_action::builders::CreateMitigationActionInputBuilder {
crate::operation::create_mitigation_action::builders::CreateMitigationActionInputBuilder::default()
}
}
/// A builder for [`CreateMitigationActionInput`](crate::operation::create_mitigation_action::CreateMitigationActionInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CreateMitigationActionInputBuilder {
pub(crate) action_name: ::std::option::Option<::std::string::String>,
pub(crate) role_arn: ::std::option::Option<::std::string::String>,
pub(crate) action_params: ::std::option::Option<crate::types::MitigationActionParams>,
pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
}
impl CreateMitigationActionInputBuilder {
/// <p>A friendly name for the action. Choose a friendly name that accurately describes the action (for example, <code>EnableLoggingAction</code>).</p>
/// This field is required.
pub fn action_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.action_name = ::std::option::Option::Some(input.into());
self
}
/// <p>A friendly name for the action. Choose a friendly name that accurately describes the action (for example, <code>EnableLoggingAction</code>).</p>
pub fn set_action_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.action_name = input;
self
}
/// <p>A friendly name for the action. Choose a friendly name that accurately describes the action (for example, <code>EnableLoggingAction</code>).</p>
pub fn get_action_name(&self) -> &::std::option::Option<::std::string::String> {
&self.action_name
}
/// <p>The ARN of the IAM role that is used to apply the mitigation action.</p>
/// This field is required.
pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.role_arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The ARN of the IAM role that is used to apply the mitigation action.</p>
pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.role_arn = input;
self
}
/// <p>The ARN of the IAM role that is used to apply the mitigation action.</p>
pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.role_arn
}
/// <p>Defines the type of action and the parameters for that action.</p>
/// This field is required.
pub fn action_params(mut self, input: crate::types::MitigationActionParams) -> Self {
self.action_params = ::std::option::Option::Some(input);
self
}
/// <p>Defines the type of action and the parameters for that action.</p>
pub fn set_action_params(mut self, input: ::std::option::Option<crate::types::MitigationActionParams>) -> Self {
self.action_params = input;
self
}
/// <p>Defines the type of action and the parameters for that action.</p>
pub fn get_action_params(&self) -> &::std::option::Option<crate::types::MitigationActionParams> {
&self.action_params
}
/// Appends an item to `tags`.
///
/// To override the contents of this collection use [`set_tags`](Self::set_tags).
///
/// <p>Metadata that can be used to manage the mitigation action.</p>
pub fn tags(mut self, input: crate::types::Tag) -> Self {
let mut v = self.tags.unwrap_or_default();
v.push(input);
self.tags = ::std::option::Option::Some(v);
self
}
/// <p>Metadata that can be used to manage the mitigation action.</p>
pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
self.tags = input;
self
}
/// <p>Metadata that can be used to manage the mitigation action.</p>
pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
&self.tags
}
/// Consumes the builder and constructs a [`CreateMitigationActionInput`](crate::operation::create_mitigation_action::CreateMitigationActionInput).
pub fn build(
self,
) -> ::std::result::Result<
crate::operation::create_mitigation_action::CreateMitigationActionInput,
::aws_smithy_types::error::operation::BuildError,
> {
::std::result::Result::Ok(crate::operation::create_mitigation_action::CreateMitigationActionInput {
action_name: self.action_name,
role_arn: self.role_arn,
action_params: self.action_params,
tags: self.tags,
})
}
}