aws_sdk_nimble/types/
_launch_profile_initialization.rs1#[non_exhaustive]
6#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
7pub struct LaunchProfileInitialization {
8 pub active_directory: ::std::option::Option<crate::types::LaunchProfileInitializationActiveDirectory>,
10 pub ec2_security_group_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
12 pub launch_profile_id: ::std::option::Option<::std::string::String>,
14 pub launch_profile_protocol_version: ::std::option::Option<::std::string::String>,
16 pub launch_purpose: ::std::option::Option<::std::string::String>,
18 pub name: ::std::option::Option<::std::string::String>,
20 pub platform: ::std::option::Option<crate::types::LaunchProfilePlatform>,
22 pub system_initialization_scripts: ::std::option::Option<::std::vec::Vec<crate::types::LaunchProfileInitializationScript>>,
24 pub user_initialization_scripts: ::std::option::Option<::std::vec::Vec<crate::types::LaunchProfileInitializationScript>>,
26}
27impl LaunchProfileInitialization {
28 pub fn active_directory(&self) -> ::std::option::Option<&crate::types::LaunchProfileInitializationActiveDirectory> {
30 self.active_directory.as_ref()
31 }
32 pub fn ec2_security_group_ids(&self) -> &[::std::string::String] {
36 self.ec2_security_group_ids.as_deref().unwrap_or_default()
37 }
38 pub fn launch_profile_id(&self) -> ::std::option::Option<&str> {
40 self.launch_profile_id.as_deref()
41 }
42 pub fn launch_profile_protocol_version(&self) -> ::std::option::Option<&str> {
44 self.launch_profile_protocol_version.as_deref()
45 }
46 pub fn launch_purpose(&self) -> ::std::option::Option<&str> {
48 self.launch_purpose.as_deref()
49 }
50 pub fn name(&self) -> ::std::option::Option<&str> {
52 self.name.as_deref()
53 }
54 pub fn platform(&self) -> ::std::option::Option<&crate::types::LaunchProfilePlatform> {
56 self.platform.as_ref()
57 }
58 pub fn system_initialization_scripts(&self) -> &[crate::types::LaunchProfileInitializationScript] {
62 self.system_initialization_scripts.as_deref().unwrap_or_default()
63 }
64 pub fn user_initialization_scripts(&self) -> &[crate::types::LaunchProfileInitializationScript] {
68 self.user_initialization_scripts.as_deref().unwrap_or_default()
69 }
70}
71impl ::std::fmt::Debug for LaunchProfileInitialization {
72 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
73 let mut formatter = f.debug_struct("LaunchProfileInitialization");
74 formatter.field("active_directory", &self.active_directory);
75 formatter.field("ec2_security_group_ids", &self.ec2_security_group_ids);
76 formatter.field("launch_profile_id", &self.launch_profile_id);
77 formatter.field("launch_profile_protocol_version", &self.launch_profile_protocol_version);
78 formatter.field("launch_purpose", &self.launch_purpose);
79 formatter.field("name", &"*** Sensitive Data Redacted ***");
80 formatter.field("platform", &self.platform);
81 formatter.field("system_initialization_scripts", &self.system_initialization_scripts);
82 formatter.field("user_initialization_scripts", &self.user_initialization_scripts);
83 formatter.finish()
84 }
85}
86impl LaunchProfileInitialization {
87 pub fn builder() -> crate::types::builders::LaunchProfileInitializationBuilder {
89 crate::types::builders::LaunchProfileInitializationBuilder::default()
90 }
91}
92
93#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
95#[non_exhaustive]
96pub struct LaunchProfileInitializationBuilder {
97 pub(crate) active_directory: ::std::option::Option<crate::types::LaunchProfileInitializationActiveDirectory>,
98 pub(crate) ec2_security_group_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
99 pub(crate) launch_profile_id: ::std::option::Option<::std::string::String>,
100 pub(crate) launch_profile_protocol_version: ::std::option::Option<::std::string::String>,
101 pub(crate) launch_purpose: ::std::option::Option<::std::string::String>,
102 pub(crate) name: ::std::option::Option<::std::string::String>,
103 pub(crate) platform: ::std::option::Option<crate::types::LaunchProfilePlatform>,
104 pub(crate) system_initialization_scripts: ::std::option::Option<::std::vec::Vec<crate::types::LaunchProfileInitializationScript>>,
105 pub(crate) user_initialization_scripts: ::std::option::Option<::std::vec::Vec<crate::types::LaunchProfileInitializationScript>>,
106}
107impl LaunchProfileInitializationBuilder {
108 pub fn active_directory(mut self, input: crate::types::LaunchProfileInitializationActiveDirectory) -> Self {
110 self.active_directory = ::std::option::Option::Some(input);
111 self
112 }
113 pub fn set_active_directory(mut self, input: ::std::option::Option<crate::types::LaunchProfileInitializationActiveDirectory>) -> Self {
115 self.active_directory = input;
116 self
117 }
118 pub fn get_active_directory(&self) -> &::std::option::Option<crate::types::LaunchProfileInitializationActiveDirectory> {
120 &self.active_directory
121 }
122 pub fn ec2_security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
128 let mut v = self.ec2_security_group_ids.unwrap_or_default();
129 v.push(input.into());
130 self.ec2_security_group_ids = ::std::option::Option::Some(v);
131 self
132 }
133 pub fn set_ec2_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
135 self.ec2_security_group_ids = input;
136 self
137 }
138 pub fn get_ec2_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
140 &self.ec2_security_group_ids
141 }
142 pub fn launch_profile_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
144 self.launch_profile_id = ::std::option::Option::Some(input.into());
145 self
146 }
147 pub fn set_launch_profile_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
149 self.launch_profile_id = input;
150 self
151 }
152 pub fn get_launch_profile_id(&self) -> &::std::option::Option<::std::string::String> {
154 &self.launch_profile_id
155 }
156 pub fn launch_profile_protocol_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
158 self.launch_profile_protocol_version = ::std::option::Option::Some(input.into());
159 self
160 }
161 pub fn set_launch_profile_protocol_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
163 self.launch_profile_protocol_version = input;
164 self
165 }
166 pub fn get_launch_profile_protocol_version(&self) -> &::std::option::Option<::std::string::String> {
168 &self.launch_profile_protocol_version
169 }
170 pub fn launch_purpose(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
172 self.launch_purpose = ::std::option::Option::Some(input.into());
173 self
174 }
175 pub fn set_launch_purpose(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
177 self.launch_purpose = input;
178 self
179 }
180 pub fn get_launch_purpose(&self) -> &::std::option::Option<::std::string::String> {
182 &self.launch_purpose
183 }
184 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
186 self.name = ::std::option::Option::Some(input.into());
187 self
188 }
189 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
191 self.name = input;
192 self
193 }
194 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
196 &self.name
197 }
198 pub fn platform(mut self, input: crate::types::LaunchProfilePlatform) -> Self {
200 self.platform = ::std::option::Option::Some(input);
201 self
202 }
203 pub fn set_platform(mut self, input: ::std::option::Option<crate::types::LaunchProfilePlatform>) -> Self {
205 self.platform = input;
206 self
207 }
208 pub fn get_platform(&self) -> &::std::option::Option<crate::types::LaunchProfilePlatform> {
210 &self.platform
211 }
212 pub fn system_initialization_scripts(mut self, input: crate::types::LaunchProfileInitializationScript) -> Self {
218 let mut v = self.system_initialization_scripts.unwrap_or_default();
219 v.push(input);
220 self.system_initialization_scripts = ::std::option::Option::Some(v);
221 self
222 }
223 pub fn set_system_initialization_scripts(
225 mut self,
226 input: ::std::option::Option<::std::vec::Vec<crate::types::LaunchProfileInitializationScript>>,
227 ) -> Self {
228 self.system_initialization_scripts = input;
229 self
230 }
231 pub fn get_system_initialization_scripts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::LaunchProfileInitializationScript>> {
233 &self.system_initialization_scripts
234 }
235 pub fn user_initialization_scripts(mut self, input: crate::types::LaunchProfileInitializationScript) -> Self {
241 let mut v = self.user_initialization_scripts.unwrap_or_default();
242 v.push(input);
243 self.user_initialization_scripts = ::std::option::Option::Some(v);
244 self
245 }
246 pub fn set_user_initialization_scripts(
248 mut self,
249 input: ::std::option::Option<::std::vec::Vec<crate::types::LaunchProfileInitializationScript>>,
250 ) -> Self {
251 self.user_initialization_scripts = input;
252 self
253 }
254 pub fn get_user_initialization_scripts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::LaunchProfileInitializationScript>> {
256 &self.user_initialization_scripts
257 }
258 pub fn build(self) -> crate::types::LaunchProfileInitialization {
260 crate::types::LaunchProfileInitialization {
261 active_directory: self.active_directory,
262 ec2_security_group_ids: self.ec2_security_group_ids,
263 launch_profile_id: self.launch_profile_id,
264 launch_profile_protocol_version: self.launch_profile_protocol_version,
265 launch_purpose: self.launch_purpose,
266 name: self.name,
267 platform: self.platform,
268 system_initialization_scripts: self.system_initialization_scripts,
269 user_initialization_scripts: self.user_initialization_scripts,
270 }
271 }
272}
273impl ::std::fmt::Debug for LaunchProfileInitializationBuilder {
274 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
275 let mut formatter = f.debug_struct("LaunchProfileInitializationBuilder");
276 formatter.field("active_directory", &self.active_directory);
277 formatter.field("ec2_security_group_ids", &self.ec2_security_group_ids);
278 formatter.field("launch_profile_id", &self.launch_profile_id);
279 formatter.field("launch_profile_protocol_version", &self.launch_profile_protocol_version);
280 formatter.field("launch_purpose", &self.launch_purpose);
281 formatter.field("name", &"*** Sensitive Data Redacted ***");
282 formatter.field("platform", &self.platform);
283 formatter.field("system_initialization_scripts", &self.system_initialization_scripts);
284 formatter.field("user_initialization_scripts", &self.user_initialization_scripts);
285 formatter.finish()
286 }
287}