aws_sdk_securityagent/operation/create_pentest/
_create_pentest_input.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct CreatePentestInput {
7 pub title: ::std::option::Option<::std::string::String>,
9 pub agent_space_id: ::std::option::Option<::std::string::String>,
11 pub assets: ::std::option::Option<crate::types::Assets>,
13 pub exclude_risk_types: ::std::option::Option<::std::vec::Vec<crate::types::RiskType>>,
15 pub service_role: ::std::option::Option<::std::string::String>,
17 pub log_config: ::std::option::Option<crate::types::CloudWatchLog>,
19 pub vpc_config: ::std::option::Option<crate::types::VpcConfig>,
21 pub network_traffic_config: ::std::option::Option<crate::types::NetworkTrafficConfig>,
23 pub code_remediation_strategy: ::std::option::Option<crate::types::CodeRemediationStrategy>,
25 pub disable_managed_skills: ::std::option::Option<::std::vec::Vec<crate::types::SkillType>>,
27 pub max_task_hours: ::std::option::Option<f64>,
29}
30impl CreatePentestInput {
31 pub fn title(&self) -> ::std::option::Option<&str> {
33 self.title.as_deref()
34 }
35 pub fn agent_space_id(&self) -> ::std::option::Option<&str> {
37 self.agent_space_id.as_deref()
38 }
39 pub fn assets(&self) -> ::std::option::Option<&crate::types::Assets> {
41 self.assets.as_ref()
42 }
43 pub fn exclude_risk_types(&self) -> &[crate::types::RiskType] {
47 self.exclude_risk_types.as_deref().unwrap_or_default()
48 }
49 pub fn service_role(&self) -> ::std::option::Option<&str> {
51 self.service_role.as_deref()
52 }
53 pub fn log_config(&self) -> ::std::option::Option<&crate::types::CloudWatchLog> {
55 self.log_config.as_ref()
56 }
57 pub fn vpc_config(&self) -> ::std::option::Option<&crate::types::VpcConfig> {
59 self.vpc_config.as_ref()
60 }
61 pub fn network_traffic_config(&self) -> ::std::option::Option<&crate::types::NetworkTrafficConfig> {
63 self.network_traffic_config.as_ref()
64 }
65 pub fn code_remediation_strategy(&self) -> ::std::option::Option<&crate::types::CodeRemediationStrategy> {
67 self.code_remediation_strategy.as_ref()
68 }
69 pub fn disable_managed_skills(&self) -> &[crate::types::SkillType] {
73 self.disable_managed_skills.as_deref().unwrap_or_default()
74 }
75 pub fn max_task_hours(&self) -> ::std::option::Option<f64> {
77 self.max_task_hours
78 }
79}
80impl CreatePentestInput {
81 pub fn builder() -> crate::operation::create_pentest::builders::CreatePentestInputBuilder {
83 crate::operation::create_pentest::builders::CreatePentestInputBuilder::default()
84 }
85}
86
87#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
89#[non_exhaustive]
90pub struct CreatePentestInputBuilder {
91 pub(crate) title: ::std::option::Option<::std::string::String>,
92 pub(crate) agent_space_id: ::std::option::Option<::std::string::String>,
93 pub(crate) assets: ::std::option::Option<crate::types::Assets>,
94 pub(crate) exclude_risk_types: ::std::option::Option<::std::vec::Vec<crate::types::RiskType>>,
95 pub(crate) service_role: ::std::option::Option<::std::string::String>,
96 pub(crate) log_config: ::std::option::Option<crate::types::CloudWatchLog>,
97 pub(crate) vpc_config: ::std::option::Option<crate::types::VpcConfig>,
98 pub(crate) network_traffic_config: ::std::option::Option<crate::types::NetworkTrafficConfig>,
99 pub(crate) code_remediation_strategy: ::std::option::Option<crate::types::CodeRemediationStrategy>,
100 pub(crate) disable_managed_skills: ::std::option::Option<::std::vec::Vec<crate::types::SkillType>>,
101 pub(crate) max_task_hours: ::std::option::Option<f64>,
102}
103impl CreatePentestInputBuilder {
104 pub fn title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
107 self.title = ::std::option::Option::Some(input.into());
108 self
109 }
110 pub fn set_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
112 self.title = input;
113 self
114 }
115 pub fn get_title(&self) -> &::std::option::Option<::std::string::String> {
117 &self.title
118 }
119 pub fn agent_space_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
122 self.agent_space_id = ::std::option::Option::Some(input.into());
123 self
124 }
125 pub fn set_agent_space_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
127 self.agent_space_id = input;
128 self
129 }
130 pub fn get_agent_space_id(&self) -> &::std::option::Option<::std::string::String> {
132 &self.agent_space_id
133 }
134 pub fn assets(mut self, input: crate::types::Assets) -> Self {
136 self.assets = ::std::option::Option::Some(input);
137 self
138 }
139 pub fn set_assets(mut self, input: ::std::option::Option<crate::types::Assets>) -> Self {
141 self.assets = input;
142 self
143 }
144 pub fn get_assets(&self) -> &::std::option::Option<crate::types::Assets> {
146 &self.assets
147 }
148 pub fn exclude_risk_types(mut self, input: crate::types::RiskType) -> Self {
154 let mut v = self.exclude_risk_types.unwrap_or_default();
155 v.push(input);
156 self.exclude_risk_types = ::std::option::Option::Some(v);
157 self
158 }
159 pub fn set_exclude_risk_types(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RiskType>>) -> Self {
161 self.exclude_risk_types = input;
162 self
163 }
164 pub fn get_exclude_risk_types(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RiskType>> {
166 &self.exclude_risk_types
167 }
168 pub fn service_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
170 self.service_role = ::std::option::Option::Some(input.into());
171 self
172 }
173 pub fn set_service_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
175 self.service_role = input;
176 self
177 }
178 pub fn get_service_role(&self) -> &::std::option::Option<::std::string::String> {
180 &self.service_role
181 }
182 pub fn log_config(mut self, input: crate::types::CloudWatchLog) -> Self {
184 self.log_config = ::std::option::Option::Some(input);
185 self
186 }
187 pub fn set_log_config(mut self, input: ::std::option::Option<crate::types::CloudWatchLog>) -> Self {
189 self.log_config = input;
190 self
191 }
192 pub fn get_log_config(&self) -> &::std::option::Option<crate::types::CloudWatchLog> {
194 &self.log_config
195 }
196 pub fn vpc_config(mut self, input: crate::types::VpcConfig) -> Self {
198 self.vpc_config = ::std::option::Option::Some(input);
199 self
200 }
201 pub fn set_vpc_config(mut self, input: ::std::option::Option<crate::types::VpcConfig>) -> Self {
203 self.vpc_config = input;
204 self
205 }
206 pub fn get_vpc_config(&self) -> &::std::option::Option<crate::types::VpcConfig> {
208 &self.vpc_config
209 }
210 pub fn network_traffic_config(mut self, input: crate::types::NetworkTrafficConfig) -> Self {
212 self.network_traffic_config = ::std::option::Option::Some(input);
213 self
214 }
215 pub fn set_network_traffic_config(mut self, input: ::std::option::Option<crate::types::NetworkTrafficConfig>) -> Self {
217 self.network_traffic_config = input;
218 self
219 }
220 pub fn get_network_traffic_config(&self) -> &::std::option::Option<crate::types::NetworkTrafficConfig> {
222 &self.network_traffic_config
223 }
224 pub fn code_remediation_strategy(mut self, input: crate::types::CodeRemediationStrategy) -> Self {
226 self.code_remediation_strategy = ::std::option::Option::Some(input);
227 self
228 }
229 pub fn set_code_remediation_strategy(mut self, input: ::std::option::Option<crate::types::CodeRemediationStrategy>) -> Self {
231 self.code_remediation_strategy = input;
232 self
233 }
234 pub fn get_code_remediation_strategy(&self) -> &::std::option::Option<crate::types::CodeRemediationStrategy> {
236 &self.code_remediation_strategy
237 }
238 pub fn disable_managed_skills(mut self, input: crate::types::SkillType) -> Self {
244 let mut v = self.disable_managed_skills.unwrap_or_default();
245 v.push(input);
246 self.disable_managed_skills = ::std::option::Option::Some(v);
247 self
248 }
249 pub fn set_disable_managed_skills(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SkillType>>) -> Self {
251 self.disable_managed_skills = input;
252 self
253 }
254 pub fn get_disable_managed_skills(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SkillType>> {
256 &self.disable_managed_skills
257 }
258 pub fn max_task_hours(mut self, input: f64) -> Self {
260 self.max_task_hours = ::std::option::Option::Some(input);
261 self
262 }
263 pub fn set_max_task_hours(mut self, input: ::std::option::Option<f64>) -> Self {
265 self.max_task_hours = input;
266 self
267 }
268 pub fn get_max_task_hours(&self) -> &::std::option::Option<f64> {
270 &self.max_task_hours
271 }
272 pub fn build(
274 self,
275 ) -> ::std::result::Result<crate::operation::create_pentest::CreatePentestInput, ::aws_smithy_types::error::operation::BuildError> {
276 ::std::result::Result::Ok(crate::operation::create_pentest::CreatePentestInput {
277 title: self.title,
278 agent_space_id: self.agent_space_id,
279 assets: self.assets,
280 exclude_risk_types: self.exclude_risk_types,
281 service_role: self.service_role,
282 log_config: self.log_config,
283 vpc_config: self.vpc_config,
284 network_traffic_config: self.network_traffic_config,
285 code_remediation_strategy: self.code_remediation_strategy,
286 disable_managed_skills: self.disable_managed_skills,
287 max_task_hours: self.max_task_hours,
288 })
289 }
290}