aws_sdk_connect/operation/create_rule/
_create_rule_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateRuleInput {
6 pub instance_id: ::std::option::Option<::std::string::String>,
8 pub name: ::std::option::Option<::std::string::String>,
10 pub trigger_event_source: ::std::option::Option<crate::types::RuleTriggerEventSource>,
12 pub function: ::std::option::Option<::std::string::String>,
14 pub actions: ::std::option::Option<::std::vec::Vec<crate::types::RuleAction>>,
16 pub publish_status: ::std::option::Option<crate::types::RulePublishStatus>,
18 pub client_token: ::std::option::Option<::std::string::String>,
20}
21impl CreateRuleInput {
22 pub fn instance_id(&self) -> ::std::option::Option<&str> {
24 self.instance_id.as_deref()
25 }
26 pub fn name(&self) -> ::std::option::Option<&str> {
28 self.name.as_deref()
29 }
30 pub fn trigger_event_source(&self) -> ::std::option::Option<&crate::types::RuleTriggerEventSource> {
32 self.trigger_event_source.as_ref()
33 }
34 pub fn function(&self) -> ::std::option::Option<&str> {
36 self.function.as_deref()
37 }
38 pub fn actions(&self) -> &[crate::types::RuleAction] {
42 self.actions.as_deref().unwrap_or_default()
43 }
44 pub fn publish_status(&self) -> ::std::option::Option<&crate::types::RulePublishStatus> {
46 self.publish_status.as_ref()
47 }
48 pub fn client_token(&self) -> ::std::option::Option<&str> {
50 self.client_token.as_deref()
51 }
52}
53impl CreateRuleInput {
54 pub fn builder() -> crate::operation::create_rule::builders::CreateRuleInputBuilder {
56 crate::operation::create_rule::builders::CreateRuleInputBuilder::default()
57 }
58}
59
60#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
62#[non_exhaustive]
63pub struct CreateRuleInputBuilder {
64 pub(crate) instance_id: ::std::option::Option<::std::string::String>,
65 pub(crate) name: ::std::option::Option<::std::string::String>,
66 pub(crate) trigger_event_source: ::std::option::Option<crate::types::RuleTriggerEventSource>,
67 pub(crate) function: ::std::option::Option<::std::string::String>,
68 pub(crate) actions: ::std::option::Option<::std::vec::Vec<crate::types::RuleAction>>,
69 pub(crate) publish_status: ::std::option::Option<crate::types::RulePublishStatus>,
70 pub(crate) client_token: ::std::option::Option<::std::string::String>,
71}
72impl CreateRuleInputBuilder {
73 pub fn instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
76 self.instance_id = ::std::option::Option::Some(input.into());
77 self
78 }
79 pub fn set_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
81 self.instance_id = input;
82 self
83 }
84 pub fn get_instance_id(&self) -> &::std::option::Option<::std::string::String> {
86 &self.instance_id
87 }
88 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
91 self.name = ::std::option::Option::Some(input.into());
92 self
93 }
94 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
96 self.name = input;
97 self
98 }
99 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
101 &self.name
102 }
103 pub fn trigger_event_source(mut self, input: crate::types::RuleTriggerEventSource) -> Self {
106 self.trigger_event_source = ::std::option::Option::Some(input);
107 self
108 }
109 pub fn set_trigger_event_source(mut self, input: ::std::option::Option<crate::types::RuleTriggerEventSource>) -> Self {
111 self.trigger_event_source = input;
112 self
113 }
114 pub fn get_trigger_event_source(&self) -> &::std::option::Option<crate::types::RuleTriggerEventSource> {
116 &self.trigger_event_source
117 }
118 pub fn function(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
121 self.function = ::std::option::Option::Some(input.into());
122 self
123 }
124 pub fn set_function(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
126 self.function = input;
127 self
128 }
129 pub fn get_function(&self) -> &::std::option::Option<::std::string::String> {
131 &self.function
132 }
133 pub fn actions(mut self, input: crate::types::RuleAction) -> Self {
139 let mut v = self.actions.unwrap_or_default();
140 v.push(input);
141 self.actions = ::std::option::Option::Some(v);
142 self
143 }
144 pub fn set_actions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RuleAction>>) -> Self {
146 self.actions = input;
147 self
148 }
149 pub fn get_actions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RuleAction>> {
151 &self.actions
152 }
153 pub fn publish_status(mut self, input: crate::types::RulePublishStatus) -> Self {
156 self.publish_status = ::std::option::Option::Some(input);
157 self
158 }
159 pub fn set_publish_status(mut self, input: ::std::option::Option<crate::types::RulePublishStatus>) -> Self {
161 self.publish_status = input;
162 self
163 }
164 pub fn get_publish_status(&self) -> &::std::option::Option<crate::types::RulePublishStatus> {
166 &self.publish_status
167 }
168 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
170 self.client_token = ::std::option::Option::Some(input.into());
171 self
172 }
173 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
175 self.client_token = input;
176 self
177 }
178 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
180 &self.client_token
181 }
182 pub fn build(self) -> ::std::result::Result<crate::operation::create_rule::CreateRuleInput, ::aws_smithy_types::error::operation::BuildError> {
184 ::std::result::Result::Ok(crate::operation::create_rule::CreateRuleInput {
185 instance_id: self.instance_id,
186 name: self.name,
187 trigger_event_source: self.trigger_event_source,
188 function: self.function,
189 actions: self.actions,
190 publish_status: self.publish_status,
191 client_token: self.client_token,
192 })
193 }
194}