aws_sdk_grafana/types/
_update_instruction.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct UpdateInstruction {
7 pub action: crate::types::UpdateAction,
9 pub role: crate::types::Role,
11 pub users: ::std::vec::Vec<crate::types::User>,
13}
14impl UpdateInstruction {
15 pub fn action(&self) -> &crate::types::UpdateAction {
17 &self.action
18 }
19 pub fn role(&self) -> &crate::types::Role {
21 &self.role
22 }
23 pub fn users(&self) -> &[crate::types::User] {
25 use std::ops::Deref;
26 self.users.deref()
27 }
28}
29impl UpdateInstruction {
30 pub fn builder() -> crate::types::builders::UpdateInstructionBuilder {
32 crate::types::builders::UpdateInstructionBuilder::default()
33 }
34}
35
36#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
38#[non_exhaustive]
39pub struct UpdateInstructionBuilder {
40 pub(crate) action: ::std::option::Option<crate::types::UpdateAction>,
41 pub(crate) role: ::std::option::Option<crate::types::Role>,
42 pub(crate) users: ::std::option::Option<::std::vec::Vec<crate::types::User>>,
43}
44impl UpdateInstructionBuilder {
45 pub fn action(mut self, input: crate::types::UpdateAction) -> Self {
48 self.action = ::std::option::Option::Some(input);
49 self
50 }
51 pub fn set_action(mut self, input: ::std::option::Option<crate::types::UpdateAction>) -> Self {
53 self.action = input;
54 self
55 }
56 pub fn get_action(&self) -> &::std::option::Option<crate::types::UpdateAction> {
58 &self.action
59 }
60 pub fn role(mut self, input: crate::types::Role) -> Self {
63 self.role = ::std::option::Option::Some(input);
64 self
65 }
66 pub fn set_role(mut self, input: ::std::option::Option<crate::types::Role>) -> Self {
68 self.role = input;
69 self
70 }
71 pub fn get_role(&self) -> &::std::option::Option<crate::types::Role> {
73 &self.role
74 }
75 pub fn users(mut self, input: crate::types::User) -> Self {
81 let mut v = self.users.unwrap_or_default();
82 v.push(input);
83 self.users = ::std::option::Option::Some(v);
84 self
85 }
86 pub fn set_users(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::User>>) -> Self {
88 self.users = input;
89 self
90 }
91 pub fn get_users(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::User>> {
93 &self.users
94 }
95 pub fn build(self) -> ::std::result::Result<crate::types::UpdateInstruction, ::aws_smithy_types::error::operation::BuildError> {
101 ::std::result::Result::Ok(crate::types::UpdateInstruction {
102 action: self.action.ok_or_else(|| {
103 ::aws_smithy_types::error::operation::BuildError::missing_field(
104 "action",
105 "action was not specified but it is required when building UpdateInstruction",
106 )
107 })?,
108 role: self.role.ok_or_else(|| {
109 ::aws_smithy_types::error::operation::BuildError::missing_field(
110 "role",
111 "role was not specified but it is required when building UpdateInstruction",
112 )
113 })?,
114 users: self.users.ok_or_else(|| {
115 ::aws_smithy_types::error::operation::BuildError::missing_field(
116 "users",
117 "users was not specified but it is required when building UpdateInstruction",
118 )
119 })?,
120 })
121 }
122}