aws_sdk_appstream/operation/update_stack/
_update_stack_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct UpdateStackInput {
6 pub display_name: ::std::option::Option<::std::string::String>,
8 pub description: ::std::option::Option<::std::string::String>,
10 pub name: ::std::option::Option<::std::string::String>,
12 pub storage_connectors: ::std::option::Option<::std::vec::Vec<crate::types::StorageConnector>>,
14 #[deprecated]
16 pub delete_storage_connectors: ::std::option::Option<bool>,
17 pub redirect_url: ::std::option::Option<::std::string::String>,
19 pub feedback_url: ::std::option::Option<::std::string::String>,
21 pub attributes_to_delete: ::std::option::Option<::std::vec::Vec<crate::types::StackAttribute>>,
23 pub user_settings: ::std::option::Option<::std::vec::Vec<crate::types::UserSetting>>,
25 pub application_settings: ::std::option::Option<crate::types::ApplicationSettings>,
27 pub access_endpoints: ::std::option::Option<::std::vec::Vec<crate::types::AccessEndpoint>>,
29 pub embed_host_domains: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
31 pub streaming_experience_settings: ::std::option::Option<crate::types::StreamingExperienceSettings>,
33 pub content_redirection: ::std::option::Option<crate::types::ContentRedirection>,
35}
36impl UpdateStackInput {
37 pub fn display_name(&self) -> ::std::option::Option<&str> {
39 self.display_name.as_deref()
40 }
41 pub fn description(&self) -> ::std::option::Option<&str> {
43 self.description.as_deref()
44 }
45 pub fn name(&self) -> ::std::option::Option<&str> {
47 self.name.as_deref()
48 }
49 pub fn storage_connectors(&self) -> &[crate::types::StorageConnector] {
53 self.storage_connectors.as_deref().unwrap_or_default()
54 }
55 #[deprecated]
57 pub fn delete_storage_connectors(&self) -> ::std::option::Option<bool> {
58 self.delete_storage_connectors
59 }
60 pub fn redirect_url(&self) -> ::std::option::Option<&str> {
62 self.redirect_url.as_deref()
63 }
64 pub fn feedback_url(&self) -> ::std::option::Option<&str> {
66 self.feedback_url.as_deref()
67 }
68 pub fn attributes_to_delete(&self) -> &[crate::types::StackAttribute] {
72 self.attributes_to_delete.as_deref().unwrap_or_default()
73 }
74 pub fn user_settings(&self) -> &[crate::types::UserSetting] {
78 self.user_settings.as_deref().unwrap_or_default()
79 }
80 pub fn application_settings(&self) -> ::std::option::Option<&crate::types::ApplicationSettings> {
82 self.application_settings.as_ref()
83 }
84 pub fn access_endpoints(&self) -> &[crate::types::AccessEndpoint] {
88 self.access_endpoints.as_deref().unwrap_or_default()
89 }
90 pub fn embed_host_domains(&self) -> &[::std::string::String] {
94 self.embed_host_domains.as_deref().unwrap_or_default()
95 }
96 pub fn streaming_experience_settings(&self) -> ::std::option::Option<&crate::types::StreamingExperienceSettings> {
98 self.streaming_experience_settings.as_ref()
99 }
100 pub fn content_redirection(&self) -> ::std::option::Option<&crate::types::ContentRedirection> {
102 self.content_redirection.as_ref()
103 }
104}
105impl UpdateStackInput {
106 pub fn builder() -> crate::operation::update_stack::builders::UpdateStackInputBuilder {
108 crate::operation::update_stack::builders::UpdateStackInputBuilder::default()
109 }
110}
111
112#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
114#[non_exhaustive]
115pub struct UpdateStackInputBuilder {
116 pub(crate) display_name: ::std::option::Option<::std::string::String>,
117 pub(crate) description: ::std::option::Option<::std::string::String>,
118 pub(crate) name: ::std::option::Option<::std::string::String>,
119 pub(crate) storage_connectors: ::std::option::Option<::std::vec::Vec<crate::types::StorageConnector>>,
120 pub(crate) delete_storage_connectors: ::std::option::Option<bool>,
121 pub(crate) redirect_url: ::std::option::Option<::std::string::String>,
122 pub(crate) feedback_url: ::std::option::Option<::std::string::String>,
123 pub(crate) attributes_to_delete: ::std::option::Option<::std::vec::Vec<crate::types::StackAttribute>>,
124 pub(crate) user_settings: ::std::option::Option<::std::vec::Vec<crate::types::UserSetting>>,
125 pub(crate) application_settings: ::std::option::Option<crate::types::ApplicationSettings>,
126 pub(crate) access_endpoints: ::std::option::Option<::std::vec::Vec<crate::types::AccessEndpoint>>,
127 pub(crate) embed_host_domains: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
128 pub(crate) streaming_experience_settings: ::std::option::Option<crate::types::StreamingExperienceSettings>,
129 pub(crate) content_redirection: ::std::option::Option<crate::types::ContentRedirection>,
130}
131impl UpdateStackInputBuilder {
132 pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
134 self.display_name = ::std::option::Option::Some(input.into());
135 self
136 }
137 pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
139 self.display_name = input;
140 self
141 }
142 pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
144 &self.display_name
145 }
146 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
148 self.description = ::std::option::Option::Some(input.into());
149 self
150 }
151 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
153 self.description = input;
154 self
155 }
156 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
158 &self.description
159 }
160 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
163 self.name = ::std::option::Option::Some(input.into());
164 self
165 }
166 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
168 self.name = input;
169 self
170 }
171 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
173 &self.name
174 }
175 pub fn storage_connectors(mut self, input: crate::types::StorageConnector) -> Self {
181 let mut v = self.storage_connectors.unwrap_or_default();
182 v.push(input);
183 self.storage_connectors = ::std::option::Option::Some(v);
184 self
185 }
186 pub fn set_storage_connectors(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::StorageConnector>>) -> Self {
188 self.storage_connectors = input;
189 self
190 }
191 pub fn get_storage_connectors(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::StorageConnector>> {
193 &self.storage_connectors
194 }
195 #[deprecated]
197 pub fn delete_storage_connectors(mut self, input: bool) -> Self {
198 self.delete_storage_connectors = ::std::option::Option::Some(input);
199 self
200 }
201 #[deprecated]
203 pub fn set_delete_storage_connectors(mut self, input: ::std::option::Option<bool>) -> Self {
204 self.delete_storage_connectors = input;
205 self
206 }
207 #[deprecated]
209 pub fn get_delete_storage_connectors(&self) -> &::std::option::Option<bool> {
210 &self.delete_storage_connectors
211 }
212 pub fn redirect_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
214 self.redirect_url = ::std::option::Option::Some(input.into());
215 self
216 }
217 pub fn set_redirect_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
219 self.redirect_url = input;
220 self
221 }
222 pub fn get_redirect_url(&self) -> &::std::option::Option<::std::string::String> {
224 &self.redirect_url
225 }
226 pub fn feedback_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
228 self.feedback_url = ::std::option::Option::Some(input.into());
229 self
230 }
231 pub fn set_feedback_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
233 self.feedback_url = input;
234 self
235 }
236 pub fn get_feedback_url(&self) -> &::std::option::Option<::std::string::String> {
238 &self.feedback_url
239 }
240 pub fn attributes_to_delete(mut self, input: crate::types::StackAttribute) -> Self {
246 let mut v = self.attributes_to_delete.unwrap_or_default();
247 v.push(input);
248 self.attributes_to_delete = ::std::option::Option::Some(v);
249 self
250 }
251 pub fn set_attributes_to_delete(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::StackAttribute>>) -> Self {
253 self.attributes_to_delete = input;
254 self
255 }
256 pub fn get_attributes_to_delete(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::StackAttribute>> {
258 &self.attributes_to_delete
259 }
260 pub fn user_settings(mut self, input: crate::types::UserSetting) -> Self {
266 let mut v = self.user_settings.unwrap_or_default();
267 v.push(input);
268 self.user_settings = ::std::option::Option::Some(v);
269 self
270 }
271 pub fn set_user_settings(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::UserSetting>>) -> Self {
273 self.user_settings = input;
274 self
275 }
276 pub fn get_user_settings(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::UserSetting>> {
278 &self.user_settings
279 }
280 pub fn application_settings(mut self, input: crate::types::ApplicationSettings) -> Self {
282 self.application_settings = ::std::option::Option::Some(input);
283 self
284 }
285 pub fn set_application_settings(mut self, input: ::std::option::Option<crate::types::ApplicationSettings>) -> Self {
287 self.application_settings = input;
288 self
289 }
290 pub fn get_application_settings(&self) -> &::std::option::Option<crate::types::ApplicationSettings> {
292 &self.application_settings
293 }
294 pub fn access_endpoints(mut self, input: crate::types::AccessEndpoint) -> Self {
300 let mut v = self.access_endpoints.unwrap_or_default();
301 v.push(input);
302 self.access_endpoints = ::std::option::Option::Some(v);
303 self
304 }
305 pub fn set_access_endpoints(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AccessEndpoint>>) -> Self {
307 self.access_endpoints = input;
308 self
309 }
310 pub fn get_access_endpoints(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AccessEndpoint>> {
312 &self.access_endpoints
313 }
314 pub fn embed_host_domains(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
320 let mut v = self.embed_host_domains.unwrap_or_default();
321 v.push(input.into());
322 self.embed_host_domains = ::std::option::Option::Some(v);
323 self
324 }
325 pub fn set_embed_host_domains(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
327 self.embed_host_domains = input;
328 self
329 }
330 pub fn get_embed_host_domains(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
332 &self.embed_host_domains
333 }
334 pub fn streaming_experience_settings(mut self, input: crate::types::StreamingExperienceSettings) -> Self {
336 self.streaming_experience_settings = ::std::option::Option::Some(input);
337 self
338 }
339 pub fn set_streaming_experience_settings(mut self, input: ::std::option::Option<crate::types::StreamingExperienceSettings>) -> Self {
341 self.streaming_experience_settings = input;
342 self
343 }
344 pub fn get_streaming_experience_settings(&self) -> &::std::option::Option<crate::types::StreamingExperienceSettings> {
346 &self.streaming_experience_settings
347 }
348 pub fn content_redirection(mut self, input: crate::types::ContentRedirection) -> Self {
350 self.content_redirection = ::std::option::Option::Some(input);
351 self
352 }
353 pub fn set_content_redirection(mut self, input: ::std::option::Option<crate::types::ContentRedirection>) -> Self {
355 self.content_redirection = input;
356 self
357 }
358 pub fn get_content_redirection(&self) -> &::std::option::Option<crate::types::ContentRedirection> {
360 &self.content_redirection
361 }
362 pub fn build(self) -> ::std::result::Result<crate::operation::update_stack::UpdateStackInput, ::aws_smithy_types::error::operation::BuildError> {
364 ::std::result::Result::Ok(crate::operation::update_stack::UpdateStackInput {
365 display_name: self.display_name,
366 description: self.description,
367 name: self.name,
368 storage_connectors: self.storage_connectors,
369 delete_storage_connectors: self.delete_storage_connectors,
370 redirect_url: self.redirect_url,
371 feedback_url: self.feedback_url,
372 attributes_to_delete: self.attributes_to_delete,
373 user_settings: self.user_settings,
374 application_settings: self.application_settings,
375 access_endpoints: self.access_endpoints,
376 embed_host_domains: self.embed_host_domains,
377 streaming_experience_settings: self.streaming_experience_settings,
378 content_redirection: self.content_redirection,
379 })
380 }
381}