aws_sdk_workspacesweb/operation/create_browser_settings/
_create_browser_settings_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct CreateBrowserSettingsInput {
6 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
8 pub customer_managed_key: ::std::option::Option<::std::string::String>,
10 pub additional_encryption_context: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
12 pub browser_policy: ::std::option::Option<::std::string::String>,
14 pub client_token: ::std::option::Option<::std::string::String>,
17 pub web_content_filtering_policy: ::std::option::Option<crate::types::WebContentFilteringPolicy>,
19}
20impl CreateBrowserSettingsInput {
21 pub fn tags(&self) -> &[crate::types::Tag] {
25 self.tags.as_deref().unwrap_or_default()
26 }
27 pub fn customer_managed_key(&self) -> ::std::option::Option<&str> {
29 self.customer_managed_key.as_deref()
30 }
31 pub fn additional_encryption_context(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
33 self.additional_encryption_context.as_ref()
34 }
35 pub fn browser_policy(&self) -> ::std::option::Option<&str> {
37 self.browser_policy.as_deref()
38 }
39 pub fn client_token(&self) -> ::std::option::Option<&str> {
42 self.client_token.as_deref()
43 }
44 pub fn web_content_filtering_policy(&self) -> ::std::option::Option<&crate::types::WebContentFilteringPolicy> {
46 self.web_content_filtering_policy.as_ref()
47 }
48}
49impl ::std::fmt::Debug for CreateBrowserSettingsInput {
50 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
51 let mut formatter = f.debug_struct("CreateBrowserSettingsInput");
52 formatter.field("tags", &"*** Sensitive Data Redacted ***");
53 formatter.field("customer_managed_key", &self.customer_managed_key);
54 formatter.field("additional_encryption_context", &self.additional_encryption_context);
55 formatter.field("browser_policy", &"*** Sensitive Data Redacted ***");
56 formatter.field("client_token", &self.client_token);
57 formatter.field("web_content_filtering_policy", &self.web_content_filtering_policy);
58 formatter.finish()
59 }
60}
61impl CreateBrowserSettingsInput {
62 pub fn builder() -> crate::operation::create_browser_settings::builders::CreateBrowserSettingsInputBuilder {
64 crate::operation::create_browser_settings::builders::CreateBrowserSettingsInputBuilder::default()
65 }
66}
67
68#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
70#[non_exhaustive]
71pub struct CreateBrowserSettingsInputBuilder {
72 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
73 pub(crate) customer_managed_key: ::std::option::Option<::std::string::String>,
74 pub(crate) additional_encryption_context: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
75 pub(crate) browser_policy: ::std::option::Option<::std::string::String>,
76 pub(crate) client_token: ::std::option::Option<::std::string::String>,
77 pub(crate) web_content_filtering_policy: ::std::option::Option<crate::types::WebContentFilteringPolicy>,
78}
79impl CreateBrowserSettingsInputBuilder {
80 pub fn tags(mut self, input: crate::types::Tag) -> Self {
86 let mut v = self.tags.unwrap_or_default();
87 v.push(input);
88 self.tags = ::std::option::Option::Some(v);
89 self
90 }
91 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
93 self.tags = input;
94 self
95 }
96 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
98 &self.tags
99 }
100 pub fn customer_managed_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
102 self.customer_managed_key = ::std::option::Option::Some(input.into());
103 self
104 }
105 pub fn set_customer_managed_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
107 self.customer_managed_key = input;
108 self
109 }
110 pub fn get_customer_managed_key(&self) -> &::std::option::Option<::std::string::String> {
112 &self.customer_managed_key
113 }
114 pub fn additional_encryption_context(
120 mut self,
121 k: impl ::std::convert::Into<::std::string::String>,
122 v: impl ::std::convert::Into<::std::string::String>,
123 ) -> Self {
124 let mut hash_map = self.additional_encryption_context.unwrap_or_default();
125 hash_map.insert(k.into(), v.into());
126 self.additional_encryption_context = ::std::option::Option::Some(hash_map);
127 self
128 }
129 pub fn set_additional_encryption_context(
131 mut self,
132 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
133 ) -> Self {
134 self.additional_encryption_context = input;
135 self
136 }
137 pub fn get_additional_encryption_context(
139 &self,
140 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
141 &self.additional_encryption_context
142 }
143 pub fn browser_policy(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
145 self.browser_policy = ::std::option::Option::Some(input.into());
146 self
147 }
148 pub fn set_browser_policy(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
150 self.browser_policy = input;
151 self
152 }
153 pub fn get_browser_policy(&self) -> &::std::option::Option<::std::string::String> {
155 &self.browser_policy
156 }
157 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
160 self.client_token = ::std::option::Option::Some(input.into());
161 self
162 }
163 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
166 self.client_token = input;
167 self
168 }
169 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
172 &self.client_token
173 }
174 pub fn web_content_filtering_policy(mut self, input: crate::types::WebContentFilteringPolicy) -> Self {
176 self.web_content_filtering_policy = ::std::option::Option::Some(input);
177 self
178 }
179 pub fn set_web_content_filtering_policy(mut self, input: ::std::option::Option<crate::types::WebContentFilteringPolicy>) -> Self {
181 self.web_content_filtering_policy = input;
182 self
183 }
184 pub fn get_web_content_filtering_policy(&self) -> &::std::option::Option<crate::types::WebContentFilteringPolicy> {
186 &self.web_content_filtering_policy
187 }
188 pub fn build(
190 self,
191 ) -> ::std::result::Result<crate::operation::create_browser_settings::CreateBrowserSettingsInput, ::aws_smithy_types::error::operation::BuildError>
192 {
193 ::std::result::Result::Ok(crate::operation::create_browser_settings::CreateBrowserSettingsInput {
194 tags: self.tags,
195 customer_managed_key: self.customer_managed_key,
196 additional_encryption_context: self.additional_encryption_context,
197 browser_policy: self.browser_policy,
198 client_token: self.client_token,
199 web_content_filtering_policy: self.web_content_filtering_policy,
200 })
201 }
202}
203impl ::std::fmt::Debug for CreateBrowserSettingsInputBuilder {
204 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
205 let mut formatter = f.debug_struct("CreateBrowserSettingsInputBuilder");
206 formatter.field("tags", &"*** Sensitive Data Redacted ***");
207 formatter.field("customer_managed_key", &self.customer_managed_key);
208 formatter.field("additional_encryption_context", &self.additional_encryption_context);
209 formatter.field("browser_policy", &"*** Sensitive Data Redacted ***");
210 formatter.field("client_token", &self.client_token);
211 formatter.field("web_content_filtering_policy", &self.web_content_filtering_policy);
212 formatter.finish()
213 }
214}