aws_sdk_quicksight/operation/create_folder/
_create_folder_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateFolderInput {
6 pub aws_account_id: ::std::option::Option<::std::string::String>,
8 pub folder_id: ::std::option::Option<::std::string::String>,
10 pub name: ::std::option::Option<::std::string::String>,
12 pub folder_type: ::std::option::Option<crate::types::FolderType>,
14 pub parent_folder_arn: ::std::option::Option<::std::string::String>,
17 pub permissions: ::std::option::Option<::std::vec::Vec<crate::types::ResourcePermission>>,
20 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
22 pub sharing_model: ::std::option::Option<crate::types::SharingModel>,
24}
25impl CreateFolderInput {
26 pub fn aws_account_id(&self) -> ::std::option::Option<&str> {
28 self.aws_account_id.as_deref()
29 }
30 pub fn folder_id(&self) -> ::std::option::Option<&str> {
32 self.folder_id.as_deref()
33 }
34 pub fn name(&self) -> ::std::option::Option<&str> {
36 self.name.as_deref()
37 }
38 pub fn folder_type(&self) -> ::std::option::Option<&crate::types::FolderType> {
40 self.folder_type.as_ref()
41 }
42 pub fn parent_folder_arn(&self) -> ::std::option::Option<&str> {
45 self.parent_folder_arn.as_deref()
46 }
47 pub fn permissions(&self) -> &[crate::types::ResourcePermission] {
52 self.permissions.as_deref().unwrap_or_default()
53 }
54 pub fn tags(&self) -> &[crate::types::Tag] {
58 self.tags.as_deref().unwrap_or_default()
59 }
60 pub fn sharing_model(&self) -> ::std::option::Option<&crate::types::SharingModel> {
62 self.sharing_model.as_ref()
63 }
64}
65impl CreateFolderInput {
66 pub fn builder() -> crate::operation::create_folder::builders::CreateFolderInputBuilder {
68 crate::operation::create_folder::builders::CreateFolderInputBuilder::default()
69 }
70}
71
72#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
74#[non_exhaustive]
75pub struct CreateFolderInputBuilder {
76 pub(crate) aws_account_id: ::std::option::Option<::std::string::String>,
77 pub(crate) folder_id: ::std::option::Option<::std::string::String>,
78 pub(crate) name: ::std::option::Option<::std::string::String>,
79 pub(crate) folder_type: ::std::option::Option<crate::types::FolderType>,
80 pub(crate) parent_folder_arn: ::std::option::Option<::std::string::String>,
81 pub(crate) permissions: ::std::option::Option<::std::vec::Vec<crate::types::ResourcePermission>>,
82 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
83 pub(crate) sharing_model: ::std::option::Option<crate::types::SharingModel>,
84}
85impl CreateFolderInputBuilder {
86 pub fn aws_account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
89 self.aws_account_id = ::std::option::Option::Some(input.into());
90 self
91 }
92 pub fn set_aws_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
94 self.aws_account_id = input;
95 self
96 }
97 pub fn get_aws_account_id(&self) -> &::std::option::Option<::std::string::String> {
99 &self.aws_account_id
100 }
101 pub fn folder_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
104 self.folder_id = ::std::option::Option::Some(input.into());
105 self
106 }
107 pub fn set_folder_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
109 self.folder_id = input;
110 self
111 }
112 pub fn get_folder_id(&self) -> &::std::option::Option<::std::string::String> {
114 &self.folder_id
115 }
116 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
118 self.name = ::std::option::Option::Some(input.into());
119 self
120 }
121 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
123 self.name = input;
124 self
125 }
126 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
128 &self.name
129 }
130 pub fn folder_type(mut self, input: crate::types::FolderType) -> Self {
132 self.folder_type = ::std::option::Option::Some(input);
133 self
134 }
135 pub fn set_folder_type(mut self, input: ::std::option::Option<crate::types::FolderType>) -> Self {
137 self.folder_type = input;
138 self
139 }
140 pub fn get_folder_type(&self) -> &::std::option::Option<crate::types::FolderType> {
142 &self.folder_type
143 }
144 pub fn parent_folder_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
147 self.parent_folder_arn = ::std::option::Option::Some(input.into());
148 self
149 }
150 pub fn set_parent_folder_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
153 self.parent_folder_arn = input;
154 self
155 }
156 pub fn get_parent_folder_arn(&self) -> &::std::option::Option<::std::string::String> {
159 &self.parent_folder_arn
160 }
161 pub fn permissions(mut self, input: crate::types::ResourcePermission) -> Self {
168 let mut v = self.permissions.unwrap_or_default();
169 v.push(input);
170 self.permissions = ::std::option::Option::Some(v);
171 self
172 }
173 pub fn set_permissions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ResourcePermission>>) -> Self {
176 self.permissions = input;
177 self
178 }
179 pub fn get_permissions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ResourcePermission>> {
182 &self.permissions
183 }
184 pub fn tags(mut self, input: crate::types::Tag) -> Self {
190 let mut v = self.tags.unwrap_or_default();
191 v.push(input);
192 self.tags = ::std::option::Option::Some(v);
193 self
194 }
195 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
197 self.tags = input;
198 self
199 }
200 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
202 &self.tags
203 }
204 pub fn sharing_model(mut self, input: crate::types::SharingModel) -> Self {
206 self.sharing_model = ::std::option::Option::Some(input);
207 self
208 }
209 pub fn set_sharing_model(mut self, input: ::std::option::Option<crate::types::SharingModel>) -> Self {
211 self.sharing_model = input;
212 self
213 }
214 pub fn get_sharing_model(&self) -> &::std::option::Option<crate::types::SharingModel> {
216 &self.sharing_model
217 }
218 pub fn build(
220 self,
221 ) -> ::std::result::Result<crate::operation::create_folder::CreateFolderInput, ::aws_smithy_types::error::operation::BuildError> {
222 ::std::result::Result::Ok(crate::operation::create_folder::CreateFolderInput {
223 aws_account_id: self.aws_account_id,
224 folder_id: self.folder_id,
225 name: self.name,
226 folder_type: self.folder_type,
227 parent_folder_arn: self.parent_folder_arn,
228 permissions: self.permissions,
229 tags: self.tags,
230 sharing_model: self.sharing_model,
231 })
232 }
233}