aws_sdk_securityhub/types/
_rule_group_source.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct RuleGroupSource {
7 pub rules_source_list: ::std::option::Option<crate::types::RuleGroupSourceListDetails>,
9 pub rules_string: ::std::option::Option<::std::string::String>,
11 pub stateful_rules: ::std::option::Option<::std::vec::Vec<crate::types::RuleGroupSourceStatefulRulesDetails>>,
13 pub stateless_rules_and_custom_actions: ::std::option::Option<crate::types::RuleGroupSourceStatelessRulesAndCustomActionsDetails>,
15}
16impl RuleGroupSource {
17 pub fn rules_source_list(&self) -> ::std::option::Option<&crate::types::RuleGroupSourceListDetails> {
19 self.rules_source_list.as_ref()
20 }
21 pub fn rules_string(&self) -> ::std::option::Option<&str> {
23 self.rules_string.as_deref()
24 }
25 pub fn stateful_rules(&self) -> &[crate::types::RuleGroupSourceStatefulRulesDetails] {
29 self.stateful_rules.as_deref().unwrap_or_default()
30 }
31 pub fn stateless_rules_and_custom_actions(&self) -> ::std::option::Option<&crate::types::RuleGroupSourceStatelessRulesAndCustomActionsDetails> {
33 self.stateless_rules_and_custom_actions.as_ref()
34 }
35}
36impl RuleGroupSource {
37 pub fn builder() -> crate::types::builders::RuleGroupSourceBuilder {
39 crate::types::builders::RuleGroupSourceBuilder::default()
40 }
41}
42
43#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
45#[non_exhaustive]
46pub struct RuleGroupSourceBuilder {
47 pub(crate) rules_source_list: ::std::option::Option<crate::types::RuleGroupSourceListDetails>,
48 pub(crate) rules_string: ::std::option::Option<::std::string::String>,
49 pub(crate) stateful_rules: ::std::option::Option<::std::vec::Vec<crate::types::RuleGroupSourceStatefulRulesDetails>>,
50 pub(crate) stateless_rules_and_custom_actions: ::std::option::Option<crate::types::RuleGroupSourceStatelessRulesAndCustomActionsDetails>,
51}
52impl RuleGroupSourceBuilder {
53 pub fn rules_source_list(mut self, input: crate::types::RuleGroupSourceListDetails) -> Self {
55 self.rules_source_list = ::std::option::Option::Some(input);
56 self
57 }
58 pub fn set_rules_source_list(mut self, input: ::std::option::Option<crate::types::RuleGroupSourceListDetails>) -> Self {
60 self.rules_source_list = input;
61 self
62 }
63 pub fn get_rules_source_list(&self) -> &::std::option::Option<crate::types::RuleGroupSourceListDetails> {
65 &self.rules_source_list
66 }
67 pub fn rules_string(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
69 self.rules_string = ::std::option::Option::Some(input.into());
70 self
71 }
72 pub fn set_rules_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
74 self.rules_string = input;
75 self
76 }
77 pub fn get_rules_string(&self) -> &::std::option::Option<::std::string::String> {
79 &self.rules_string
80 }
81 pub fn stateful_rules(mut self, input: crate::types::RuleGroupSourceStatefulRulesDetails) -> Self {
87 let mut v = self.stateful_rules.unwrap_or_default();
88 v.push(input);
89 self.stateful_rules = ::std::option::Option::Some(v);
90 self
91 }
92 pub fn set_stateful_rules(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RuleGroupSourceStatefulRulesDetails>>) -> Self {
94 self.stateful_rules = input;
95 self
96 }
97 pub fn get_stateful_rules(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RuleGroupSourceStatefulRulesDetails>> {
99 &self.stateful_rules
100 }
101 pub fn stateless_rules_and_custom_actions(mut self, input: crate::types::RuleGroupSourceStatelessRulesAndCustomActionsDetails) -> Self {
103 self.stateless_rules_and_custom_actions = ::std::option::Option::Some(input);
104 self
105 }
106 pub fn set_stateless_rules_and_custom_actions(
108 mut self,
109 input: ::std::option::Option<crate::types::RuleGroupSourceStatelessRulesAndCustomActionsDetails>,
110 ) -> Self {
111 self.stateless_rules_and_custom_actions = input;
112 self
113 }
114 pub fn get_stateless_rules_and_custom_actions(
116 &self,
117 ) -> &::std::option::Option<crate::types::RuleGroupSourceStatelessRulesAndCustomActionsDetails> {
118 &self.stateless_rules_and_custom_actions
119 }
120 pub fn build(self) -> crate::types::RuleGroupSource {
122 crate::types::RuleGroupSource {
123 rules_source_list: self.rules_source_list,
124 rules_string: self.rules_string,
125 stateful_rules: self.stateful_rules,
126 stateless_rules_and_custom_actions: self.stateless_rules_and_custom_actions,
127 }
128 }
129}