aws_sdk_datazone/operation/create_project/
_create_project_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct CreateProjectInput {
6 pub domain_identifier: ::std::option::Option<::std::string::String>,
8 pub name: ::std::option::Option<::std::string::String>,
10 pub description: ::std::option::Option<::std::string::String>,
12 pub resource_tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
14 pub glossary_terms: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
16 pub domain_unit_id: ::std::option::Option<::std::string::String>,
18 pub project_profile_id: ::std::option::Option<::std::string::String>,
20 pub user_parameters: ::std::option::Option<::std::vec::Vec<crate::types::EnvironmentConfigurationUserParameter>>,
22 pub project_category: ::std::option::Option<::std::string::String>,
24 pub project_execution_role: ::std::option::Option<::std::string::String>,
26 pub membership_assignments: ::std::option::Option<::std::vec::Vec<crate::types::ProjectMembershipAssignment>>,
28}
29impl CreateProjectInput {
30 pub fn domain_identifier(&self) -> ::std::option::Option<&str> {
32 self.domain_identifier.as_deref()
33 }
34 pub fn name(&self) -> ::std::option::Option<&str> {
36 self.name.as_deref()
37 }
38 pub fn description(&self) -> ::std::option::Option<&str> {
40 self.description.as_deref()
41 }
42 pub fn resource_tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
44 self.resource_tags.as_ref()
45 }
46 pub fn glossary_terms(&self) -> &[::std::string::String] {
50 self.glossary_terms.as_deref().unwrap_or_default()
51 }
52 pub fn domain_unit_id(&self) -> ::std::option::Option<&str> {
54 self.domain_unit_id.as_deref()
55 }
56 pub fn project_profile_id(&self) -> ::std::option::Option<&str> {
58 self.project_profile_id.as_deref()
59 }
60 pub fn user_parameters(&self) -> &[crate::types::EnvironmentConfigurationUserParameter] {
64 self.user_parameters.as_deref().unwrap_or_default()
65 }
66 pub fn project_category(&self) -> ::std::option::Option<&str> {
68 self.project_category.as_deref()
69 }
70 pub fn project_execution_role(&self) -> ::std::option::Option<&str> {
72 self.project_execution_role.as_deref()
73 }
74 pub fn membership_assignments(&self) -> &[crate::types::ProjectMembershipAssignment] {
78 self.membership_assignments.as_deref().unwrap_or_default()
79 }
80}
81impl ::std::fmt::Debug for CreateProjectInput {
82 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
83 let mut formatter = f.debug_struct("CreateProjectInput");
84 formatter.field("domain_identifier", &self.domain_identifier);
85 formatter.field("name", &"*** Sensitive Data Redacted ***");
86 formatter.field("description", &"*** Sensitive Data Redacted ***");
87 formatter.field("resource_tags", &self.resource_tags);
88 formatter.field("glossary_terms", &self.glossary_terms);
89 formatter.field("domain_unit_id", &self.domain_unit_id);
90 formatter.field("project_profile_id", &self.project_profile_id);
91 formatter.field("user_parameters", &self.user_parameters);
92 formatter.field("project_category", &self.project_category);
93 formatter.field("project_execution_role", &self.project_execution_role);
94 formatter.field("membership_assignments", &self.membership_assignments);
95 formatter.finish()
96 }
97}
98impl CreateProjectInput {
99 pub fn builder() -> crate::operation::create_project::builders::CreateProjectInputBuilder {
101 crate::operation::create_project::builders::CreateProjectInputBuilder::default()
102 }
103}
104
105#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
107#[non_exhaustive]
108pub struct CreateProjectInputBuilder {
109 pub(crate) domain_identifier: ::std::option::Option<::std::string::String>,
110 pub(crate) name: ::std::option::Option<::std::string::String>,
111 pub(crate) description: ::std::option::Option<::std::string::String>,
112 pub(crate) resource_tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
113 pub(crate) glossary_terms: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
114 pub(crate) domain_unit_id: ::std::option::Option<::std::string::String>,
115 pub(crate) project_profile_id: ::std::option::Option<::std::string::String>,
116 pub(crate) user_parameters: ::std::option::Option<::std::vec::Vec<crate::types::EnvironmentConfigurationUserParameter>>,
117 pub(crate) project_category: ::std::option::Option<::std::string::String>,
118 pub(crate) project_execution_role: ::std::option::Option<::std::string::String>,
119 pub(crate) membership_assignments: ::std::option::Option<::std::vec::Vec<crate::types::ProjectMembershipAssignment>>,
120}
121impl CreateProjectInputBuilder {
122 pub fn domain_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
125 self.domain_identifier = ::std::option::Option::Some(input.into());
126 self
127 }
128 pub fn set_domain_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
130 self.domain_identifier = input;
131 self
132 }
133 pub fn get_domain_identifier(&self) -> &::std::option::Option<::std::string::String> {
135 &self.domain_identifier
136 }
137 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
140 self.name = ::std::option::Option::Some(input.into());
141 self
142 }
143 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
145 self.name = input;
146 self
147 }
148 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
150 &self.name
151 }
152 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
154 self.description = ::std::option::Option::Some(input.into());
155 self
156 }
157 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
159 self.description = input;
160 self
161 }
162 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
164 &self.description
165 }
166 pub fn resource_tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
172 let mut hash_map = self.resource_tags.unwrap_or_default();
173 hash_map.insert(k.into(), v.into());
174 self.resource_tags = ::std::option::Option::Some(hash_map);
175 self
176 }
177 pub fn set_resource_tags(
179 mut self,
180 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
181 ) -> Self {
182 self.resource_tags = input;
183 self
184 }
185 pub fn get_resource_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
187 &self.resource_tags
188 }
189 pub fn glossary_terms(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
195 let mut v = self.glossary_terms.unwrap_or_default();
196 v.push(input.into());
197 self.glossary_terms = ::std::option::Option::Some(v);
198 self
199 }
200 pub fn set_glossary_terms(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
202 self.glossary_terms = input;
203 self
204 }
205 pub fn get_glossary_terms(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
207 &self.glossary_terms
208 }
209 pub fn domain_unit_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
211 self.domain_unit_id = ::std::option::Option::Some(input.into());
212 self
213 }
214 pub fn set_domain_unit_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
216 self.domain_unit_id = input;
217 self
218 }
219 pub fn get_domain_unit_id(&self) -> &::std::option::Option<::std::string::String> {
221 &self.domain_unit_id
222 }
223 pub fn project_profile_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
225 self.project_profile_id = ::std::option::Option::Some(input.into());
226 self
227 }
228 pub fn set_project_profile_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
230 self.project_profile_id = input;
231 self
232 }
233 pub fn get_project_profile_id(&self) -> &::std::option::Option<::std::string::String> {
235 &self.project_profile_id
236 }
237 pub fn user_parameters(mut self, input: crate::types::EnvironmentConfigurationUserParameter) -> Self {
243 let mut v = self.user_parameters.unwrap_or_default();
244 v.push(input);
245 self.user_parameters = ::std::option::Option::Some(v);
246 self
247 }
248 pub fn set_user_parameters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::EnvironmentConfigurationUserParameter>>) -> Self {
250 self.user_parameters = input;
251 self
252 }
253 pub fn get_user_parameters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::EnvironmentConfigurationUserParameter>> {
255 &self.user_parameters
256 }
257 pub fn project_category(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
259 self.project_category = ::std::option::Option::Some(input.into());
260 self
261 }
262 pub fn set_project_category(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
264 self.project_category = input;
265 self
266 }
267 pub fn get_project_category(&self) -> &::std::option::Option<::std::string::String> {
269 &self.project_category
270 }
271 pub fn project_execution_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
273 self.project_execution_role = ::std::option::Option::Some(input.into());
274 self
275 }
276 pub fn set_project_execution_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
278 self.project_execution_role = input;
279 self
280 }
281 pub fn get_project_execution_role(&self) -> &::std::option::Option<::std::string::String> {
283 &self.project_execution_role
284 }
285 pub fn membership_assignments(mut self, input: crate::types::ProjectMembershipAssignment) -> Self {
291 let mut v = self.membership_assignments.unwrap_or_default();
292 v.push(input);
293 self.membership_assignments = ::std::option::Option::Some(v);
294 self
295 }
296 pub fn set_membership_assignments(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ProjectMembershipAssignment>>) -> Self {
298 self.membership_assignments = input;
299 self
300 }
301 pub fn get_membership_assignments(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ProjectMembershipAssignment>> {
303 &self.membership_assignments
304 }
305 pub fn build(
307 self,
308 ) -> ::std::result::Result<crate::operation::create_project::CreateProjectInput, ::aws_smithy_types::error::operation::BuildError> {
309 ::std::result::Result::Ok(crate::operation::create_project::CreateProjectInput {
310 domain_identifier: self.domain_identifier,
311 name: self.name,
312 description: self.description,
313 resource_tags: self.resource_tags,
314 glossary_terms: self.glossary_terms,
315 domain_unit_id: self.domain_unit_id,
316 project_profile_id: self.project_profile_id,
317 user_parameters: self.user_parameters,
318 project_category: self.project_category,
319 project_execution_role: self.project_execution_role,
320 membership_assignments: self.membership_assignments,
321 })
322 }
323}
324impl ::std::fmt::Debug for CreateProjectInputBuilder {
325 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
326 let mut formatter = f.debug_struct("CreateProjectInputBuilder");
327 formatter.field("domain_identifier", &self.domain_identifier);
328 formatter.field("name", &"*** Sensitive Data Redacted ***");
329 formatter.field("description", &"*** Sensitive Data Redacted ***");
330 formatter.field("resource_tags", &self.resource_tags);
331 formatter.field("glossary_terms", &self.glossary_terms);
332 formatter.field("domain_unit_id", &self.domain_unit_id);
333 formatter.field("project_profile_id", &self.project_profile_id);
334 formatter.field("user_parameters", &self.user_parameters);
335 formatter.field("project_category", &self.project_category);
336 formatter.field("project_execution_role", &self.project_execution_role);
337 formatter.field("membership_assignments", &self.membership_assignments);
338 formatter.finish()
339 }
340}