/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
/*
 * Do not modify this file. This file is generated from the workspaces-web-2020-07-08.normal.json service model.
 */
using System;
using System.Collections.Generic;
using System.Net;
using Amazon.WorkSpacesWeb.Model;
using Amazon.WorkSpacesWeb.Model.Internal.MarshallTransformations;
using Amazon.WorkSpacesWeb.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.WorkSpacesWeb
{
    /// 
    /// Implementation for accessing WorkSpacesWeb
    ///
    /// WorkSpaces Web is a low cost, fully managed WorkSpace built specifically to facilitate
    /// secure, web-based workloads. WorkSpaces Web makes it easy for customers to safely
    /// provide their employees with access to internal websites and SaaS web applications
    /// without the administrative burden of appliances or specialized client software. WorkSpaces
    /// Web provides simple policy tools tailored for user interactions, while offloading
    /// common tasks like capacity management, scaling, and maintaining browser images.
    /// 
    public partial class AmazonWorkSpacesWebClient : AmazonServiceClient, IAmazonWorkSpacesWeb
    {
        private static IServiceMetadata serviceMetadata = new AmazonWorkSpacesWebMetadata();
#if BCL45 || AWS_ASYNC_ENUMERABLES_API
        private IWorkSpacesWebPaginatorFactory _paginators;
        /// 
        /// Paginators for the service
        /// 
        public IWorkSpacesWebPaginatorFactory Paginators 
        {
            get 
            {
                if (this._paginators == null) 
                {
                    this._paginators = new WorkSpacesWebPaginatorFactory(this);
                }
                return this._paginators;
            }
        }
#endif
        #region Constructors
        /// 
        /// Constructs AmazonWorkSpacesWebClient with the credentials loaded from the application's
        /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
        /// 
        /// Example App.config with credentials set. 
        /// 
        /// <?xml version="1.0" encoding="utf-8" ?>
        /// <configuration>
        ///     <appSettings>
        ///         <add key="AWSProfileName" value="AWS Default"/>
        ///     </appSettings>
        /// </configuration>
        /// 
        ///
        /// 
        public AmazonWorkSpacesWebClient()
            : base(FallbackCredentialsFactory.GetCredentials(), new AmazonWorkSpacesWebConfig()) { }
        /// 
        /// Constructs AmazonWorkSpacesWebClient with the credentials loaded from the application's
        /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
        /// 
        /// Example App.config with credentials set. 
        /// 
        /// <?xml version="1.0" encoding="utf-8" ?>
        /// <configuration>
        ///     <appSettings>
        ///         <add key="AWSProfileName" value="AWS Default"/>
        ///     </appSettings>
        /// </configuration>
        /// 
        ///
        /// 
        /// The region to connect.
        public AmazonWorkSpacesWebClient(RegionEndpoint region)
            : base(FallbackCredentialsFactory.GetCredentials(), new AmazonWorkSpacesWebConfig{RegionEndpoint = region}) { }
        /// 
        /// Constructs AmazonWorkSpacesWebClient with the credentials loaded from the application's
        /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
        /// 
        /// Example App.config with credentials set. 
        /// 
        /// <?xml version="1.0" encoding="utf-8" ?>
        /// <configuration>
        ///     <appSettings>
        ///         <add key="AWSProfileName" value="AWS Default"/>
        ///     </appSettings>
        /// </configuration>
        /// 
        ///
        /// 
        /// The AmazonWorkSpacesWebClient Configuration Object
        public AmazonWorkSpacesWebClient(AmazonWorkSpacesWebConfig config)
            : base(FallbackCredentialsFactory.GetCredentials(config), config){}
        /// 
        /// Constructs AmazonWorkSpacesWebClient with AWS Credentials
        /// 
        /// AWS Credentials
        public AmazonWorkSpacesWebClient(AWSCredentials credentials)
            : this(credentials, new AmazonWorkSpacesWebConfig())
        {
        }
        /// 
        /// Constructs AmazonWorkSpacesWebClient with AWS Credentials
        /// 
        /// AWS Credentials
        /// The region to connect.
        public AmazonWorkSpacesWebClient(AWSCredentials credentials, RegionEndpoint region)
            : this(credentials, new AmazonWorkSpacesWebConfig{RegionEndpoint = region})
        {
        }
        /// 
        /// Constructs AmazonWorkSpacesWebClient with AWS Credentials and an
        /// AmazonWorkSpacesWebClient Configuration object.
        /// 
        /// AWS Credentials
        /// The AmazonWorkSpacesWebClient Configuration Object
        public AmazonWorkSpacesWebClient(AWSCredentials credentials, AmazonWorkSpacesWebConfig clientConfig)
            : base(credentials, clientConfig)
        {
        }
        /// 
        /// Constructs AmazonWorkSpacesWebClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        public AmazonWorkSpacesWebClient(string awsAccessKeyId, string awsSecretAccessKey)
            : this(awsAccessKeyId, awsSecretAccessKey, new AmazonWorkSpacesWebConfig())
        {
        }
        /// 
        /// Constructs AmazonWorkSpacesWebClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// The region to connect.
        public AmazonWorkSpacesWebClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
            : this(awsAccessKeyId, awsSecretAccessKey, new AmazonWorkSpacesWebConfig() {RegionEndpoint=region})
        {
        }
        /// 
        /// Constructs AmazonWorkSpacesWebClient with AWS Access Key ID, AWS Secret Key and an
        /// AmazonWorkSpacesWebClient Configuration object. 
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// The AmazonWorkSpacesWebClient Configuration Object
        public AmazonWorkSpacesWebClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonWorkSpacesWebConfig clientConfig)
            : base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
        {
        }
        /// 
        /// Constructs AmazonWorkSpacesWebClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        public AmazonWorkSpacesWebClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
            : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonWorkSpacesWebConfig())
        {
        }
        /// 
        /// Constructs AmazonWorkSpacesWebClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        /// The region to connect.
        public AmazonWorkSpacesWebClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
            : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonWorkSpacesWebConfig{RegionEndpoint = region})
        {
        }
        /// 
        /// Constructs AmazonWorkSpacesWebClient with AWS Access Key ID, AWS Secret Key and an
        /// AmazonWorkSpacesWebClient Configuration object. 
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        /// The AmazonWorkSpacesWebClient Configuration Object
        public AmazonWorkSpacesWebClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonWorkSpacesWebConfig clientConfig)
            : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
        {
        }
        #endregion
        #region Overrides
        
        /// 
        /// Creates the signer for the service.
        /// 
        protected override AbstractAWSSigner CreateSigner()
        {
            return new AWS4Signer();
        }
        /// 
        /// Customize the pipeline
        /// 
        /// 
        protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
        {
            pipeline.RemoveHandler();
            pipeline.AddHandlerAfter(new AmazonWorkSpacesWebEndpointResolver());
        }
        /// 
        /// Capture metadata for the service.
        /// 
        protected override IServiceMetadata ServiceMetadata
        {
            get
            {
                return serviceMetadata;
            }
        }
        #endregion
        #region Dispose
        /// 
        /// Disposes the service client.
        /// 
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);
        }
        #endregion
        #region  AssociateBrowserSettings
        /// 
        /// Associates a browser settings resource with a web portal.
        /// 
        /// Container for the necessary parameters to execute the AssociateBrowserSettings service method.
        /// 
        /// The response from the AssociateBrowserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for AssociateBrowserSettings Operation
        public virtual AssociateBrowserSettingsResponse AssociateBrowserSettings(AssociateBrowserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateBrowserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AssociateBrowserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AssociateBrowserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAssociateBrowserSettings
        ///         operation.
        /// REST API Reference for AssociateBrowserSettings Operation
        public virtual IAsyncResult BeginAssociateBrowserSettings(AssociateBrowserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateBrowserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AssociateBrowserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAssociateBrowserSettings.
        /// 
        /// Returns a  AssociateBrowserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for AssociateBrowserSettings Operation
        public virtual AssociateBrowserSettingsResponse EndAssociateBrowserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AssociateIpAccessSettings
        /// 
        /// Associates an IP access settings resource with a web portal.
        /// 
        /// Container for the necessary parameters to execute the AssociateIpAccessSettings service method.
        /// 
        /// The response from the AssociateIpAccessSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for AssociateIpAccessSettings Operation
        public virtual AssociateIpAccessSettingsResponse AssociateIpAccessSettings(AssociateIpAccessSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateIpAccessSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AssociateIpAccessSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AssociateIpAccessSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAssociateIpAccessSettings
        ///         operation.
        /// REST API Reference for AssociateIpAccessSettings Operation
        public virtual IAsyncResult BeginAssociateIpAccessSettings(AssociateIpAccessSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateIpAccessSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AssociateIpAccessSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAssociateIpAccessSettings.
        /// 
        /// Returns a  AssociateIpAccessSettingsResult from WorkSpacesWeb.
        /// REST API Reference for AssociateIpAccessSettings Operation
        public virtual AssociateIpAccessSettingsResponse EndAssociateIpAccessSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AssociateNetworkSettings
        /// 
        /// Associates a network settings resource with a web portal.
        /// 
        /// Container for the necessary parameters to execute the AssociateNetworkSettings service method.
        /// 
        /// The response from the AssociateNetworkSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for AssociateNetworkSettings Operation
        public virtual AssociateNetworkSettingsResponse AssociateNetworkSettings(AssociateNetworkSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateNetworkSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AssociateNetworkSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AssociateNetworkSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAssociateNetworkSettings
        ///         operation.
        /// REST API Reference for AssociateNetworkSettings Operation
        public virtual IAsyncResult BeginAssociateNetworkSettings(AssociateNetworkSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateNetworkSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AssociateNetworkSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAssociateNetworkSettings.
        /// 
        /// Returns a  AssociateNetworkSettingsResult from WorkSpacesWeb.
        /// REST API Reference for AssociateNetworkSettings Operation
        public virtual AssociateNetworkSettingsResponse EndAssociateNetworkSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AssociateTrustStore
        /// 
        /// Associates a trust store with a web portal.
        /// 
        /// Container for the necessary parameters to execute the AssociateTrustStore service method.
        /// 
        /// The response from the AssociateTrustStore service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for AssociateTrustStore Operation
        public virtual AssociateTrustStoreResponse AssociateTrustStore(AssociateTrustStoreRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateTrustStoreResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AssociateTrustStore operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AssociateTrustStore operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAssociateTrustStore
        ///         operation.
        /// REST API Reference for AssociateTrustStore Operation
        public virtual IAsyncResult BeginAssociateTrustStore(AssociateTrustStoreRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateTrustStoreResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AssociateTrustStore operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAssociateTrustStore.
        /// 
        /// Returns a  AssociateTrustStoreResult from WorkSpacesWeb.
        /// REST API Reference for AssociateTrustStore Operation
        public virtual AssociateTrustStoreResponse EndAssociateTrustStore(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AssociateUserAccessLoggingSettings
        /// 
        /// Associates a user access logging settings resource with a web portal.
        /// 
        /// Container for the necessary parameters to execute the AssociateUserAccessLoggingSettings service method.
        /// 
        /// The response from the AssociateUserAccessLoggingSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for AssociateUserAccessLoggingSettings Operation
        public virtual AssociateUserAccessLoggingSettingsResponse AssociateUserAccessLoggingSettings(AssociateUserAccessLoggingSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AssociateUserAccessLoggingSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AssociateUserAccessLoggingSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAssociateUserAccessLoggingSettings
        ///         operation.
        /// REST API Reference for AssociateUserAccessLoggingSettings Operation
        public virtual IAsyncResult BeginAssociateUserAccessLoggingSettings(AssociateUserAccessLoggingSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AssociateUserAccessLoggingSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAssociateUserAccessLoggingSettings.
        /// 
        /// Returns a  AssociateUserAccessLoggingSettingsResult from WorkSpacesWeb.
        /// REST API Reference for AssociateUserAccessLoggingSettings Operation
        public virtual AssociateUserAccessLoggingSettingsResponse EndAssociateUserAccessLoggingSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AssociateUserSettings
        /// 
        /// Associates a user settings resource with a web portal.
        /// 
        /// Container for the necessary parameters to execute the AssociateUserSettings service method.
        /// 
        /// The response from the AssociateUserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for AssociateUserSettings Operation
        public virtual AssociateUserSettingsResponse AssociateUserSettings(AssociateUserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateUserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AssociateUserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AssociateUserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAssociateUserSettings
        ///         operation.
        /// REST API Reference for AssociateUserSettings Operation
        public virtual IAsyncResult BeginAssociateUserSettings(AssociateUserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateUserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AssociateUserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAssociateUserSettings.
        /// 
        /// Returns a  AssociateUserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for AssociateUserSettings Operation
        public virtual AssociateUserSettingsResponse EndAssociateUserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateBrowserSettings
        /// 
        /// Creates a browser settings resource that can be associated with a web portal. Once
        /// associated with a web portal, browser settings control how the browser will behave
        /// once a user starts a streaming session for the web portal.
        /// 
        /// Container for the necessary parameters to execute the CreateBrowserSettings service method.
        /// 
        /// The response from the CreateBrowserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// The service quota has been exceeded.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for CreateBrowserSettings Operation
        public virtual CreateBrowserSettingsResponse CreateBrowserSettings(CreateBrowserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateBrowserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateBrowserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateBrowserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateBrowserSettings
        ///         operation.
        /// REST API Reference for CreateBrowserSettings Operation
        public virtual IAsyncResult BeginCreateBrowserSettings(CreateBrowserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateBrowserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateBrowserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateBrowserSettings.
        /// 
        /// Returns a  CreateBrowserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for CreateBrowserSettings Operation
        public virtual CreateBrowserSettingsResponse EndCreateBrowserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateIdentityProvider
        /// 
        /// Creates an identity provider resource that is then associated with a web portal.
        /// 
        /// Container for the necessary parameters to execute the CreateIdentityProvider service method.
        /// 
        /// The response from the CreateIdentityProvider service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// The service quota has been exceeded.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for CreateIdentityProvider Operation
        public virtual CreateIdentityProviderResponse CreateIdentityProvider(CreateIdentityProviderRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateIdentityProviderResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateIdentityProvider operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateIdentityProvider operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateIdentityProvider
        ///         operation.
        /// REST API Reference for CreateIdentityProvider Operation
        public virtual IAsyncResult BeginCreateIdentityProvider(CreateIdentityProviderRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateIdentityProviderResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateIdentityProvider operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateIdentityProvider.
        /// 
        /// Returns a  CreateIdentityProviderResult from WorkSpacesWeb.
        /// REST API Reference for CreateIdentityProvider Operation
        public virtual CreateIdentityProviderResponse EndCreateIdentityProvider(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateIpAccessSettings
        /// 
        /// Creates an IP access settings resource that can be associated with a web portal.
        /// 
        /// Container for the necessary parameters to execute the CreateIpAccessSettings service method.
        /// 
        /// The response from the CreateIpAccessSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The service quota has been exceeded.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for CreateIpAccessSettings Operation
        public virtual CreateIpAccessSettingsResponse CreateIpAccessSettings(CreateIpAccessSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateIpAccessSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateIpAccessSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateIpAccessSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateIpAccessSettings
        ///         operation.
        /// REST API Reference for CreateIpAccessSettings Operation
        public virtual IAsyncResult BeginCreateIpAccessSettings(CreateIpAccessSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateIpAccessSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateIpAccessSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateIpAccessSettings.
        /// 
        /// Returns a  CreateIpAccessSettingsResult from WorkSpacesWeb.
        /// REST API Reference for CreateIpAccessSettings Operation
        public virtual CreateIpAccessSettingsResponse EndCreateIpAccessSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateNetworkSettings
        /// 
        /// Creates a network settings resource that can be associated with a web portal. Once
        /// associated with a web portal, network settings define how streaming instances will
        /// connect with your specified VPC.
        /// 
        /// Container for the necessary parameters to execute the CreateNetworkSettings service method.
        /// 
        /// The response from the CreateNetworkSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The service quota has been exceeded.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for CreateNetworkSettings Operation
        public virtual CreateNetworkSettingsResponse CreateNetworkSettings(CreateNetworkSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateNetworkSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateNetworkSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateNetworkSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateNetworkSettings
        ///         operation.
        /// REST API Reference for CreateNetworkSettings Operation
        public virtual IAsyncResult BeginCreateNetworkSettings(CreateNetworkSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateNetworkSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateNetworkSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateNetworkSettings.
        /// 
        /// Returns a  CreateNetworkSettingsResult from WorkSpacesWeb.
        /// REST API Reference for CreateNetworkSettings Operation
        public virtual CreateNetworkSettingsResponse EndCreateNetworkSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreatePortal
        /// 
        /// Creates a web portal.
        /// 
        /// Container for the necessary parameters to execute the CreatePortal service method.
        /// 
        /// The response from the CreatePortal service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// The service quota has been exceeded.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for CreatePortal Operation
        public virtual CreatePortalResponse CreatePortal(CreatePortalRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreatePortalRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreatePortalResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreatePortal operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreatePortal operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreatePortal
        ///         operation.
        /// REST API Reference for CreatePortal Operation
        public virtual IAsyncResult BeginCreatePortal(CreatePortalRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreatePortalRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreatePortalResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreatePortal operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreatePortal.
        /// 
        /// Returns a  CreatePortalResult from WorkSpacesWeb.
        /// REST API Reference for CreatePortal Operation
        public virtual CreatePortalResponse EndCreatePortal(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateTrustStore
        /// 
        /// Creates a trust store that can be associated with a web portal. A trust store contains
        /// certificate authority (CA) certificates. Once associated with a web portal, the browser
        /// in a streaming session will recognize certificates that have been issued using any
        /// of the CAs in the trust store. If your organization has internal websites that use
        /// certificates issued by private CAs, you should add the private CA certificate to the
        /// trust store.
        /// 
        /// Container for the necessary parameters to execute the CreateTrustStore service method.
        /// 
        /// The response from the CreateTrustStore service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The service quota has been exceeded.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for CreateTrustStore Operation
        public virtual CreateTrustStoreResponse CreateTrustStore(CreateTrustStoreRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateTrustStoreResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateTrustStore operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateTrustStore operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateTrustStore
        ///         operation.
        /// REST API Reference for CreateTrustStore Operation
        public virtual IAsyncResult BeginCreateTrustStore(CreateTrustStoreRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateTrustStoreResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateTrustStore operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateTrustStore.
        /// 
        /// Returns a  CreateTrustStoreResult from WorkSpacesWeb.
        /// REST API Reference for CreateTrustStore Operation
        public virtual CreateTrustStoreResponse EndCreateTrustStore(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateUserAccessLoggingSettings
        /// 
        /// Creates a user access logging settings resource that can be associated with a web
        /// portal.
        /// 
        /// Container for the necessary parameters to execute the CreateUserAccessLoggingSettings service method.
        /// 
        /// The response from the CreateUserAccessLoggingSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The service quota has been exceeded.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for CreateUserAccessLoggingSettings Operation
        public virtual CreateUserAccessLoggingSettingsResponse CreateUserAccessLoggingSettings(CreateUserAccessLoggingSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateUserAccessLoggingSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateUserAccessLoggingSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateUserAccessLoggingSettings
        ///         operation.
        /// REST API Reference for CreateUserAccessLoggingSettings Operation
        public virtual IAsyncResult BeginCreateUserAccessLoggingSettings(CreateUserAccessLoggingSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateUserAccessLoggingSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateUserAccessLoggingSettings.
        /// 
        /// Returns a  CreateUserAccessLoggingSettingsResult from WorkSpacesWeb.
        /// REST API Reference for CreateUserAccessLoggingSettings Operation
        public virtual CreateUserAccessLoggingSettingsResponse EndCreateUserAccessLoggingSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateUserSettings
        /// 
        /// Creates a user settings resource that can be associated with a web portal. Once associated
        /// with a web portal, user settings control how users can transfer data between a streaming
        /// session and the their local devices.
        /// 
        /// Container for the necessary parameters to execute the CreateUserSettings service method.
        /// 
        /// The response from the CreateUserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The service quota has been exceeded.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for CreateUserSettings Operation
        public virtual CreateUserSettingsResponse CreateUserSettings(CreateUserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateUserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateUserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateUserSettings
        ///         operation.
        /// REST API Reference for CreateUserSettings Operation
        public virtual IAsyncResult BeginCreateUserSettings(CreateUserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateUserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateUserSettings.
        /// 
        /// Returns a  CreateUserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for CreateUserSettings Operation
        public virtual CreateUserSettingsResponse EndCreateUserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteBrowserSettings
        /// 
        /// Deletes browser settings.
        /// 
        /// Container for the necessary parameters to execute the DeleteBrowserSettings service method.
        /// 
        /// The response from the DeleteBrowserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DeleteBrowserSettings Operation
        public virtual DeleteBrowserSettingsResponse DeleteBrowserSettings(DeleteBrowserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteBrowserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteBrowserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteBrowserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteBrowserSettings
        ///         operation.
        /// REST API Reference for DeleteBrowserSettings Operation
        public virtual IAsyncResult BeginDeleteBrowserSettings(DeleteBrowserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteBrowserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteBrowserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteBrowserSettings.
        /// 
        /// Returns a  DeleteBrowserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for DeleteBrowserSettings Operation
        public virtual DeleteBrowserSettingsResponse EndDeleteBrowserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteIdentityProvider
        /// 
        /// Deletes the identity provider.
        /// 
        /// Container for the necessary parameters to execute the DeleteIdentityProvider service method.
        /// 
        /// The response from the DeleteIdentityProvider service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DeleteIdentityProvider Operation
        public virtual DeleteIdentityProviderResponse DeleteIdentityProvider(DeleteIdentityProviderRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteIdentityProviderResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteIdentityProvider operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteIdentityProvider operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteIdentityProvider
        ///         operation.
        /// REST API Reference for DeleteIdentityProvider Operation
        public virtual IAsyncResult BeginDeleteIdentityProvider(DeleteIdentityProviderRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteIdentityProviderResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteIdentityProvider operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteIdentityProvider.
        /// 
        /// Returns a  DeleteIdentityProviderResult from WorkSpacesWeb.
        /// REST API Reference for DeleteIdentityProvider Operation
        public virtual DeleteIdentityProviderResponse EndDeleteIdentityProvider(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteIpAccessSettings
        /// 
        /// Deletes IP access settings.
        /// 
        /// Container for the necessary parameters to execute the DeleteIpAccessSettings service method.
        /// 
        /// The response from the DeleteIpAccessSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DeleteIpAccessSettings Operation
        public virtual DeleteIpAccessSettingsResponse DeleteIpAccessSettings(DeleteIpAccessSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteIpAccessSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteIpAccessSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteIpAccessSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteIpAccessSettings
        ///         operation.
        /// REST API Reference for DeleteIpAccessSettings Operation
        public virtual IAsyncResult BeginDeleteIpAccessSettings(DeleteIpAccessSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteIpAccessSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteIpAccessSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteIpAccessSettings.
        /// 
        /// Returns a  DeleteIpAccessSettingsResult from WorkSpacesWeb.
        /// REST API Reference for DeleteIpAccessSettings Operation
        public virtual DeleteIpAccessSettingsResponse EndDeleteIpAccessSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteNetworkSettings
        /// 
        /// Deletes network settings.
        /// 
        /// Container for the necessary parameters to execute the DeleteNetworkSettings service method.
        /// 
        /// The response from the DeleteNetworkSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DeleteNetworkSettings Operation
        public virtual DeleteNetworkSettingsResponse DeleteNetworkSettings(DeleteNetworkSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteNetworkSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteNetworkSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteNetworkSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteNetworkSettings
        ///         operation.
        /// REST API Reference for DeleteNetworkSettings Operation
        public virtual IAsyncResult BeginDeleteNetworkSettings(DeleteNetworkSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteNetworkSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteNetworkSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteNetworkSettings.
        /// 
        /// Returns a  DeleteNetworkSettingsResult from WorkSpacesWeb.
        /// REST API Reference for DeleteNetworkSettings Operation
        public virtual DeleteNetworkSettingsResponse EndDeleteNetworkSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeletePortal
        /// 
        /// Deletes a web portal.
        /// 
        /// Container for the necessary parameters to execute the DeletePortal service method.
        /// 
        /// The response from the DeletePortal service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DeletePortal Operation
        public virtual DeletePortalResponse DeletePortal(DeletePortalRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeletePortalRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeletePortalResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeletePortal operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeletePortal operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeletePortal
        ///         operation.
        /// REST API Reference for DeletePortal Operation
        public virtual IAsyncResult BeginDeletePortal(DeletePortalRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeletePortalRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeletePortalResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeletePortal operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeletePortal.
        /// 
        /// Returns a  DeletePortalResult from WorkSpacesWeb.
        /// REST API Reference for DeletePortal Operation
        public virtual DeletePortalResponse EndDeletePortal(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteTrustStore
        /// 
        /// Deletes the trust store.
        /// 
        /// Container for the necessary parameters to execute the DeleteTrustStore service method.
        /// 
        /// The response from the DeleteTrustStore service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DeleteTrustStore Operation
        public virtual DeleteTrustStoreResponse DeleteTrustStore(DeleteTrustStoreRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteTrustStoreResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteTrustStore operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteTrustStore operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteTrustStore
        ///         operation.
        /// REST API Reference for DeleteTrustStore Operation
        public virtual IAsyncResult BeginDeleteTrustStore(DeleteTrustStoreRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteTrustStoreResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteTrustStore operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteTrustStore.
        /// 
        /// Returns a  DeleteTrustStoreResult from WorkSpacesWeb.
        /// REST API Reference for DeleteTrustStore Operation
        public virtual DeleteTrustStoreResponse EndDeleteTrustStore(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteUserAccessLoggingSettings
        /// 
        /// Deletes user access logging settings.
        /// 
        /// Container for the necessary parameters to execute the DeleteUserAccessLoggingSettings service method.
        /// 
        /// The response from the DeleteUserAccessLoggingSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DeleteUserAccessLoggingSettings Operation
        public virtual DeleteUserAccessLoggingSettingsResponse DeleteUserAccessLoggingSettings(DeleteUserAccessLoggingSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteUserAccessLoggingSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteUserAccessLoggingSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteUserAccessLoggingSettings
        ///         operation.
        /// REST API Reference for DeleteUserAccessLoggingSettings Operation
        public virtual IAsyncResult BeginDeleteUserAccessLoggingSettings(DeleteUserAccessLoggingSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteUserAccessLoggingSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteUserAccessLoggingSettings.
        /// 
        /// Returns a  DeleteUserAccessLoggingSettingsResult from WorkSpacesWeb.
        /// REST API Reference for DeleteUserAccessLoggingSettings Operation
        public virtual DeleteUserAccessLoggingSettingsResponse EndDeleteUserAccessLoggingSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteUserSettings
        /// 
        /// Deletes user settings.
        /// 
        /// Container for the necessary parameters to execute the DeleteUserSettings service method.
        /// 
        /// The response from the DeleteUserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DeleteUserSettings Operation
        public virtual DeleteUserSettingsResponse DeleteUserSettings(DeleteUserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteUserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteUserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteUserSettings
        ///         operation.
        /// REST API Reference for DeleteUserSettings Operation
        public virtual IAsyncResult BeginDeleteUserSettings(DeleteUserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteUserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteUserSettings.
        /// 
        /// Returns a  DeleteUserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for DeleteUserSettings Operation
        public virtual DeleteUserSettingsResponse EndDeleteUserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DisassociateBrowserSettings
        /// 
        /// Disassociates browser settings from a web portal.
        /// 
        /// Container for the necessary parameters to execute the DisassociateBrowserSettings service method.
        /// 
        /// The response from the DisassociateBrowserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DisassociateBrowserSettings Operation
        public virtual DisassociateBrowserSettingsResponse DisassociateBrowserSettings(DisassociateBrowserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateBrowserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DisassociateBrowserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DisassociateBrowserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDisassociateBrowserSettings
        ///         operation.
        /// REST API Reference for DisassociateBrowserSettings Operation
        public virtual IAsyncResult BeginDisassociateBrowserSettings(DisassociateBrowserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateBrowserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DisassociateBrowserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDisassociateBrowserSettings.
        /// 
        /// Returns a  DisassociateBrowserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for DisassociateBrowserSettings Operation
        public virtual DisassociateBrowserSettingsResponse EndDisassociateBrowserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DisassociateIpAccessSettings
        /// 
        /// Disassociates IP access settings from a web portal.
        /// 
        /// Container for the necessary parameters to execute the DisassociateIpAccessSettings service method.
        /// 
        /// The response from the DisassociateIpAccessSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DisassociateIpAccessSettings Operation
        public virtual DisassociateIpAccessSettingsResponse DisassociateIpAccessSettings(DisassociateIpAccessSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateIpAccessSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DisassociateIpAccessSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DisassociateIpAccessSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDisassociateIpAccessSettings
        ///         operation.
        /// REST API Reference for DisassociateIpAccessSettings Operation
        public virtual IAsyncResult BeginDisassociateIpAccessSettings(DisassociateIpAccessSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateIpAccessSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DisassociateIpAccessSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDisassociateIpAccessSettings.
        /// 
        /// Returns a  DisassociateIpAccessSettingsResult from WorkSpacesWeb.
        /// REST API Reference for DisassociateIpAccessSettings Operation
        public virtual DisassociateIpAccessSettingsResponse EndDisassociateIpAccessSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DisassociateNetworkSettings
        /// 
        /// Disassociates network settings from a web portal.
        /// 
        /// Container for the necessary parameters to execute the DisassociateNetworkSettings service method.
        /// 
        /// The response from the DisassociateNetworkSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DisassociateNetworkSettings Operation
        public virtual DisassociateNetworkSettingsResponse DisassociateNetworkSettings(DisassociateNetworkSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateNetworkSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DisassociateNetworkSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DisassociateNetworkSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDisassociateNetworkSettings
        ///         operation.
        /// REST API Reference for DisassociateNetworkSettings Operation
        public virtual IAsyncResult BeginDisassociateNetworkSettings(DisassociateNetworkSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateNetworkSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DisassociateNetworkSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDisassociateNetworkSettings.
        /// 
        /// Returns a  DisassociateNetworkSettingsResult from WorkSpacesWeb.
        /// REST API Reference for DisassociateNetworkSettings Operation
        public virtual DisassociateNetworkSettingsResponse EndDisassociateNetworkSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DisassociateTrustStore
        /// 
        /// Disassociates a trust store from a web portal.
        /// 
        /// Container for the necessary parameters to execute the DisassociateTrustStore service method.
        /// 
        /// The response from the DisassociateTrustStore service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DisassociateTrustStore Operation
        public virtual DisassociateTrustStoreResponse DisassociateTrustStore(DisassociateTrustStoreRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateTrustStoreResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DisassociateTrustStore operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DisassociateTrustStore operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDisassociateTrustStore
        ///         operation.
        /// REST API Reference for DisassociateTrustStore Operation
        public virtual IAsyncResult BeginDisassociateTrustStore(DisassociateTrustStoreRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateTrustStoreResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DisassociateTrustStore operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDisassociateTrustStore.
        /// 
        /// Returns a  DisassociateTrustStoreResult from WorkSpacesWeb.
        /// REST API Reference for DisassociateTrustStore Operation
        public virtual DisassociateTrustStoreResponse EndDisassociateTrustStore(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DisassociateUserAccessLoggingSettings
        /// 
        /// Disassociates user access logging settings from a web portal.
        /// 
        /// Container for the necessary parameters to execute the DisassociateUserAccessLoggingSettings service method.
        /// 
        /// The response from the DisassociateUserAccessLoggingSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DisassociateUserAccessLoggingSettings Operation
        public virtual DisassociateUserAccessLoggingSettingsResponse DisassociateUserAccessLoggingSettings(DisassociateUserAccessLoggingSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DisassociateUserAccessLoggingSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DisassociateUserAccessLoggingSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDisassociateUserAccessLoggingSettings
        ///         operation.
        /// REST API Reference for DisassociateUserAccessLoggingSettings Operation
        public virtual IAsyncResult BeginDisassociateUserAccessLoggingSettings(DisassociateUserAccessLoggingSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DisassociateUserAccessLoggingSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDisassociateUserAccessLoggingSettings.
        /// 
        /// Returns a  DisassociateUserAccessLoggingSettingsResult from WorkSpacesWeb.
        /// REST API Reference for DisassociateUserAccessLoggingSettings Operation
        public virtual DisassociateUserAccessLoggingSettingsResponse EndDisassociateUserAccessLoggingSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DisassociateUserSettings
        /// 
        /// Disassociates user settings from a web portal.
        /// 
        /// Container for the necessary parameters to execute the DisassociateUserSettings service method.
        /// 
        /// The response from the DisassociateUserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for DisassociateUserSettings Operation
        public virtual DisassociateUserSettingsResponse DisassociateUserSettings(DisassociateUserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateUserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DisassociateUserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DisassociateUserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDisassociateUserSettings
        ///         operation.
        /// REST API Reference for DisassociateUserSettings Operation
        public virtual IAsyncResult BeginDisassociateUserSettings(DisassociateUserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateUserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DisassociateUserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDisassociateUserSettings.
        /// 
        /// Returns a  DisassociateUserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for DisassociateUserSettings Operation
        public virtual DisassociateUserSettingsResponse EndDisassociateUserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetBrowserSettings
        /// 
        /// Gets browser settings.
        /// 
        /// Container for the necessary parameters to execute the GetBrowserSettings service method.
        /// 
        /// The response from the GetBrowserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for GetBrowserSettings Operation
        public virtual GetBrowserSettingsResponse GetBrowserSettings(GetBrowserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetBrowserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetBrowserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetBrowserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetBrowserSettings
        ///         operation.
        /// REST API Reference for GetBrowserSettings Operation
        public virtual IAsyncResult BeginGetBrowserSettings(GetBrowserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetBrowserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetBrowserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetBrowserSettings.
        /// 
        /// Returns a  GetBrowserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for GetBrowserSettings Operation
        public virtual GetBrowserSettingsResponse EndGetBrowserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetIdentityProvider
        /// 
        /// Gets the identity provider.
        /// 
        /// Container for the necessary parameters to execute the GetIdentityProvider service method.
        /// 
        /// The response from the GetIdentityProvider service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for GetIdentityProvider Operation
        public virtual GetIdentityProviderResponse GetIdentityProvider(GetIdentityProviderRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetIdentityProviderResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetIdentityProvider operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetIdentityProvider operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetIdentityProvider
        ///         operation.
        /// REST API Reference for GetIdentityProvider Operation
        public virtual IAsyncResult BeginGetIdentityProvider(GetIdentityProviderRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetIdentityProviderResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetIdentityProvider operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetIdentityProvider.
        /// 
        /// Returns a  GetIdentityProviderResult from WorkSpacesWeb.
        /// REST API Reference for GetIdentityProvider Operation
        public virtual GetIdentityProviderResponse EndGetIdentityProvider(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetIpAccessSettings
        /// 
        /// Gets the IP access settings.
        /// 
        /// Container for the necessary parameters to execute the GetIpAccessSettings service method.
        /// 
        /// The response from the GetIpAccessSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for GetIpAccessSettings Operation
        public virtual GetIpAccessSettingsResponse GetIpAccessSettings(GetIpAccessSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetIpAccessSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetIpAccessSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetIpAccessSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetIpAccessSettings
        ///         operation.
        /// REST API Reference for GetIpAccessSettings Operation
        public virtual IAsyncResult BeginGetIpAccessSettings(GetIpAccessSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetIpAccessSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetIpAccessSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetIpAccessSettings.
        /// 
        /// Returns a  GetIpAccessSettingsResult from WorkSpacesWeb.
        /// REST API Reference for GetIpAccessSettings Operation
        public virtual GetIpAccessSettingsResponse EndGetIpAccessSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetNetworkSettings
        /// 
        /// Gets the network settings.
        /// 
        /// Container for the necessary parameters to execute the GetNetworkSettings service method.
        /// 
        /// The response from the GetNetworkSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for GetNetworkSettings Operation
        public virtual GetNetworkSettingsResponse GetNetworkSettings(GetNetworkSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetNetworkSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetNetworkSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetNetworkSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetNetworkSettings
        ///         operation.
        /// REST API Reference for GetNetworkSettings Operation
        public virtual IAsyncResult BeginGetNetworkSettings(GetNetworkSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetNetworkSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetNetworkSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetNetworkSettings.
        /// 
        /// Returns a  GetNetworkSettingsResult from WorkSpacesWeb.
        /// REST API Reference for GetNetworkSettings Operation
        public virtual GetNetworkSettingsResponse EndGetNetworkSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetPortal
        /// 
        /// Gets the web portal.
        /// 
        /// Container for the necessary parameters to execute the GetPortal service method.
        /// 
        /// The response from the GetPortal service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for GetPortal Operation
        public virtual GetPortalResponse GetPortal(GetPortalRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPortalRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPortalResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetPortal operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetPortal operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetPortal
        ///         operation.
        /// REST API Reference for GetPortal Operation
        public virtual IAsyncResult BeginGetPortal(GetPortalRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPortalRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPortalResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetPortal operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetPortal.
        /// 
        /// Returns a  GetPortalResult from WorkSpacesWeb.
        /// REST API Reference for GetPortal Operation
        public virtual GetPortalResponse EndGetPortal(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetPortalServiceProviderMetadata
        /// 
        /// Gets the service provider metadata.
        /// 
        /// Container for the necessary parameters to execute the GetPortalServiceProviderMetadata service method.
        /// 
        /// The response from the GetPortalServiceProviderMetadata service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for GetPortalServiceProviderMetadata Operation
        public virtual GetPortalServiceProviderMetadataResponse GetPortalServiceProviderMetadata(GetPortalServiceProviderMetadataRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPortalServiceProviderMetadataRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPortalServiceProviderMetadataResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetPortalServiceProviderMetadata operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetPortalServiceProviderMetadata operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetPortalServiceProviderMetadata
        ///         operation.
        /// REST API Reference for GetPortalServiceProviderMetadata Operation
        public virtual IAsyncResult BeginGetPortalServiceProviderMetadata(GetPortalServiceProviderMetadataRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPortalServiceProviderMetadataRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPortalServiceProviderMetadataResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetPortalServiceProviderMetadata operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetPortalServiceProviderMetadata.
        /// 
        /// Returns a  GetPortalServiceProviderMetadataResult from WorkSpacesWeb.
        /// REST API Reference for GetPortalServiceProviderMetadata Operation
        public virtual GetPortalServiceProviderMetadataResponse EndGetPortalServiceProviderMetadata(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetTrustStore
        /// 
        /// Gets the trust store.
        /// 
        /// Container for the necessary parameters to execute the GetTrustStore service method.
        /// 
        /// The response from the GetTrustStore service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for GetTrustStore Operation
        public virtual GetTrustStoreResponse GetTrustStore(GetTrustStoreRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetTrustStoreResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetTrustStore operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetTrustStore operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetTrustStore
        ///         operation.
        /// REST API Reference for GetTrustStore Operation
        public virtual IAsyncResult BeginGetTrustStore(GetTrustStoreRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetTrustStoreResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetTrustStore operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetTrustStore.
        /// 
        /// Returns a  GetTrustStoreResult from WorkSpacesWeb.
        /// REST API Reference for GetTrustStore Operation
        public virtual GetTrustStoreResponse EndGetTrustStore(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetTrustStoreCertificate
        /// 
        /// Gets the trust store certificate.
        /// 
        /// Container for the necessary parameters to execute the GetTrustStoreCertificate service method.
        /// 
        /// The response from the GetTrustStoreCertificate service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for GetTrustStoreCertificate Operation
        public virtual GetTrustStoreCertificateResponse GetTrustStoreCertificate(GetTrustStoreCertificateRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetTrustStoreCertificateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetTrustStoreCertificateResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetTrustStoreCertificate operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetTrustStoreCertificate operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetTrustStoreCertificate
        ///         operation.
        /// REST API Reference for GetTrustStoreCertificate Operation
        public virtual IAsyncResult BeginGetTrustStoreCertificate(GetTrustStoreCertificateRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetTrustStoreCertificateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetTrustStoreCertificateResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetTrustStoreCertificate operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetTrustStoreCertificate.
        /// 
        /// Returns a  GetTrustStoreCertificateResult from WorkSpacesWeb.
        /// REST API Reference for GetTrustStoreCertificate Operation
        public virtual GetTrustStoreCertificateResponse EndGetTrustStoreCertificate(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetUserAccessLoggingSettings
        /// 
        /// Gets user access logging settings.
        /// 
        /// Container for the necessary parameters to execute the GetUserAccessLoggingSettings service method.
        /// 
        /// The response from the GetUserAccessLoggingSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for GetUserAccessLoggingSettings Operation
        public virtual GetUserAccessLoggingSettingsResponse GetUserAccessLoggingSettings(GetUserAccessLoggingSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetUserAccessLoggingSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetUserAccessLoggingSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetUserAccessLoggingSettings
        ///         operation.
        /// REST API Reference for GetUserAccessLoggingSettings Operation
        public virtual IAsyncResult BeginGetUserAccessLoggingSettings(GetUserAccessLoggingSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetUserAccessLoggingSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetUserAccessLoggingSettings.
        /// 
        /// Returns a  GetUserAccessLoggingSettingsResult from WorkSpacesWeb.
        /// REST API Reference for GetUserAccessLoggingSettings Operation
        public virtual GetUserAccessLoggingSettingsResponse EndGetUserAccessLoggingSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetUserSettings
        /// 
        /// Gets user settings.
        /// 
        /// Container for the necessary parameters to execute the GetUserSettings service method.
        /// 
        /// The response from the GetUserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for GetUserSettings Operation
        public virtual GetUserSettingsResponse GetUserSettings(GetUserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetUserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetUserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetUserSettings
        ///         operation.
        /// REST API Reference for GetUserSettings Operation
        public virtual IAsyncResult BeginGetUserSettings(GetUserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetUserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetUserSettings.
        /// 
        /// Returns a  GetUserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for GetUserSettings Operation
        public virtual GetUserSettingsResponse EndGetUserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListBrowserSettings
        /// 
        /// Retrieves a list of browser settings.
        /// 
        /// Container for the necessary parameters to execute the ListBrowserSettings service method.
        /// 
        /// The response from the ListBrowserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for ListBrowserSettings Operation
        public virtual ListBrowserSettingsResponse ListBrowserSettings(ListBrowserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListBrowserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListBrowserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListBrowserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListBrowserSettings
        ///         operation.
        /// REST API Reference for ListBrowserSettings Operation
        public virtual IAsyncResult BeginListBrowserSettings(ListBrowserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListBrowserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListBrowserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListBrowserSettings.
        /// 
        /// Returns a  ListBrowserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for ListBrowserSettings Operation
        public virtual ListBrowserSettingsResponse EndListBrowserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListIdentityProviders
        /// 
        /// Retrieves a list of identity providers for a specific web portal.
        /// 
        /// Container for the necessary parameters to execute the ListIdentityProviders service method.
        /// 
        /// The response from the ListIdentityProviders service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for ListIdentityProviders Operation
        public virtual ListIdentityProvidersResponse ListIdentityProviders(ListIdentityProvidersRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListIdentityProvidersRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListIdentityProvidersResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListIdentityProviders operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListIdentityProviders operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListIdentityProviders
        ///         operation.
        /// REST API Reference for ListIdentityProviders Operation
        public virtual IAsyncResult BeginListIdentityProviders(ListIdentityProvidersRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListIdentityProvidersRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListIdentityProvidersResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListIdentityProviders operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListIdentityProviders.
        /// 
        /// Returns a  ListIdentityProvidersResult from WorkSpacesWeb.
        /// REST API Reference for ListIdentityProviders Operation
        public virtual ListIdentityProvidersResponse EndListIdentityProviders(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListIpAccessSettings
        /// 
        /// Retrieves a list of IP access settings.
        /// 
        /// Container for the necessary parameters to execute the ListIpAccessSettings service method.
        /// 
        /// The response from the ListIpAccessSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for ListIpAccessSettings Operation
        public virtual ListIpAccessSettingsResponse ListIpAccessSettings(ListIpAccessSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListIpAccessSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListIpAccessSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListIpAccessSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListIpAccessSettings
        ///         operation.
        /// REST API Reference for ListIpAccessSettings Operation
        public virtual IAsyncResult BeginListIpAccessSettings(ListIpAccessSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListIpAccessSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListIpAccessSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListIpAccessSettings.
        /// 
        /// Returns a  ListIpAccessSettingsResult from WorkSpacesWeb.
        /// REST API Reference for ListIpAccessSettings Operation
        public virtual ListIpAccessSettingsResponse EndListIpAccessSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListNetworkSettings
        /// 
        /// Retrieves a list of network settings.
        /// 
        /// Container for the necessary parameters to execute the ListNetworkSettings service method.
        /// 
        /// The response from the ListNetworkSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for ListNetworkSettings Operation
        public virtual ListNetworkSettingsResponse ListNetworkSettings(ListNetworkSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListNetworkSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListNetworkSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListNetworkSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListNetworkSettings
        ///         operation.
        /// REST API Reference for ListNetworkSettings Operation
        public virtual IAsyncResult BeginListNetworkSettings(ListNetworkSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListNetworkSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListNetworkSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListNetworkSettings.
        /// 
        /// Returns a  ListNetworkSettingsResult from WorkSpacesWeb.
        /// REST API Reference for ListNetworkSettings Operation
        public virtual ListNetworkSettingsResponse EndListNetworkSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListPortals
        /// 
        /// Retrieves a list or web portals.
        /// 
        /// Container for the necessary parameters to execute the ListPortals service method.
        /// 
        /// The response from the ListPortals service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for ListPortals Operation
        public virtual ListPortalsResponse ListPortals(ListPortalsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListPortalsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListPortalsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListPortals operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListPortals operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListPortals
        ///         operation.
        /// REST API Reference for ListPortals Operation
        public virtual IAsyncResult BeginListPortals(ListPortalsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListPortalsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListPortalsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListPortals operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListPortals.
        /// 
        /// Returns a  ListPortalsResult from WorkSpacesWeb.
        /// REST API Reference for ListPortals Operation
        public virtual ListPortalsResponse EndListPortals(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListTagsForResource
        /// 
        /// Retrieves a list of tags for a resource.
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource service method.
        /// 
        /// The response from the ListTagsForResource service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for ListTagsForResource Operation
        public virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListTagsForResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListTagsForResource
        ///         operation.
        /// REST API Reference for ListTagsForResource Operation
        public virtual IAsyncResult BeginListTagsForResource(ListTagsForResourceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListTagsForResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListTagsForResource.
        /// 
        /// Returns a  ListTagsForResourceResult from WorkSpacesWeb.
        /// REST API Reference for ListTagsForResource Operation
        public virtual ListTagsForResourceResponse EndListTagsForResource(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListTrustStoreCertificates
        /// 
        /// Retrieves a list of trust store certificates.
        /// 
        /// Container for the necessary parameters to execute the ListTrustStoreCertificates service method.
        /// 
        /// The response from the ListTrustStoreCertificates service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for ListTrustStoreCertificates Operation
        public virtual ListTrustStoreCertificatesResponse ListTrustStoreCertificates(ListTrustStoreCertificatesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListTrustStoreCertificatesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListTrustStoreCertificatesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListTrustStoreCertificates operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListTrustStoreCertificates operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListTrustStoreCertificates
        ///         operation.
        /// REST API Reference for ListTrustStoreCertificates Operation
        public virtual IAsyncResult BeginListTrustStoreCertificates(ListTrustStoreCertificatesRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListTrustStoreCertificatesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListTrustStoreCertificatesResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListTrustStoreCertificates operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListTrustStoreCertificates.
        /// 
        /// Returns a  ListTrustStoreCertificatesResult from WorkSpacesWeb.
        /// REST API Reference for ListTrustStoreCertificates Operation
        public virtual ListTrustStoreCertificatesResponse EndListTrustStoreCertificates(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListTrustStores
        /// 
        /// Retrieves a list of trust stores.
        /// 
        /// Container for the necessary parameters to execute the ListTrustStores service method.
        /// 
        /// The response from the ListTrustStores service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for ListTrustStores Operation
        public virtual ListTrustStoresResponse ListTrustStores(ListTrustStoresRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListTrustStoresRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListTrustStoresResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListTrustStores operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListTrustStores operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListTrustStores
        ///         operation.
        /// REST API Reference for ListTrustStores Operation
        public virtual IAsyncResult BeginListTrustStores(ListTrustStoresRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListTrustStoresRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListTrustStoresResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListTrustStores operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListTrustStores.
        /// 
        /// Returns a  ListTrustStoresResult from WorkSpacesWeb.
        /// REST API Reference for ListTrustStores Operation
        public virtual ListTrustStoresResponse EndListTrustStores(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListUserAccessLoggingSettings
        /// 
        /// Retrieves a list of user access logging settings.
        /// 
        /// Container for the necessary parameters to execute the ListUserAccessLoggingSettings service method.
        /// 
        /// The response from the ListUserAccessLoggingSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for ListUserAccessLoggingSettings Operation
        public virtual ListUserAccessLoggingSettingsResponse ListUserAccessLoggingSettings(ListUserAccessLoggingSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListUserAccessLoggingSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListUserAccessLoggingSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListUserAccessLoggingSettings
        ///         operation.
        /// REST API Reference for ListUserAccessLoggingSettings Operation
        public virtual IAsyncResult BeginListUserAccessLoggingSettings(ListUserAccessLoggingSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListUserAccessLoggingSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListUserAccessLoggingSettings.
        /// 
        /// Returns a  ListUserAccessLoggingSettingsResult from WorkSpacesWeb.
        /// REST API Reference for ListUserAccessLoggingSettings Operation
        public virtual ListUserAccessLoggingSettingsResponse EndListUserAccessLoggingSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListUserSettings
        /// 
        /// Retrieves a list of user settings.
        /// 
        /// Container for the necessary parameters to execute the ListUserSettings service method.
        /// 
        /// The response from the ListUserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for ListUserSettings Operation
        public virtual ListUserSettingsResponse ListUserSettings(ListUserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListUserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListUserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListUserSettings
        ///         operation.
        /// REST API Reference for ListUserSettings Operation
        public virtual IAsyncResult BeginListUserSettings(ListUserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListUserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListUserSettings.
        /// 
        /// Returns a  ListUserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for ListUserSettings Operation
        public virtual ListUserSettingsResponse EndListUserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  TagResource
        /// 
        /// Adds or overwrites one or more tags for the specified resource.
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        /// The response from the TagResource service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There are too many tags.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for TagResource Operation
        public virtual TagResourceResponse TagResource(TagResourceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the TagResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the TagResource operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndTagResource
        ///         operation.
        /// REST API Reference for TagResource Operation
        public virtual IAsyncResult BeginTagResource(TagResourceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  TagResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginTagResource.
        /// 
        /// Returns a  TagResourceResult from WorkSpacesWeb.
        /// REST API Reference for TagResource Operation
        public virtual TagResourceResponse EndTagResource(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UntagResource
        /// 
        /// Removes one or more tags from the specified resource.
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        /// The response from the UntagResource service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for UntagResource Operation
        public virtual UntagResourceResponse UntagResource(UntagResourceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UntagResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UntagResource operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUntagResource
        ///         operation.
        /// REST API Reference for UntagResource Operation
        public virtual IAsyncResult BeginUntagResource(UntagResourceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UntagResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUntagResource.
        /// 
        /// Returns a  UntagResourceResult from WorkSpacesWeb.
        /// REST API Reference for UntagResource Operation
        public virtual UntagResourceResponse EndUntagResource(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateBrowserSettings
        /// 
        /// Updates browser settings.
        /// 
        /// Container for the necessary parameters to execute the UpdateBrowserSettings service method.
        /// 
        /// The response from the UpdateBrowserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for UpdateBrowserSettings Operation
        public virtual UpdateBrowserSettingsResponse UpdateBrowserSettings(UpdateBrowserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateBrowserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateBrowserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateBrowserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateBrowserSettings
        ///         operation.
        /// REST API Reference for UpdateBrowserSettings Operation
        public virtual IAsyncResult BeginUpdateBrowserSettings(UpdateBrowserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateBrowserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateBrowserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateBrowserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateBrowserSettings.
        /// 
        /// Returns a  UpdateBrowserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for UpdateBrowserSettings Operation
        public virtual UpdateBrowserSettingsResponse EndUpdateBrowserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateIdentityProvider
        /// 
        /// Updates the identity provider.
        /// 
        /// Container for the necessary parameters to execute the UpdateIdentityProvider service method.
        /// 
        /// The response from the UpdateIdentityProvider service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for UpdateIdentityProvider Operation
        public virtual UpdateIdentityProviderResponse UpdateIdentityProvider(UpdateIdentityProviderRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateIdentityProviderResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateIdentityProvider operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateIdentityProvider operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateIdentityProvider
        ///         operation.
        /// REST API Reference for UpdateIdentityProvider Operation
        public virtual IAsyncResult BeginUpdateIdentityProvider(UpdateIdentityProviderRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateIdentityProviderResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateIdentityProvider operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateIdentityProvider.
        /// 
        /// Returns a  UpdateIdentityProviderResult from WorkSpacesWeb.
        /// REST API Reference for UpdateIdentityProvider Operation
        public virtual UpdateIdentityProviderResponse EndUpdateIdentityProvider(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateIpAccessSettings
        /// 
        /// Updates IP access settings.
        /// 
        /// Container for the necessary parameters to execute the UpdateIpAccessSettings service method.
        /// 
        /// The response from the UpdateIpAccessSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for UpdateIpAccessSettings Operation
        public virtual UpdateIpAccessSettingsResponse UpdateIpAccessSettings(UpdateIpAccessSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateIpAccessSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateIpAccessSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateIpAccessSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateIpAccessSettings
        ///         operation.
        /// REST API Reference for UpdateIpAccessSettings Operation
        public virtual IAsyncResult BeginUpdateIpAccessSettings(UpdateIpAccessSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateIpAccessSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateIpAccessSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateIpAccessSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateIpAccessSettings.
        /// 
        /// Returns a  UpdateIpAccessSettingsResult from WorkSpacesWeb.
        /// REST API Reference for UpdateIpAccessSettings Operation
        public virtual UpdateIpAccessSettingsResponse EndUpdateIpAccessSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateNetworkSettings
        /// 
        /// Updates network settings.
        /// 
        /// Container for the necessary parameters to execute the UpdateNetworkSettings service method.
        /// 
        /// The response from the UpdateNetworkSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for UpdateNetworkSettings Operation
        public virtual UpdateNetworkSettingsResponse UpdateNetworkSettings(UpdateNetworkSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateNetworkSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateNetworkSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateNetworkSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateNetworkSettings
        ///         operation.
        /// REST API Reference for UpdateNetworkSettings Operation
        public virtual IAsyncResult BeginUpdateNetworkSettings(UpdateNetworkSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateNetworkSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateNetworkSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateNetworkSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateNetworkSettings.
        /// 
        /// Returns a  UpdateNetworkSettingsResult from WorkSpacesWeb.
        /// REST API Reference for UpdateNetworkSettings Operation
        public virtual UpdateNetworkSettingsResponse EndUpdateNetworkSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdatePortal
        /// 
        /// Updates a web portal.
        /// 
        /// Container for the necessary parameters to execute the UpdatePortal service method.
        /// 
        /// The response from the UpdatePortal service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is a conflict.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for UpdatePortal Operation
        public virtual UpdatePortalResponse UpdatePortal(UpdatePortalRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdatePortalRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdatePortalResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdatePortal operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdatePortal operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdatePortal
        ///         operation.
        /// REST API Reference for UpdatePortal Operation
        public virtual IAsyncResult BeginUpdatePortal(UpdatePortalRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdatePortalRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdatePortalResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdatePortal operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdatePortal.
        /// 
        /// Returns a  UpdatePortalResult from WorkSpacesWeb.
        /// REST API Reference for UpdatePortal Operation
        public virtual UpdatePortalResponse EndUpdatePortal(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateTrustStore
        /// 
        /// Updates the trust store.
        /// 
        /// Container for the necessary parameters to execute the UpdateTrustStore service method.
        /// 
        /// The response from the UpdateTrustStore service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// The service quota has been exceeded.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for UpdateTrustStore Operation
        public virtual UpdateTrustStoreResponse UpdateTrustStore(UpdateTrustStoreRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateTrustStoreResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateTrustStore operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateTrustStore operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateTrustStore
        ///         operation.
        /// REST API Reference for UpdateTrustStore Operation
        public virtual IAsyncResult BeginUpdateTrustStore(UpdateTrustStoreRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateTrustStoreRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateTrustStoreResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateTrustStore operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateTrustStore.
        /// 
        /// Returns a  UpdateTrustStoreResult from WorkSpacesWeb.
        /// REST API Reference for UpdateTrustStore Operation
        public virtual UpdateTrustStoreResponse EndUpdateTrustStore(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateUserAccessLoggingSettings
        /// 
        /// Updates the user access logging settings.
        /// 
        /// Container for the necessary parameters to execute the UpdateUserAccessLoggingSettings service method.
        /// 
        /// The response from the UpdateUserAccessLoggingSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for UpdateUserAccessLoggingSettings Operation
        public virtual UpdateUserAccessLoggingSettingsResponse UpdateUserAccessLoggingSettings(UpdateUserAccessLoggingSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateUserAccessLoggingSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateUserAccessLoggingSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateUserAccessLoggingSettings
        ///         operation.
        /// REST API Reference for UpdateUserAccessLoggingSettings Operation
        public virtual IAsyncResult BeginUpdateUserAccessLoggingSettings(UpdateUserAccessLoggingSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserAccessLoggingSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserAccessLoggingSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateUserAccessLoggingSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateUserAccessLoggingSettings.
        /// 
        /// Returns a  UpdateUserAccessLoggingSettingsResult from WorkSpacesWeb.
        /// REST API Reference for UpdateUserAccessLoggingSettings Operation
        public virtual UpdateUserAccessLoggingSettingsResponse EndUpdateUserAccessLoggingSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateUserSettings
        /// 
        /// Updates the user settings.
        /// 
        /// Container for the necessary parameters to execute the UpdateUserSettings service method.
        /// 
        /// The response from the UpdateUserSettings service method, as returned by WorkSpacesWeb.
        /// 
        /// Access is denied.
        /// 
        /// 
        /// There is an internal server error.
        /// 
        /// 
        /// The resource cannot be found.
        /// 
        /// 
        /// There is a throttling error.
        /// 
        /// 
        /// There is a validation error.
        /// 
        /// REST API Reference for UpdateUserSettings Operation
        public virtual UpdateUserSettingsResponse UpdateUserSettings(UpdateUserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateUserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateUserSettings operation on AmazonWorkSpacesWebClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateUserSettings
        ///         operation.
        /// REST API Reference for UpdateUserSettings Operation
        public virtual IAsyncResult BeginUpdateUserSettings(UpdateUserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateUserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateUserSettings.
        /// 
        /// Returns a  UpdateUserSettingsResult from WorkSpacesWeb.
        /// REST API Reference for UpdateUserSettings Operation
        public virtual UpdateUserSettingsResponse EndUpdateUserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
    }
}