aws_sdk_grafana/operation/update_workspace/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_workspace::_update_workspace_output::UpdateWorkspaceOutputBuilder;
3
4pub use crate::operation::update_workspace::_update_workspace_input::UpdateWorkspaceInputBuilder;
5
6impl crate::operation::update_workspace::builders::UpdateWorkspaceInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::update_workspace::UpdateWorkspaceOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::update_workspace::UpdateWorkspaceError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.update_workspace();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `UpdateWorkspace`.
24///
25/// <p>Modifies an existing Amazon Managed Grafana workspace. If you use this operation and omit any optional parameters, the existing values of those parameters are not changed.</p>
26/// <p>To modify the user authentication methods that the workspace uses, such as SAML or IAM Identity Center, use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdateWorkspaceAuthentication.html">UpdateWorkspaceAuthentication</a>.</p>
27/// <p>To modify which users in the workspace have the <code>Admin</code> and <code>Editor</code> Grafana roles, use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdatePermissions.html">UpdatePermissions</a>.</p>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct UpdateWorkspaceFluentBuilder {
30 handle: ::std::sync::Arc<crate::client::Handle>,
31 inner: crate::operation::update_workspace::builders::UpdateWorkspaceInputBuilder,
32 config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35 crate::client::customize::internal::CustomizableSend<
36 crate::operation::update_workspace::UpdateWorkspaceOutput,
37 crate::operation::update_workspace::UpdateWorkspaceError,
38 > for UpdateWorkspaceFluentBuilder
39{
40 fn send(
41 self,
42 config_override: crate::config::Builder,
43 ) -> crate::client::customize::internal::BoxFuture<
44 crate::client::customize::internal::SendResult<
45 crate::operation::update_workspace::UpdateWorkspaceOutput,
46 crate::operation::update_workspace::UpdateWorkspaceError,
47 >,
48 > {
49 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50 }
51}
52impl UpdateWorkspaceFluentBuilder {
53 /// Creates a new `UpdateWorkspaceFluentBuilder`.
54 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55 Self {
56 handle,
57 inner: ::std::default::Default::default(),
58 config_override: ::std::option::Option::None,
59 }
60 }
61 /// Access the UpdateWorkspace as a reference.
62 pub fn as_input(&self) -> &crate::operation::update_workspace::builders::UpdateWorkspaceInputBuilder {
63 &self.inner
64 }
65 /// Sends the request and returns the response.
66 ///
67 /// If an error occurs, an `SdkError` will be returned with additional details that
68 /// can be matched against.
69 ///
70 /// By default, any retryable failures will be retried twice. Retry behavior
71 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72 /// set when configuring the client.
73 pub async fn send(
74 self,
75 ) -> ::std::result::Result<
76 crate::operation::update_workspace::UpdateWorkspaceOutput,
77 ::aws_smithy_runtime_api::client::result::SdkError<
78 crate::operation::update_workspace::UpdateWorkspaceError,
79 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80 >,
81 > {
82 let input = self
83 .inner
84 .build()
85 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86 let runtime_plugins = crate::operation::update_workspace::UpdateWorkspace::operation_runtime_plugins(
87 self.handle.runtime_plugins.clone(),
88 &self.handle.conf,
89 self.config_override,
90 );
91 crate::operation::update_workspace::UpdateWorkspace::orchestrate(&runtime_plugins, input).await
92 }
93
94 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95 pub fn customize(
96 self,
97 ) -> crate::client::customize::CustomizableOperation<
98 crate::operation::update_workspace::UpdateWorkspaceOutput,
99 crate::operation::update_workspace::UpdateWorkspaceError,
100 Self,
101 > {
102 crate::client::customize::CustomizableOperation::new(self)
103 }
104 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105 self.set_config_override(::std::option::Option::Some(config_override.into()));
106 self
107 }
108
109 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110 self.config_override = config_override;
111 self
112 }
113 /// <p>Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account only, or whether it can also access Amazon Web Services resources in other accounts in the same organization. If you specify <code>ORGANIZATION</code>, you must specify which organizational units the workspace can access in the <code>workspaceOrganizationalUnits</code> parameter.</p>
114 pub fn account_access_type(mut self, input: crate::types::AccountAccessType) -> Self {
115 self.inner = self.inner.account_access_type(input);
116 self
117 }
118 /// <p>Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account only, or whether it can also access Amazon Web Services resources in other accounts in the same organization. If you specify <code>ORGANIZATION</code>, you must specify which organizational units the workspace can access in the <code>workspaceOrganizationalUnits</code> parameter.</p>
119 pub fn set_account_access_type(mut self, input: ::std::option::Option<crate::types::AccountAccessType>) -> Self {
120 self.inner = self.inner.set_account_access_type(input);
121 self
122 }
123 /// <p>Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account only, or whether it can also access Amazon Web Services resources in other accounts in the same organization. If you specify <code>ORGANIZATION</code>, you must specify which organizational units the workspace can access in the <code>workspaceOrganizationalUnits</code> parameter.</p>
124 pub fn get_account_access_type(&self) -> &::std::option::Option<crate::types::AccountAccessType> {
125 self.inner.get_account_access_type()
126 }
127 /// <p>The name of an IAM role that already exists to use to access resources through Organizations. This can only be used with a workspace that has the <code>permissionType</code> set to <code>CUSTOMER_MANAGED</code>.</p>
128 pub fn organization_role_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129 self.inner = self.inner.organization_role_name(input.into());
130 self
131 }
132 /// <p>The name of an IAM role that already exists to use to access resources through Organizations. This can only be used with a workspace that has the <code>permissionType</code> set to <code>CUSTOMER_MANAGED</code>.</p>
133 pub fn set_organization_role_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134 self.inner = self.inner.set_organization_role_name(input);
135 self
136 }
137 /// <p>The name of an IAM role that already exists to use to access resources through Organizations. This can only be used with a workspace that has the <code>permissionType</code> set to <code>CUSTOMER_MANAGED</code>.</p>
138 pub fn get_organization_role_name(&self) -> &::std::option::Option<::std::string::String> {
139 self.inner.get_organization_role_name()
140 }
141 /// <p>Use this parameter if you want to change a workspace from <code>SERVICE_MANAGED</code> to <code>CUSTOMER_MANAGED</code>. This allows you to manage the permissions that the workspace uses to access datasources and notification channels. If the workspace is in a member Amazon Web Services account of an organization, and that account is not a delegated administrator account, and you want the workspace to access data sources in other Amazon Web Services accounts in the organization, you must choose <code>CUSTOMER_MANAGED</code>.</p>
142 /// <p>If you specify this as <code>CUSTOMER_MANAGED</code>, you must also specify a <code>workspaceRoleArn</code> that the workspace will use for accessing Amazon Web Services resources.</p>
143 /// <p>For more information on the role and permissions needed, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon Managed Grafana permissions and policies for Amazon Web Services data sources and notification channels</a></p><note>
144 /// <p>Do not use this to convert a <code>CUSTOMER_MANAGED</code> workspace to <code>SERVICE_MANAGED</code>. Do not include this parameter if you want to leave the workspace as <code>SERVICE_MANAGED</code>.</p>
145 /// <p>You can convert a <code>CUSTOMER_MANAGED</code> workspace to <code>SERVICE_MANAGED</code> using the Amazon Managed Grafana console. For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-datasource-and-notification.html">Managing permissions for data sources and notification channels</a>.</p>
146 /// </note>
147 pub fn permission_type(mut self, input: crate::types::PermissionType) -> Self {
148 self.inner = self.inner.permission_type(input);
149 self
150 }
151 /// <p>Use this parameter if you want to change a workspace from <code>SERVICE_MANAGED</code> to <code>CUSTOMER_MANAGED</code>. This allows you to manage the permissions that the workspace uses to access datasources and notification channels. If the workspace is in a member Amazon Web Services account of an organization, and that account is not a delegated administrator account, and you want the workspace to access data sources in other Amazon Web Services accounts in the organization, you must choose <code>CUSTOMER_MANAGED</code>.</p>
152 /// <p>If you specify this as <code>CUSTOMER_MANAGED</code>, you must also specify a <code>workspaceRoleArn</code> that the workspace will use for accessing Amazon Web Services resources.</p>
153 /// <p>For more information on the role and permissions needed, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon Managed Grafana permissions and policies for Amazon Web Services data sources and notification channels</a></p><note>
154 /// <p>Do not use this to convert a <code>CUSTOMER_MANAGED</code> workspace to <code>SERVICE_MANAGED</code>. Do not include this parameter if you want to leave the workspace as <code>SERVICE_MANAGED</code>.</p>
155 /// <p>You can convert a <code>CUSTOMER_MANAGED</code> workspace to <code>SERVICE_MANAGED</code> using the Amazon Managed Grafana console. For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-datasource-and-notification.html">Managing permissions for data sources and notification channels</a>.</p>
156 /// </note>
157 pub fn set_permission_type(mut self, input: ::std::option::Option<crate::types::PermissionType>) -> Self {
158 self.inner = self.inner.set_permission_type(input);
159 self
160 }
161 /// <p>Use this parameter if you want to change a workspace from <code>SERVICE_MANAGED</code> to <code>CUSTOMER_MANAGED</code>. This allows you to manage the permissions that the workspace uses to access datasources and notification channels. If the workspace is in a member Amazon Web Services account of an organization, and that account is not a delegated administrator account, and you want the workspace to access data sources in other Amazon Web Services accounts in the organization, you must choose <code>CUSTOMER_MANAGED</code>.</p>
162 /// <p>If you specify this as <code>CUSTOMER_MANAGED</code>, you must also specify a <code>workspaceRoleArn</code> that the workspace will use for accessing Amazon Web Services resources.</p>
163 /// <p>For more information on the role and permissions needed, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon Managed Grafana permissions and policies for Amazon Web Services data sources and notification channels</a></p><note>
164 /// <p>Do not use this to convert a <code>CUSTOMER_MANAGED</code> workspace to <code>SERVICE_MANAGED</code>. Do not include this parameter if you want to leave the workspace as <code>SERVICE_MANAGED</code>.</p>
165 /// <p>You can convert a <code>CUSTOMER_MANAGED</code> workspace to <code>SERVICE_MANAGED</code> using the Amazon Managed Grafana console. For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-datasource-and-notification.html">Managing permissions for data sources and notification channels</a>.</p>
166 /// </note>
167 pub fn get_permission_type(&self) -> &::std::option::Option<crate::types::PermissionType> {
168 self.inner.get_permission_type()
169 }
170 /// <p>The name of the CloudFormation stack set to use to generate IAM roles to be used for this workspace.</p>
171 pub fn stack_set_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
172 self.inner = self.inner.stack_set_name(input.into());
173 self
174 }
175 /// <p>The name of the CloudFormation stack set to use to generate IAM roles to be used for this workspace.</p>
176 pub fn set_stack_set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
177 self.inner = self.inner.set_stack_set_name(input);
178 self
179 }
180 /// <p>The name of the CloudFormation stack set to use to generate IAM roles to be used for this workspace.</p>
181 pub fn get_stack_set_name(&self) -> &::std::option::Option<::std::string::String> {
182 self.inner.get_stack_set_name()
183 }
184 ///
185 /// Appends an item to `workspaceDataSources`.
186 ///
187 /// To override the contents of this collection use [`set_workspace_data_sources`](Self::set_workspace_data_sources).
188 ///
189 /// <p>This parameter is for internal use only, and should not be used.</p>
190 pub fn workspace_data_sources(mut self, input: crate::types::DataSourceType) -> Self {
191 self.inner = self.inner.workspace_data_sources(input);
192 self
193 }
194 /// <p>This parameter is for internal use only, and should not be used.</p>
195 pub fn set_workspace_data_sources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DataSourceType>>) -> Self {
196 self.inner = self.inner.set_workspace_data_sources(input);
197 self
198 }
199 /// <p>This parameter is for internal use only, and should not be used.</p>
200 pub fn get_workspace_data_sources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DataSourceType>> {
201 self.inner.get_workspace_data_sources()
202 }
203 /// <p>A description for the workspace. This is used only to help you identify this workspace.</p>
204 pub fn workspace_description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
205 self.inner = self.inner.workspace_description(input.into());
206 self
207 }
208 /// <p>A description for the workspace. This is used only to help you identify this workspace.</p>
209 pub fn set_workspace_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
210 self.inner = self.inner.set_workspace_description(input);
211 self
212 }
213 /// <p>A description for the workspace. This is used only to help you identify this workspace.</p>
214 pub fn get_workspace_description(&self) -> &::std::option::Option<::std::string::String> {
215 self.inner.get_workspace_description()
216 }
217 /// <p>The ID of the workspace to update.</p>
218 pub fn workspace_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
219 self.inner = self.inner.workspace_id(input.into());
220 self
221 }
222 /// <p>The ID of the workspace to update.</p>
223 pub fn set_workspace_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
224 self.inner = self.inner.set_workspace_id(input);
225 self
226 }
227 /// <p>The ID of the workspace to update.</p>
228 pub fn get_workspace_id(&self) -> &::std::option::Option<::std::string::String> {
229 self.inner.get_workspace_id()
230 }
231 /// <p>A new name for the workspace to update.</p>
232 pub fn workspace_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
233 self.inner = self.inner.workspace_name(input.into());
234 self
235 }
236 /// <p>A new name for the workspace to update.</p>
237 pub fn set_workspace_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
238 self.inner = self.inner.set_workspace_name(input);
239 self
240 }
241 /// <p>A new name for the workspace to update.</p>
242 pub fn get_workspace_name(&self) -> &::std::option::Option<::std::string::String> {
243 self.inner.get_workspace_name()
244 }
245 ///
246 /// Appends an item to `workspaceNotificationDestinations`.
247 ///
248 /// To override the contents of this collection use [`set_workspace_notification_destinations`](Self::set_workspace_notification_destinations).
249 ///
250 /// <p>Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed Grafana to use these channels.</p>
251 pub fn workspace_notification_destinations(mut self, input: crate::types::NotificationDestinationType) -> Self {
252 self.inner = self.inner.workspace_notification_destinations(input);
253 self
254 }
255 /// <p>Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed Grafana to use these channels.</p>
256 pub fn set_workspace_notification_destinations(
257 mut self,
258 input: ::std::option::Option<::std::vec::Vec<crate::types::NotificationDestinationType>>,
259 ) -> Self {
260 self.inner = self.inner.set_workspace_notification_destinations(input);
261 self
262 }
263 /// <p>Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed Grafana to use these channels.</p>
264 pub fn get_workspace_notification_destinations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::NotificationDestinationType>> {
265 self.inner.get_workspace_notification_destinations()
266 }
267 ///
268 /// Appends an item to `workspaceOrganizationalUnits`.
269 ///
270 /// To override the contents of this collection use [`set_workspace_organizational_units`](Self::set_workspace_organizational_units).
271 ///
272 /// <p>Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is in an account that is part of an organization.</p>
273 pub fn workspace_organizational_units(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
274 self.inner = self.inner.workspace_organizational_units(input.into());
275 self
276 }
277 /// <p>Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is in an account that is part of an organization.</p>
278 pub fn set_workspace_organizational_units(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
279 self.inner = self.inner.set_workspace_organizational_units(input);
280 self
281 }
282 /// <p>Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is in an account that is part of an organization.</p>
283 pub fn get_workspace_organizational_units(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
284 self.inner.get_workspace_organizational_units()
285 }
286 /// <p>Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace accesses, such as data sources and notification channels. If this workspace has <code>permissionType</code> <code>CUSTOMER_MANAGED</code>, then this role is required.</p>
287 pub fn workspace_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
288 self.inner = self.inner.workspace_role_arn(input.into());
289 self
290 }
291 /// <p>Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace accesses, such as data sources and notification channels. If this workspace has <code>permissionType</code> <code>CUSTOMER_MANAGED</code>, then this role is required.</p>
292 pub fn set_workspace_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
293 self.inner = self.inner.set_workspace_role_arn(input);
294 self
295 }
296 /// <p>Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace accesses, such as data sources and notification channels. If this workspace has <code>permissionType</code> <code>CUSTOMER_MANAGED</code>, then this role is required.</p>
297 pub fn get_workspace_role_arn(&self) -> &::std::option::Option<::std::string::String> {
298 self.inner.get_workspace_role_arn()
299 }
300 /// <p>The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.</p>
301 pub fn vpc_configuration(mut self, input: crate::types::VpcConfiguration) -> Self {
302 self.inner = self.inner.vpc_configuration(input);
303 self
304 }
305 /// <p>The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.</p>
306 pub fn set_vpc_configuration(mut self, input: ::std::option::Option<crate::types::VpcConfiguration>) -> Self {
307 self.inner = self.inner.set_vpc_configuration(input);
308 self
309 }
310 /// <p>The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.</p>
311 pub fn get_vpc_configuration(&self) -> &::std::option::Option<crate::types::VpcConfiguration> {
312 self.inner.get_vpc_configuration()
313 }
314 /// <p>Whether to remove the VPC configuration from the workspace.</p>
315 /// <p>Setting this to <code>true</code> and providing a <code>vpcConfiguration</code> to set will return an error.</p>
316 pub fn remove_vpc_configuration(mut self, input: bool) -> Self {
317 self.inner = self.inner.remove_vpc_configuration(input);
318 self
319 }
320 /// <p>Whether to remove the VPC configuration from the workspace.</p>
321 /// <p>Setting this to <code>true</code> and providing a <code>vpcConfiguration</code> to set will return an error.</p>
322 pub fn set_remove_vpc_configuration(mut self, input: ::std::option::Option<bool>) -> Self {
323 self.inner = self.inner.set_remove_vpc_configuration(input);
324 self
325 }
326 /// <p>Whether to remove the VPC configuration from the workspace.</p>
327 /// <p>Setting this to <code>true</code> and providing a <code>vpcConfiguration</code> to set will return an error.</p>
328 pub fn get_remove_vpc_configuration(&self) -> &::std::option::Option<bool> {
329 self.inner.get_remove_vpc_configuration()
330 }
331 /// <p>The configuration settings for network access to your workspace.</p>
332 /// <p>When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. Standard Grafana authentication and authorization will still be required.</p>
333 /// <p>If this is not configured, or is removed, then all IP addresses and VPC endpoints will be allowed. Standard Grafana authentication and authorization will still be required.</p>
334 pub fn network_access_control(mut self, input: crate::types::NetworkAccessConfiguration) -> Self {
335 self.inner = self.inner.network_access_control(input);
336 self
337 }
338 /// <p>The configuration settings for network access to your workspace.</p>
339 /// <p>When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. Standard Grafana authentication and authorization will still be required.</p>
340 /// <p>If this is not configured, or is removed, then all IP addresses and VPC endpoints will be allowed. Standard Grafana authentication and authorization will still be required.</p>
341 pub fn set_network_access_control(mut self, input: ::std::option::Option<crate::types::NetworkAccessConfiguration>) -> Self {
342 self.inner = self.inner.set_network_access_control(input);
343 self
344 }
345 /// <p>The configuration settings for network access to your workspace.</p>
346 /// <p>When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. Standard Grafana authentication and authorization will still be required.</p>
347 /// <p>If this is not configured, or is removed, then all IP addresses and VPC endpoints will be allowed. Standard Grafana authentication and authorization will still be required.</p>
348 pub fn get_network_access_control(&self) -> &::std::option::Option<crate::types::NetworkAccessConfiguration> {
349 self.inner.get_network_access_control()
350 }
351 /// <p>Whether to remove the network access configuration from the workspace.</p>
352 /// <p>Setting this to <code>true</code> and providing a <code>networkAccessControl</code> to set will return an error.</p>
353 /// <p>If you remove this configuration by setting this to <code>true</code>, then all IP addresses and VPC endpoints will be allowed. Standard Grafana authentication and authorization will still be required.</p>
354 pub fn remove_network_access_configuration(mut self, input: bool) -> Self {
355 self.inner = self.inner.remove_network_access_configuration(input);
356 self
357 }
358 /// <p>Whether to remove the network access configuration from the workspace.</p>
359 /// <p>Setting this to <code>true</code> and providing a <code>networkAccessControl</code> to set will return an error.</p>
360 /// <p>If you remove this configuration by setting this to <code>true</code>, then all IP addresses and VPC endpoints will be allowed. Standard Grafana authentication and authorization will still be required.</p>
361 pub fn set_remove_network_access_configuration(mut self, input: ::std::option::Option<bool>) -> Self {
362 self.inner = self.inner.set_remove_network_access_configuration(input);
363 self
364 }
365 /// <p>Whether to remove the network access configuration from the workspace.</p>
366 /// <p>Setting this to <code>true</code> and providing a <code>networkAccessControl</code> to set will return an error.</p>
367 /// <p>If you remove this configuration by setting this to <code>true</code>, then all IP addresses and VPC endpoints will be allowed. Standard Grafana authentication and authorization will still be required.</p>
368 pub fn get_remove_network_access_configuration(&self) -> &::std::option::Option<bool> {
369 self.inner.get_remove_network_access_configuration()
370 }
371}