aws_sdk_budgets/types/
_definition.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct Definition {
7 pub iam_action_definition: ::std::option::Option<crate::types::IamActionDefinition>,
9 pub scp_action_definition: ::std::option::Option<crate::types::ScpActionDefinition>,
11 pub ssm_action_definition: ::std::option::Option<crate::types::SsmActionDefinition>,
13}
14impl Definition {
15 pub fn iam_action_definition(&self) -> ::std::option::Option<&crate::types::IamActionDefinition> {
17 self.iam_action_definition.as_ref()
18 }
19 pub fn scp_action_definition(&self) -> ::std::option::Option<&crate::types::ScpActionDefinition> {
21 self.scp_action_definition.as_ref()
22 }
23 pub fn ssm_action_definition(&self) -> ::std::option::Option<&crate::types::SsmActionDefinition> {
25 self.ssm_action_definition.as_ref()
26 }
27}
28impl Definition {
29 pub fn builder() -> crate::types::builders::DefinitionBuilder {
31 crate::types::builders::DefinitionBuilder::default()
32 }
33}
34
35#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
37#[non_exhaustive]
38pub struct DefinitionBuilder {
39 pub(crate) iam_action_definition: ::std::option::Option<crate::types::IamActionDefinition>,
40 pub(crate) scp_action_definition: ::std::option::Option<crate::types::ScpActionDefinition>,
41 pub(crate) ssm_action_definition: ::std::option::Option<crate::types::SsmActionDefinition>,
42}
43impl DefinitionBuilder {
44 pub fn iam_action_definition(mut self, input: crate::types::IamActionDefinition) -> Self {
46 self.iam_action_definition = ::std::option::Option::Some(input);
47 self
48 }
49 pub fn set_iam_action_definition(mut self, input: ::std::option::Option<crate::types::IamActionDefinition>) -> Self {
51 self.iam_action_definition = input;
52 self
53 }
54 pub fn get_iam_action_definition(&self) -> &::std::option::Option<crate::types::IamActionDefinition> {
56 &self.iam_action_definition
57 }
58 pub fn scp_action_definition(mut self, input: crate::types::ScpActionDefinition) -> Self {
60 self.scp_action_definition = ::std::option::Option::Some(input);
61 self
62 }
63 pub fn set_scp_action_definition(mut self, input: ::std::option::Option<crate::types::ScpActionDefinition>) -> Self {
65 self.scp_action_definition = input;
66 self
67 }
68 pub fn get_scp_action_definition(&self) -> &::std::option::Option<crate::types::ScpActionDefinition> {
70 &self.scp_action_definition
71 }
72 pub fn ssm_action_definition(mut self, input: crate::types::SsmActionDefinition) -> Self {
74 self.ssm_action_definition = ::std::option::Option::Some(input);
75 self
76 }
77 pub fn set_ssm_action_definition(mut self, input: ::std::option::Option<crate::types::SsmActionDefinition>) -> Self {
79 self.ssm_action_definition = input;
80 self
81 }
82 pub fn get_ssm_action_definition(&self) -> &::std::option::Option<crate::types::SsmActionDefinition> {
84 &self.ssm_action_definition
85 }
86 pub fn build(self) -> crate::types::Definition {
88 crate::types::Definition {
89 iam_action_definition: self.iam_action_definition,
90 scp_action_definition: self.scp_action_definition,
91 ssm_action_definition: self.ssm_action_definition,
92 }
93 }
94}