/*
 * 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 iotwireless-2020-11-22.normal.json service model.
 */
using System;
using System.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.IoTWireless.Model;
using Amazon.IoTWireless.Model.Internal.MarshallTransformations;
using Amazon.IoTWireless.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.IoTWireless
{
    /// 
    /// Implementation for accessing IoTWireless
    ///
    /// AWS IoT Wireless provides bi-directional communication between internet-connected
    /// wireless devices and the AWS Cloud. To onboard both LoRaWAN and Sidewalk devices to
    /// AWS IoT, use the IoT Wireless API. These wireless devices use the Low Power Wide Area
    /// Networking (LPWAN) communication protocol to communicate with AWS IoT.
    /// 
    ///  
    /// 
    /// Using the API, you can perform create, read, update, and delete operations for your
    /// wireless devices, gateways, destinations, and profiles. After onboarding your devices,
    /// you can use the API operations to set log levels and monitor your devices with CloudWatch.
    /// 
    ///  
    /// 
    /// You can also use the API operations to create multicast groups and schedule a multicast
    /// session for sending a downlink message to devices in the group. By using Firmware
    /// Updates Over-The-Air (FUOTA) API operations, you can create a FUOTA task and schedule
    /// a session to update the firmware of individual devices or an entire group of devices
    /// in a multicast group.
    /// 
    /// 
    public partial class AmazonIoTWirelessClient : AmazonServiceClient, IAmazonIoTWireless
    {
        private static IServiceMetadata serviceMetadata = new AmazonIoTWirelessMetadata();
        private IIoTWirelessPaginatorFactory _paginators;
        /// 
        /// Paginators for the service
        /// 
        public IIoTWirelessPaginatorFactory Paginators 
        {
            get 
            {
                if (this._paginators == null) 
                {
                    this._paginators = new IoTWirelessPaginatorFactory(this);
                }
                return this._paginators;
            }
        }
        #region Constructors
        /// 
        /// Constructs AmazonIoTWirelessClient 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 AmazonIoTWirelessClient()
            : base(FallbackCredentialsFactory.GetCredentials(), new AmazonIoTWirelessConfig()) { }
        /// 
        /// Constructs AmazonIoTWirelessClient 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 AmazonIoTWirelessClient(RegionEndpoint region)
            : base(FallbackCredentialsFactory.GetCredentials(), new AmazonIoTWirelessConfig{RegionEndpoint = region}) { }
        /// 
        /// Constructs AmazonIoTWirelessClient 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 AmazonIoTWirelessClient Configuration Object
        public AmazonIoTWirelessClient(AmazonIoTWirelessConfig config)
            : base(FallbackCredentialsFactory.GetCredentials(config), config){}
        /// 
        /// Constructs AmazonIoTWirelessClient with AWS Credentials
        /// 
        /// AWS Credentials
        public AmazonIoTWirelessClient(AWSCredentials credentials)
            : this(credentials, new AmazonIoTWirelessConfig())
        {
        }
        /// 
        /// Constructs AmazonIoTWirelessClient with AWS Credentials
        /// 
        /// AWS Credentials
        /// The region to connect.
        public AmazonIoTWirelessClient(AWSCredentials credentials, RegionEndpoint region)
            : this(credentials, new AmazonIoTWirelessConfig{RegionEndpoint = region})
        {
        }
        /// 
        /// Constructs AmazonIoTWirelessClient with AWS Credentials and an
        /// AmazonIoTWirelessClient Configuration object.
        /// 
        /// AWS Credentials
        /// The AmazonIoTWirelessClient Configuration Object
        public AmazonIoTWirelessClient(AWSCredentials credentials, AmazonIoTWirelessConfig clientConfig)
            : base(credentials, clientConfig)
        {
        }
        /// 
        /// Constructs AmazonIoTWirelessClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        public AmazonIoTWirelessClient(string awsAccessKeyId, string awsSecretAccessKey)
            : this(awsAccessKeyId, awsSecretAccessKey, new AmazonIoTWirelessConfig())
        {
        }
        /// 
        /// Constructs AmazonIoTWirelessClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// The region to connect.
        public AmazonIoTWirelessClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
            : this(awsAccessKeyId, awsSecretAccessKey, new AmazonIoTWirelessConfig() {RegionEndpoint=region})
        {
        }
        /// 
        /// Constructs AmazonIoTWirelessClient with AWS Access Key ID, AWS Secret Key and an
        /// AmazonIoTWirelessClient Configuration object. 
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// The AmazonIoTWirelessClient Configuration Object
        public AmazonIoTWirelessClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonIoTWirelessConfig clientConfig)
            : base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
        {
        }
        /// 
        /// Constructs AmazonIoTWirelessClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        public AmazonIoTWirelessClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
            : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonIoTWirelessConfig())
        {
        }
        /// 
        /// Constructs AmazonIoTWirelessClient 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 AmazonIoTWirelessClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
            : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonIoTWirelessConfig{RegionEndpoint = region})
        {
        }
        /// 
        /// Constructs AmazonIoTWirelessClient with AWS Access Key ID, AWS Secret Key and an
        /// AmazonIoTWirelessClient Configuration object. 
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        /// The AmazonIoTWirelessClient Configuration Object
        public AmazonIoTWirelessClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonIoTWirelessConfig 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 AmazonIoTWirelessEndpointResolver());
        }    
        /// 
        /// 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  AssociateAwsAccountWithPartnerAccount
        /// 
        /// Associates a partner account with your AWS account.
        /// 
        /// Container for the necessary parameters to execute the AssociateAwsAccountWithPartnerAccount service method.
        /// 
        /// The response from the AssociateAwsAccountWithPartnerAccount service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateAwsAccountWithPartnerAccount Operation
        public virtual AssociateAwsAccountWithPartnerAccountResponse AssociateAwsAccountWithPartnerAccount(AssociateAwsAccountWithPartnerAccountRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateAwsAccountWithPartnerAccountRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateAwsAccountWithPartnerAccountResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Associates a partner account with your AWS account.
        /// 
        /// Container for the necessary parameters to execute the AssociateAwsAccountWithPartnerAccount service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the AssociateAwsAccountWithPartnerAccount service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateAwsAccountWithPartnerAccount Operation
        public virtual Task AssociateAwsAccountWithPartnerAccountAsync(AssociateAwsAccountWithPartnerAccountRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateAwsAccountWithPartnerAccountRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateAwsAccountWithPartnerAccountResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  AssociateMulticastGroupWithFuotaTask
        /// 
        /// Associate a multicast group with a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the AssociateMulticastGroupWithFuotaTask service method.
        /// 
        /// The response from the AssociateMulticastGroupWithFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateMulticastGroupWithFuotaTask Operation
        public virtual AssociateMulticastGroupWithFuotaTaskResponse AssociateMulticastGroupWithFuotaTask(AssociateMulticastGroupWithFuotaTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateMulticastGroupWithFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateMulticastGroupWithFuotaTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Associate a multicast group with a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the AssociateMulticastGroupWithFuotaTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the AssociateMulticastGroupWithFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateMulticastGroupWithFuotaTask Operation
        public virtual Task AssociateMulticastGroupWithFuotaTaskAsync(AssociateMulticastGroupWithFuotaTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateMulticastGroupWithFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateMulticastGroupWithFuotaTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  AssociateWirelessDeviceWithFuotaTask
        /// 
        /// Associate a wireless device with a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the AssociateWirelessDeviceWithFuotaTask service method.
        /// 
        /// The response from the AssociateWirelessDeviceWithFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateWirelessDeviceWithFuotaTask Operation
        public virtual AssociateWirelessDeviceWithFuotaTaskResponse AssociateWirelessDeviceWithFuotaTask(AssociateWirelessDeviceWithFuotaTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateWirelessDeviceWithFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateWirelessDeviceWithFuotaTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Associate a wireless device with a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the AssociateWirelessDeviceWithFuotaTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the AssociateWirelessDeviceWithFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateWirelessDeviceWithFuotaTask Operation
        public virtual Task AssociateWirelessDeviceWithFuotaTaskAsync(AssociateWirelessDeviceWithFuotaTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateWirelessDeviceWithFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateWirelessDeviceWithFuotaTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  AssociateWirelessDeviceWithMulticastGroup
        /// 
        /// Associates a wireless device with a multicast group.
        /// 
        /// Container for the necessary parameters to execute the AssociateWirelessDeviceWithMulticastGroup service method.
        /// 
        /// The response from the AssociateWirelessDeviceWithMulticastGroup service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateWirelessDeviceWithMulticastGroup Operation
        public virtual AssociateWirelessDeviceWithMulticastGroupResponse AssociateWirelessDeviceWithMulticastGroup(AssociateWirelessDeviceWithMulticastGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateWirelessDeviceWithMulticastGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateWirelessDeviceWithMulticastGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Associates a wireless device with a multicast group.
        /// 
        /// Container for the necessary parameters to execute the AssociateWirelessDeviceWithMulticastGroup service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the AssociateWirelessDeviceWithMulticastGroup service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateWirelessDeviceWithMulticastGroup Operation
        public virtual Task AssociateWirelessDeviceWithMulticastGroupAsync(AssociateWirelessDeviceWithMulticastGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateWirelessDeviceWithMulticastGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateWirelessDeviceWithMulticastGroupResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  AssociateWirelessDeviceWithThing
        /// 
        /// Associates a wireless device with a thing.
        /// 
        /// Container for the necessary parameters to execute the AssociateWirelessDeviceWithThing service method.
        /// 
        /// The response from the AssociateWirelessDeviceWithThing service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateWirelessDeviceWithThing Operation
        public virtual AssociateWirelessDeviceWithThingResponse AssociateWirelessDeviceWithThing(AssociateWirelessDeviceWithThingRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateWirelessDeviceWithThingRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateWirelessDeviceWithThingResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Associates a wireless device with a thing.
        /// 
        /// Container for the necessary parameters to execute the AssociateWirelessDeviceWithThing service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the AssociateWirelessDeviceWithThing service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateWirelessDeviceWithThing Operation
        public virtual Task AssociateWirelessDeviceWithThingAsync(AssociateWirelessDeviceWithThingRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateWirelessDeviceWithThingRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateWirelessDeviceWithThingResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  AssociateWirelessGatewayWithCertificate
        /// 
        /// Associates a wireless gateway with a certificate.
        /// 
        /// Container for the necessary parameters to execute the AssociateWirelessGatewayWithCertificate service method.
        /// 
        /// The response from the AssociateWirelessGatewayWithCertificate service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateWirelessGatewayWithCertificate Operation
        public virtual AssociateWirelessGatewayWithCertificateResponse AssociateWirelessGatewayWithCertificate(AssociateWirelessGatewayWithCertificateRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateWirelessGatewayWithCertificateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateWirelessGatewayWithCertificateResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Associates a wireless gateway with a certificate.
        /// 
        /// Container for the necessary parameters to execute the AssociateWirelessGatewayWithCertificate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the AssociateWirelessGatewayWithCertificate service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateWirelessGatewayWithCertificate Operation
        public virtual Task AssociateWirelessGatewayWithCertificateAsync(AssociateWirelessGatewayWithCertificateRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateWirelessGatewayWithCertificateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateWirelessGatewayWithCertificateResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  AssociateWirelessGatewayWithThing
        /// 
        /// Associates a wireless gateway with a thing.
        /// 
        /// Container for the necessary parameters to execute the AssociateWirelessGatewayWithThing service method.
        /// 
        /// The response from the AssociateWirelessGatewayWithThing service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateWirelessGatewayWithThing Operation
        public virtual AssociateWirelessGatewayWithThingResponse AssociateWirelessGatewayWithThing(AssociateWirelessGatewayWithThingRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateWirelessGatewayWithThingRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateWirelessGatewayWithThingResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Associates a wireless gateway with a thing.
        /// 
        /// Container for the necessary parameters to execute the AssociateWirelessGatewayWithThing service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the AssociateWirelessGatewayWithThing service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for AssociateWirelessGatewayWithThing Operation
        public virtual Task AssociateWirelessGatewayWithThingAsync(AssociateWirelessGatewayWithThingRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateWirelessGatewayWithThingRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateWirelessGatewayWithThingResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CancelMulticastGroupSession
        /// 
        /// Cancels an existing multicast group session.
        /// 
        /// Container for the necessary parameters to execute the CancelMulticastGroupSession service method.
        /// 
        /// The response from the CancelMulticastGroupSession service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CancelMulticastGroupSession Operation
        public virtual CancelMulticastGroupSessionResponse CancelMulticastGroupSession(CancelMulticastGroupSessionRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CancelMulticastGroupSessionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CancelMulticastGroupSessionResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Cancels an existing multicast group session.
        /// 
        /// Container for the necessary parameters to execute the CancelMulticastGroupSession service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CancelMulticastGroupSession service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CancelMulticastGroupSession Operation
        public virtual Task CancelMulticastGroupSessionAsync(CancelMulticastGroupSessionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CancelMulticastGroupSessionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CancelMulticastGroupSessionResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateDestination
        /// 
        /// Creates a new destination that maps a device message to an AWS IoT rule.
        /// 
        /// Container for the necessary parameters to execute the CreateDestination service method.
        /// 
        /// The response from the CreateDestination service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateDestination Operation
        public virtual CreateDestinationResponse CreateDestination(CreateDestinationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateDestinationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateDestinationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a new destination that maps a device message to an AWS IoT rule.
        /// 
        /// Container for the necessary parameters to execute the CreateDestination service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateDestination service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateDestination Operation
        public virtual Task CreateDestinationAsync(CreateDestinationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateDestinationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateDestinationResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateDeviceProfile
        /// 
        /// Creates a new device profile.
        /// 
        /// Container for the necessary parameters to execute the CreateDeviceProfile service method.
        /// 
        /// The response from the CreateDeviceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateDeviceProfile Operation
        public virtual CreateDeviceProfileResponse CreateDeviceProfile(CreateDeviceProfileRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateDeviceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateDeviceProfileResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a new device profile.
        /// 
        /// Container for the necessary parameters to execute the CreateDeviceProfile service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateDeviceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateDeviceProfile Operation
        public virtual Task CreateDeviceProfileAsync(CreateDeviceProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateDeviceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateDeviceProfileResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateFuotaTask
        /// 
        /// Creates a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the CreateFuotaTask service method.
        /// 
        /// The response from the CreateFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateFuotaTask Operation
        public virtual CreateFuotaTaskResponse CreateFuotaTask(CreateFuotaTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateFuotaTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the CreateFuotaTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateFuotaTask Operation
        public virtual Task CreateFuotaTaskAsync(CreateFuotaTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateFuotaTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateMulticastGroup
        /// 
        /// Creates a multicast group.
        /// 
        /// Container for the necessary parameters to execute the CreateMulticastGroup service method.
        /// 
        /// The response from the CreateMulticastGroup service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateMulticastGroup Operation
        public virtual CreateMulticastGroupResponse CreateMulticastGroup(CreateMulticastGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateMulticastGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateMulticastGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a multicast group.
        /// 
        /// Container for the necessary parameters to execute the CreateMulticastGroup service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateMulticastGroup service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateMulticastGroup Operation
        public virtual Task CreateMulticastGroupAsync(CreateMulticastGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateMulticastGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateMulticastGroupResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateNetworkAnalyzerConfiguration
        /// 
        /// Creates a new network analyzer configuration.
        /// 
        /// Container for the necessary parameters to execute the CreateNetworkAnalyzerConfiguration service method.
        /// 
        /// The response from the CreateNetworkAnalyzerConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateNetworkAnalyzerConfiguration Operation
        public virtual CreateNetworkAnalyzerConfigurationResponse CreateNetworkAnalyzerConfiguration(CreateNetworkAnalyzerConfigurationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateNetworkAnalyzerConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateNetworkAnalyzerConfigurationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a new network analyzer configuration.
        /// 
        /// Container for the necessary parameters to execute the CreateNetworkAnalyzerConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateNetworkAnalyzerConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateNetworkAnalyzerConfiguration Operation
        public virtual Task CreateNetworkAnalyzerConfigurationAsync(CreateNetworkAnalyzerConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateNetworkAnalyzerConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateNetworkAnalyzerConfigurationResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateServiceProfile
        /// 
        /// Creates a new service profile.
        /// 
        /// Container for the necessary parameters to execute the CreateServiceProfile service method.
        /// 
        /// The response from the CreateServiceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateServiceProfile Operation
        public virtual CreateServiceProfileResponse CreateServiceProfile(CreateServiceProfileRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateServiceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateServiceProfileResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a new service profile.
        /// 
        /// Container for the necessary parameters to execute the CreateServiceProfile service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateServiceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateServiceProfile Operation
        public virtual Task CreateServiceProfileAsync(CreateServiceProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateServiceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateServiceProfileResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateWirelessDevice
        /// 
        /// Provisions a wireless device.
        /// 
        /// Container for the necessary parameters to execute the CreateWirelessDevice service method.
        /// 
        /// The response from the CreateWirelessDevice service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateWirelessDevice Operation
        public virtual CreateWirelessDeviceResponse CreateWirelessDevice(CreateWirelessDeviceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateWirelessDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateWirelessDeviceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Provisions a wireless device.
        /// 
        /// Container for the necessary parameters to execute the CreateWirelessDevice service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateWirelessDevice service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateWirelessDevice Operation
        public virtual Task CreateWirelessDeviceAsync(CreateWirelessDeviceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateWirelessDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateWirelessDeviceResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateWirelessGateway
        /// 
        /// Provisions a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the CreateWirelessGateway service method.
        /// 
        /// The response from the CreateWirelessGateway service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateWirelessGateway Operation
        public virtual CreateWirelessGatewayResponse CreateWirelessGateway(CreateWirelessGatewayRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateWirelessGatewayRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateWirelessGatewayResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Provisions a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the CreateWirelessGateway service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateWirelessGateway service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateWirelessGateway Operation
        public virtual Task CreateWirelessGatewayAsync(CreateWirelessGatewayRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateWirelessGatewayRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateWirelessGatewayResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateWirelessGatewayTask
        /// 
        /// Creates a task for a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the CreateWirelessGatewayTask service method.
        /// 
        /// The response from the CreateWirelessGatewayTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateWirelessGatewayTask Operation
        public virtual CreateWirelessGatewayTaskResponse CreateWirelessGatewayTask(CreateWirelessGatewayTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateWirelessGatewayTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateWirelessGatewayTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a task for a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the CreateWirelessGatewayTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateWirelessGatewayTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateWirelessGatewayTask Operation
        public virtual Task CreateWirelessGatewayTaskAsync(CreateWirelessGatewayTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateWirelessGatewayTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateWirelessGatewayTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateWirelessGatewayTaskDefinition
        /// 
        /// Creates a gateway task definition.
        /// 
        /// Container for the necessary parameters to execute the CreateWirelessGatewayTaskDefinition service method.
        /// 
        /// The response from the CreateWirelessGatewayTaskDefinition service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateWirelessGatewayTaskDefinition Operation
        public virtual CreateWirelessGatewayTaskDefinitionResponse CreateWirelessGatewayTaskDefinition(CreateWirelessGatewayTaskDefinitionRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateWirelessGatewayTaskDefinitionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateWirelessGatewayTaskDefinitionResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a gateway task definition.
        /// 
        /// Container for the necessary parameters to execute the CreateWirelessGatewayTaskDefinition service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateWirelessGatewayTaskDefinition service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for CreateWirelessGatewayTaskDefinition Operation
        public virtual Task CreateWirelessGatewayTaskDefinitionAsync(CreateWirelessGatewayTaskDefinitionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateWirelessGatewayTaskDefinitionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateWirelessGatewayTaskDefinitionResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteDestination
        /// 
        /// Deletes a destination.
        /// 
        /// Container for the necessary parameters to execute the DeleteDestination service method.
        /// 
        /// The response from the DeleteDestination service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteDestination Operation
        public virtual DeleteDestinationResponse DeleteDestination(DeleteDestinationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteDestinationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteDestinationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a destination.
        /// 
        /// Container for the necessary parameters to execute the DeleteDestination service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteDestination service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteDestination Operation
        public virtual Task DeleteDestinationAsync(DeleteDestinationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteDestinationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteDestinationResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteDeviceProfile
        /// 
        /// Deletes a device profile.
        /// 
        /// Container for the necessary parameters to execute the DeleteDeviceProfile service method.
        /// 
        /// The response from the DeleteDeviceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteDeviceProfile Operation
        public virtual DeleteDeviceProfileResponse DeleteDeviceProfile(DeleteDeviceProfileRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteDeviceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteDeviceProfileResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a device profile.
        /// 
        /// Container for the necessary parameters to execute the DeleteDeviceProfile service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteDeviceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteDeviceProfile Operation
        public virtual Task DeleteDeviceProfileAsync(DeleteDeviceProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteDeviceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteDeviceProfileResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteFuotaTask
        /// 
        /// Deletes a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the DeleteFuotaTask service method.
        /// 
        /// The response from the DeleteFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteFuotaTask Operation
        public virtual DeleteFuotaTaskResponse DeleteFuotaTask(DeleteFuotaTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteFuotaTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the DeleteFuotaTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteFuotaTask Operation
        public virtual Task DeleteFuotaTaskAsync(DeleteFuotaTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteFuotaTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteMulticastGroup
        /// 
        /// Deletes a multicast group if it is not in use by a fuota task.
        /// 
        /// Container for the necessary parameters to execute the DeleteMulticastGroup service method.
        /// 
        /// The response from the DeleteMulticastGroup service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteMulticastGroup Operation
        public virtual DeleteMulticastGroupResponse DeleteMulticastGroup(DeleteMulticastGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteMulticastGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteMulticastGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a multicast group if it is not in use by a fuota task.
        /// 
        /// Container for the necessary parameters to execute the DeleteMulticastGroup service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteMulticastGroup service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteMulticastGroup Operation
        public virtual Task DeleteMulticastGroupAsync(DeleteMulticastGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteMulticastGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteMulticastGroupResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteNetworkAnalyzerConfiguration
        /// 
        /// Deletes a network analyzer configuration.
        /// 
        /// Container for the necessary parameters to execute the DeleteNetworkAnalyzerConfiguration service method.
        /// 
        /// The response from the DeleteNetworkAnalyzerConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteNetworkAnalyzerConfiguration Operation
        public virtual DeleteNetworkAnalyzerConfigurationResponse DeleteNetworkAnalyzerConfiguration(DeleteNetworkAnalyzerConfigurationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteNetworkAnalyzerConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteNetworkAnalyzerConfigurationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a network analyzer configuration.
        /// 
        /// Container for the necessary parameters to execute the DeleteNetworkAnalyzerConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteNetworkAnalyzerConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteNetworkAnalyzerConfiguration Operation
        public virtual Task DeleteNetworkAnalyzerConfigurationAsync(DeleteNetworkAnalyzerConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteNetworkAnalyzerConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteNetworkAnalyzerConfigurationResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteQueuedMessages
        /// 
        /// Remove queued messages from the downlink queue.
        /// 
        /// Container for the necessary parameters to execute the DeleteQueuedMessages service method.
        /// 
        /// The response from the DeleteQueuedMessages service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteQueuedMessages Operation
        public virtual DeleteQueuedMessagesResponse DeleteQueuedMessages(DeleteQueuedMessagesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteQueuedMessagesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteQueuedMessagesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Remove queued messages from the downlink queue.
        /// 
        /// Container for the necessary parameters to execute the DeleteQueuedMessages service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteQueuedMessages service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteQueuedMessages Operation
        public virtual Task DeleteQueuedMessagesAsync(DeleteQueuedMessagesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteQueuedMessagesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteQueuedMessagesResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteServiceProfile
        /// 
        /// Deletes a service profile.
        /// 
        /// Container for the necessary parameters to execute the DeleteServiceProfile service method.
        /// 
        /// The response from the DeleteServiceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteServiceProfile Operation
        public virtual DeleteServiceProfileResponse DeleteServiceProfile(DeleteServiceProfileRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteServiceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteServiceProfileResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a service profile.
        /// 
        /// Container for the necessary parameters to execute the DeleteServiceProfile service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteServiceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteServiceProfile Operation
        public virtual Task DeleteServiceProfileAsync(DeleteServiceProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteServiceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteServiceProfileResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteWirelessDevice
        /// 
        /// Deletes a wireless device.
        /// 
        /// Container for the necessary parameters to execute the DeleteWirelessDevice service method.
        /// 
        /// The response from the DeleteWirelessDevice service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteWirelessDevice Operation
        public virtual DeleteWirelessDeviceResponse DeleteWirelessDevice(DeleteWirelessDeviceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteWirelessDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteWirelessDeviceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a wireless device.
        /// 
        /// Container for the necessary parameters to execute the DeleteWirelessDevice service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteWirelessDevice service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteWirelessDevice Operation
        public virtual Task DeleteWirelessDeviceAsync(DeleteWirelessDeviceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteWirelessDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteWirelessDeviceResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteWirelessDeviceImportTask
        /// 
        /// Delete an import task.
        /// 
        /// Container for the necessary parameters to execute the DeleteWirelessDeviceImportTask service method.
        /// 
        /// The response from the DeleteWirelessDeviceImportTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteWirelessDeviceImportTask Operation
        public virtual DeleteWirelessDeviceImportTaskResponse DeleteWirelessDeviceImportTask(DeleteWirelessDeviceImportTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteWirelessDeviceImportTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteWirelessDeviceImportTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Delete an import task.
        /// 
        /// Container for the necessary parameters to execute the DeleteWirelessDeviceImportTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteWirelessDeviceImportTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteWirelessDeviceImportTask Operation
        public virtual Task DeleteWirelessDeviceImportTaskAsync(DeleteWirelessDeviceImportTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteWirelessDeviceImportTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteWirelessDeviceImportTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteWirelessGateway
        /// 
        /// Deletes a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the DeleteWirelessGateway service method.
        /// 
        /// The response from the DeleteWirelessGateway service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteWirelessGateway Operation
        public virtual DeleteWirelessGatewayResponse DeleteWirelessGateway(DeleteWirelessGatewayRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteWirelessGatewayRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteWirelessGatewayResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the DeleteWirelessGateway service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteWirelessGateway service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteWirelessGateway Operation
        public virtual Task DeleteWirelessGatewayAsync(DeleteWirelessGatewayRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteWirelessGatewayRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteWirelessGatewayResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteWirelessGatewayTask
        /// 
        /// Deletes a wireless gateway task.
        /// 
        /// Container for the necessary parameters to execute the DeleteWirelessGatewayTask service method.
        /// 
        /// The response from the DeleteWirelessGatewayTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteWirelessGatewayTask Operation
        public virtual DeleteWirelessGatewayTaskResponse DeleteWirelessGatewayTask(DeleteWirelessGatewayTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteWirelessGatewayTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteWirelessGatewayTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a wireless gateway task.
        /// 
        /// Container for the necessary parameters to execute the DeleteWirelessGatewayTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteWirelessGatewayTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteWirelessGatewayTask Operation
        public virtual Task DeleteWirelessGatewayTaskAsync(DeleteWirelessGatewayTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteWirelessGatewayTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteWirelessGatewayTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteWirelessGatewayTaskDefinition
        /// 
        /// Deletes a wireless gateway task definition. Deleting this task definition does not
        /// affect tasks that are currently in progress.
        /// 
        /// Container for the necessary parameters to execute the DeleteWirelessGatewayTaskDefinition service method.
        /// 
        /// The response from the DeleteWirelessGatewayTaskDefinition service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteWirelessGatewayTaskDefinition Operation
        public virtual DeleteWirelessGatewayTaskDefinitionResponse DeleteWirelessGatewayTaskDefinition(DeleteWirelessGatewayTaskDefinitionRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteWirelessGatewayTaskDefinitionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteWirelessGatewayTaskDefinitionResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a wireless gateway task definition. Deleting this task definition does not
        /// affect tasks that are currently in progress.
        /// 
        /// Container for the necessary parameters to execute the DeleteWirelessGatewayTaskDefinition service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteWirelessGatewayTaskDefinition service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeleteWirelessGatewayTaskDefinition Operation
        public virtual Task DeleteWirelessGatewayTaskDefinitionAsync(DeleteWirelessGatewayTaskDefinitionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteWirelessGatewayTaskDefinitionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteWirelessGatewayTaskDefinitionResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeregisterWirelessDevice
        /// 
        /// Deregister a wireless device from AWS IoT Wireless.
        /// 
        /// Container for the necessary parameters to execute the DeregisterWirelessDevice service method.
        /// 
        /// The response from the DeregisterWirelessDevice service method, as returned by IoTWireless.
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeregisterWirelessDevice Operation
        public virtual DeregisterWirelessDeviceResponse DeregisterWirelessDevice(DeregisterWirelessDeviceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeregisterWirelessDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeregisterWirelessDeviceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deregister a wireless device from AWS IoT Wireless.
        /// 
        /// Container for the necessary parameters to execute the DeregisterWirelessDevice service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeregisterWirelessDevice service method, as returned by IoTWireless.
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DeregisterWirelessDevice Operation
        public virtual Task DeregisterWirelessDeviceAsync(DeregisterWirelessDeviceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeregisterWirelessDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeregisterWirelessDeviceResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DisassociateAwsAccountFromPartnerAccount
        /// 
        /// Disassociates your AWS account from a partner account. If PartnerAccountId
        /// and PartnerType are null, disassociates your AWS account
        /// from all partner accounts.
        /// 
        /// Container for the necessary parameters to execute the DisassociateAwsAccountFromPartnerAccount service method.
        /// 
        /// The response from the DisassociateAwsAccountFromPartnerAccount service method, as returned by IoTWireless.
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateAwsAccountFromPartnerAccount Operation
        public virtual DisassociateAwsAccountFromPartnerAccountResponse DisassociateAwsAccountFromPartnerAccount(DisassociateAwsAccountFromPartnerAccountRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateAwsAccountFromPartnerAccountRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateAwsAccountFromPartnerAccountResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Disassociates your AWS account from a partner account. If PartnerAccountId
        /// and PartnerType are null, disassociates your AWS account
        /// from all partner accounts.
        /// 
        /// Container for the necessary parameters to execute the DisassociateAwsAccountFromPartnerAccount service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateAwsAccountFromPartnerAccount service method, as returned by IoTWireless.
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateAwsAccountFromPartnerAccount Operation
        public virtual Task DisassociateAwsAccountFromPartnerAccountAsync(DisassociateAwsAccountFromPartnerAccountRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateAwsAccountFromPartnerAccountRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateAwsAccountFromPartnerAccountResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DisassociateMulticastGroupFromFuotaTask
        /// 
        /// Disassociates a multicast group from a fuota task.
        /// 
        /// Container for the necessary parameters to execute the DisassociateMulticastGroupFromFuotaTask service method.
        /// 
        /// The response from the DisassociateMulticastGroupFromFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateMulticastGroupFromFuotaTask Operation
        public virtual DisassociateMulticastGroupFromFuotaTaskResponse DisassociateMulticastGroupFromFuotaTask(DisassociateMulticastGroupFromFuotaTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateMulticastGroupFromFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateMulticastGroupFromFuotaTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Disassociates a multicast group from a fuota task.
        /// 
        /// Container for the necessary parameters to execute the DisassociateMulticastGroupFromFuotaTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateMulticastGroupFromFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateMulticastGroupFromFuotaTask Operation
        public virtual Task DisassociateMulticastGroupFromFuotaTaskAsync(DisassociateMulticastGroupFromFuotaTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateMulticastGroupFromFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateMulticastGroupFromFuotaTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DisassociateWirelessDeviceFromFuotaTask
        /// 
        /// Disassociates a wireless device from a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the DisassociateWirelessDeviceFromFuotaTask service method.
        /// 
        /// The response from the DisassociateWirelessDeviceFromFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateWirelessDeviceFromFuotaTask Operation
        public virtual DisassociateWirelessDeviceFromFuotaTaskResponse DisassociateWirelessDeviceFromFuotaTask(DisassociateWirelessDeviceFromFuotaTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateWirelessDeviceFromFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateWirelessDeviceFromFuotaTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Disassociates a wireless device from a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the DisassociateWirelessDeviceFromFuotaTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateWirelessDeviceFromFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateWirelessDeviceFromFuotaTask Operation
        public virtual Task DisassociateWirelessDeviceFromFuotaTaskAsync(DisassociateWirelessDeviceFromFuotaTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateWirelessDeviceFromFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateWirelessDeviceFromFuotaTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DisassociateWirelessDeviceFromMulticastGroup
        /// 
        /// Disassociates a wireless device from a multicast group.
        /// 
        /// Container for the necessary parameters to execute the DisassociateWirelessDeviceFromMulticastGroup service method.
        /// 
        /// The response from the DisassociateWirelessDeviceFromMulticastGroup service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateWirelessDeviceFromMulticastGroup Operation
        public virtual DisassociateWirelessDeviceFromMulticastGroupResponse DisassociateWirelessDeviceFromMulticastGroup(DisassociateWirelessDeviceFromMulticastGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateWirelessDeviceFromMulticastGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateWirelessDeviceFromMulticastGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Disassociates a wireless device from a multicast group.
        /// 
        /// Container for the necessary parameters to execute the DisassociateWirelessDeviceFromMulticastGroup service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateWirelessDeviceFromMulticastGroup service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateWirelessDeviceFromMulticastGroup Operation
        public virtual Task DisassociateWirelessDeviceFromMulticastGroupAsync(DisassociateWirelessDeviceFromMulticastGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateWirelessDeviceFromMulticastGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateWirelessDeviceFromMulticastGroupResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DisassociateWirelessDeviceFromThing
        /// 
        /// Disassociates a wireless device from its currently associated thing.
        /// 
        /// Container for the necessary parameters to execute the DisassociateWirelessDeviceFromThing service method.
        /// 
        /// The response from the DisassociateWirelessDeviceFromThing service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateWirelessDeviceFromThing Operation
        public virtual DisassociateWirelessDeviceFromThingResponse DisassociateWirelessDeviceFromThing(DisassociateWirelessDeviceFromThingRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateWirelessDeviceFromThingRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateWirelessDeviceFromThingResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Disassociates a wireless device from its currently associated thing.
        /// 
        /// Container for the necessary parameters to execute the DisassociateWirelessDeviceFromThing service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateWirelessDeviceFromThing service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateWirelessDeviceFromThing Operation
        public virtual Task DisassociateWirelessDeviceFromThingAsync(DisassociateWirelessDeviceFromThingRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateWirelessDeviceFromThingRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateWirelessDeviceFromThingResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DisassociateWirelessGatewayFromCertificate
        /// 
        /// Disassociates a wireless gateway from its currently associated certificate.
        /// 
        /// Container for the necessary parameters to execute the DisassociateWirelessGatewayFromCertificate service method.
        /// 
        /// The response from the DisassociateWirelessGatewayFromCertificate service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateWirelessGatewayFromCertificate Operation
        public virtual DisassociateWirelessGatewayFromCertificateResponse DisassociateWirelessGatewayFromCertificate(DisassociateWirelessGatewayFromCertificateRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateWirelessGatewayFromCertificateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateWirelessGatewayFromCertificateResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Disassociates a wireless gateway from its currently associated certificate.
        /// 
        /// Container for the necessary parameters to execute the DisassociateWirelessGatewayFromCertificate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateWirelessGatewayFromCertificate service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateWirelessGatewayFromCertificate Operation
        public virtual Task DisassociateWirelessGatewayFromCertificateAsync(DisassociateWirelessGatewayFromCertificateRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateWirelessGatewayFromCertificateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateWirelessGatewayFromCertificateResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DisassociateWirelessGatewayFromThing
        /// 
        /// Disassociates a wireless gateway from its currently associated thing.
        /// 
        /// Container for the necessary parameters to execute the DisassociateWirelessGatewayFromThing service method.
        /// 
        /// The response from the DisassociateWirelessGatewayFromThing service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateWirelessGatewayFromThing Operation
        public virtual DisassociateWirelessGatewayFromThingResponse DisassociateWirelessGatewayFromThing(DisassociateWirelessGatewayFromThingRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateWirelessGatewayFromThingRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateWirelessGatewayFromThingResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Disassociates a wireless gateway from its currently associated thing.
        /// 
        /// Container for the necessary parameters to execute the DisassociateWirelessGatewayFromThing service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateWirelessGatewayFromThing service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for DisassociateWirelessGatewayFromThing Operation
        public virtual Task DisassociateWirelessGatewayFromThingAsync(DisassociateWirelessGatewayFromThingRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DisassociateWirelessGatewayFromThingRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DisassociateWirelessGatewayFromThingResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetDestination
        /// 
        /// Gets information about a destination.
        /// 
        /// Container for the necessary parameters to execute the GetDestination service method.
        /// 
        /// The response from the GetDestination service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetDestination Operation
        public virtual GetDestinationResponse GetDestination(GetDestinationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetDestinationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetDestinationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a destination.
        /// 
        /// Container for the necessary parameters to execute the GetDestination service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetDestination service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetDestination Operation
        public virtual Task GetDestinationAsync(GetDestinationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetDestinationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetDestinationResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetDeviceProfile
        /// 
        /// Gets information about a device profile.
        /// 
        /// Container for the necessary parameters to execute the GetDeviceProfile service method.
        /// 
        /// The response from the GetDeviceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetDeviceProfile Operation
        public virtual GetDeviceProfileResponse GetDeviceProfile(GetDeviceProfileRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetDeviceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetDeviceProfileResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a device profile.
        /// 
        /// Container for the necessary parameters to execute the GetDeviceProfile service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetDeviceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetDeviceProfile Operation
        public virtual Task GetDeviceProfileAsync(GetDeviceProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetDeviceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetDeviceProfileResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetEventConfigurationByResourceTypes
        /// 
        /// Get the event configuration based on resource types.
        /// 
        /// Container for the necessary parameters to execute the GetEventConfigurationByResourceTypes service method.
        /// 
        /// The response from the GetEventConfigurationByResourceTypes service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// REST API Reference for GetEventConfigurationByResourceTypes Operation
        public virtual GetEventConfigurationByResourceTypesResponse GetEventConfigurationByResourceTypes(GetEventConfigurationByResourceTypesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetEventConfigurationByResourceTypesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetEventConfigurationByResourceTypesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Get the event configuration based on resource types.
        /// 
        /// Container for the necessary parameters to execute the GetEventConfigurationByResourceTypes service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetEventConfigurationByResourceTypes service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// REST API Reference for GetEventConfigurationByResourceTypes Operation
        public virtual Task GetEventConfigurationByResourceTypesAsync(GetEventConfigurationByResourceTypesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetEventConfigurationByResourceTypesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetEventConfigurationByResourceTypesResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetFuotaTask
        /// 
        /// Gets information about a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the GetFuotaTask service method.
        /// 
        /// The response from the GetFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetFuotaTask Operation
        public virtual GetFuotaTaskResponse GetFuotaTask(GetFuotaTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetFuotaTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a FUOTA task.
        /// 
        /// Container for the necessary parameters to execute the GetFuotaTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetFuotaTask Operation
        public virtual Task GetFuotaTaskAsync(GetFuotaTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetFuotaTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetLogLevelsByResourceTypes
        /// 
        /// Returns current default log levels or log levels by resource types. Based on resource
        /// types, log levels can be for wireless device log options or wireless gateway log options.
        /// 
        /// Container for the necessary parameters to execute the GetLogLevelsByResourceTypes service method.
        /// 
        /// The response from the GetLogLevelsByResourceTypes service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetLogLevelsByResourceTypes Operation
        public virtual GetLogLevelsByResourceTypesResponse GetLogLevelsByResourceTypes(GetLogLevelsByResourceTypesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetLogLevelsByResourceTypesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetLogLevelsByResourceTypesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Returns current default log levels or log levels by resource types. Based on resource
        /// types, log levels can be for wireless device log options or wireless gateway log options.
        /// 
        /// Container for the necessary parameters to execute the GetLogLevelsByResourceTypes service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetLogLevelsByResourceTypes service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetLogLevelsByResourceTypes Operation
        public virtual Task GetLogLevelsByResourceTypesAsync(GetLogLevelsByResourceTypesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetLogLevelsByResourceTypesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetLogLevelsByResourceTypesResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetMulticastGroup
        /// 
        /// Gets information about a multicast group.
        /// 
        /// Container for the necessary parameters to execute the GetMulticastGroup service method.
        /// 
        /// The response from the GetMulticastGroup service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetMulticastGroup Operation
        public virtual GetMulticastGroupResponse GetMulticastGroup(GetMulticastGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetMulticastGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetMulticastGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a multicast group.
        /// 
        /// Container for the necessary parameters to execute the GetMulticastGroup service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetMulticastGroup service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetMulticastGroup Operation
        public virtual Task GetMulticastGroupAsync(GetMulticastGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetMulticastGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetMulticastGroupResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetMulticastGroupSession
        /// 
        /// Gets information about a multicast group session.
        /// 
        /// Container for the necessary parameters to execute the GetMulticastGroupSession service method.
        /// 
        /// The response from the GetMulticastGroupSession service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetMulticastGroupSession Operation
        public virtual GetMulticastGroupSessionResponse GetMulticastGroupSession(GetMulticastGroupSessionRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetMulticastGroupSessionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetMulticastGroupSessionResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a multicast group session.
        /// 
        /// Container for the necessary parameters to execute the GetMulticastGroupSession service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetMulticastGroupSession service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetMulticastGroupSession Operation
        public virtual Task GetMulticastGroupSessionAsync(GetMulticastGroupSessionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetMulticastGroupSessionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetMulticastGroupSessionResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetNetworkAnalyzerConfiguration
        /// 
        /// Get network analyzer configuration.
        /// 
        /// Container for the necessary parameters to execute the GetNetworkAnalyzerConfiguration service method.
        /// 
        /// The response from the GetNetworkAnalyzerConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetNetworkAnalyzerConfiguration Operation
        public virtual GetNetworkAnalyzerConfigurationResponse GetNetworkAnalyzerConfiguration(GetNetworkAnalyzerConfigurationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetNetworkAnalyzerConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetNetworkAnalyzerConfigurationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Get network analyzer configuration.
        /// 
        /// Container for the necessary parameters to execute the GetNetworkAnalyzerConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetNetworkAnalyzerConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetNetworkAnalyzerConfiguration Operation
        public virtual Task GetNetworkAnalyzerConfigurationAsync(GetNetworkAnalyzerConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetNetworkAnalyzerConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetNetworkAnalyzerConfigurationResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetPartnerAccount
        /// 
        /// Gets information about a partner account. If PartnerAccountId and PartnerType
        /// are null, returns all partner accounts.
        /// 
        /// Container for the necessary parameters to execute the GetPartnerAccount service method.
        /// 
        /// The response from the GetPartnerAccount service method, as returned by IoTWireless.
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetPartnerAccount Operation
        public virtual GetPartnerAccountResponse GetPartnerAccount(GetPartnerAccountRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPartnerAccountRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPartnerAccountResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a partner account. If PartnerAccountId and PartnerType
        /// are null, returns all partner accounts.
        /// 
        /// Container for the necessary parameters to execute the GetPartnerAccount service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetPartnerAccount service method, as returned by IoTWireless.
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetPartnerAccount Operation
        public virtual Task GetPartnerAccountAsync(GetPartnerAccountRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPartnerAccountRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPartnerAccountResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetPosition
        /// 
        /// Get the position information for a given resource.
        /// 
        ///   
        /// 
        /// This action is no longer supported. Calls to retrieve the position information should
        /// use the GetResourcePosition
        /// API operation instead.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the GetPosition service method.
        /// 
        /// The response from the GetPosition service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetPosition Operation
        [Obsolete("This operation is no longer supported.")]
        public virtual GetPositionResponse GetPosition(GetPositionRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPositionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPositionResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Get the position information for a given resource.
        /// 
        ///   
        /// 
        /// This action is no longer supported. Calls to retrieve the position information should
        /// use the GetResourcePosition
        /// API operation instead.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the GetPosition service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetPosition service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetPosition Operation
        [Obsolete("This operation is no longer supported.")]
        public virtual Task GetPositionAsync(GetPositionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPositionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPositionResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetPositionConfiguration
        /// 
        /// Get position configuration for a given resource.
        /// 
        ///   
        /// 
        /// This action is no longer supported. Calls to retrieve the position configuration should
        /// use the GetResourcePosition
        /// API operation instead.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the GetPositionConfiguration service method.
        /// 
        /// The response from the GetPositionConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetPositionConfiguration Operation
        [Obsolete("This operation is no longer supported.")]
        public virtual GetPositionConfigurationResponse GetPositionConfiguration(GetPositionConfigurationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPositionConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPositionConfigurationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Get position configuration for a given resource.
        /// 
        ///   
        /// 
        /// This action is no longer supported. Calls to retrieve the position configuration should
        /// use the GetResourcePosition
        /// API operation instead.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the GetPositionConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetPositionConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetPositionConfiguration Operation
        [Obsolete("This operation is no longer supported.")]
        public virtual Task GetPositionConfigurationAsync(GetPositionConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPositionConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPositionConfigurationResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetPositionEstimate
        /// 
        /// Get estimated position information as a payload in GeoJSON format. The payload measurement
        /// data is resolved using solvers that are provided by third-party vendors.
        /// 
        /// Container for the necessary parameters to execute the GetPositionEstimate service method.
        /// 
        /// The response from the GetPositionEstimate service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetPositionEstimate Operation
        public virtual GetPositionEstimateResponse GetPositionEstimate(GetPositionEstimateRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPositionEstimateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPositionEstimateResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Get estimated position information as a payload in GeoJSON format. The payload measurement
        /// data is resolved using solvers that are provided by third-party vendors.
        /// 
        /// Container for the necessary parameters to execute the GetPositionEstimate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetPositionEstimate service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetPositionEstimate Operation
        public virtual Task GetPositionEstimateAsync(GetPositionEstimateRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetPositionEstimateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetPositionEstimateResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetResourceEventConfiguration
        /// 
        /// Get the event configuration for a particular resource identifier.
        /// 
        /// Container for the necessary parameters to execute the GetResourceEventConfiguration service method.
        /// 
        /// The response from the GetResourceEventConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetResourceEventConfiguration Operation
        public virtual GetResourceEventConfigurationResponse GetResourceEventConfiguration(GetResourceEventConfigurationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetResourceEventConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetResourceEventConfigurationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Get the event configuration for a particular resource identifier.
        /// 
        /// Container for the necessary parameters to execute the GetResourceEventConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetResourceEventConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetResourceEventConfiguration Operation
        public virtual Task GetResourceEventConfigurationAsync(GetResourceEventConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetResourceEventConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetResourceEventConfigurationResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetResourceLogLevel
        /// 
        /// Fetches the log-level override, if any, for a given resource-ID and resource-type.
        /// It can be used for a wireless device or a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the GetResourceLogLevel service method.
        /// 
        /// The response from the GetResourceLogLevel service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetResourceLogLevel Operation
        public virtual GetResourceLogLevelResponse GetResourceLogLevel(GetResourceLogLevelRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetResourceLogLevelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetResourceLogLevelResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Fetches the log-level override, if any, for a given resource-ID and resource-type.
        /// It can be used for a wireless device or a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the GetResourceLogLevel service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetResourceLogLevel service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetResourceLogLevel Operation
        public virtual Task GetResourceLogLevelAsync(GetResourceLogLevelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetResourceLogLevelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetResourceLogLevelResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetResourcePosition
        /// 
        /// Get the position information for a given wireless device or a wireless gateway resource.
        /// The position information uses the 
        /// World Geodetic System (WGS84).
        /// 
        /// Container for the necessary parameters to execute the GetResourcePosition service method.
        /// 
        /// The response from the GetResourcePosition service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetResourcePosition Operation
        public virtual GetResourcePositionResponse GetResourcePosition(GetResourcePositionRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetResourcePositionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetResourcePositionResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Get the position information for a given wireless device or a wireless gateway resource.
        /// The position information uses the 
        /// World Geodetic System (WGS84).
        /// 
        /// Container for the necessary parameters to execute the GetResourcePosition service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetResourcePosition service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetResourcePosition Operation
        public virtual Task GetResourcePositionAsync(GetResourcePositionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetResourcePositionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetResourcePositionResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetServiceEndpoint
        /// 
        /// Gets the account-specific endpoint for Configuration and Update Server (CUPS) protocol
        /// or LoRaWAN Network Server (LNS) connections.
        /// 
        /// Container for the necessary parameters to execute the GetServiceEndpoint service method.
        /// 
        /// The response from the GetServiceEndpoint service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetServiceEndpoint Operation
        public virtual GetServiceEndpointResponse GetServiceEndpoint(GetServiceEndpointRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetServiceEndpointRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetServiceEndpointResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets the account-specific endpoint for Configuration and Update Server (CUPS) protocol
        /// or LoRaWAN Network Server (LNS) connections.
        /// 
        /// Container for the necessary parameters to execute the GetServiceEndpoint service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetServiceEndpoint service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetServiceEndpoint Operation
        public virtual Task GetServiceEndpointAsync(GetServiceEndpointRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetServiceEndpointRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetServiceEndpointResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetServiceProfile
        /// 
        /// Gets information about a service profile.
        /// 
        /// Container for the necessary parameters to execute the GetServiceProfile service method.
        /// 
        /// The response from the GetServiceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetServiceProfile Operation
        public virtual GetServiceProfileResponse GetServiceProfile(GetServiceProfileRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetServiceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetServiceProfileResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a service profile.
        /// 
        /// Container for the necessary parameters to execute the GetServiceProfile service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetServiceProfile service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetServiceProfile Operation
        public virtual Task GetServiceProfileAsync(GetServiceProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetServiceProfileRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetServiceProfileResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetWirelessDevice
        /// 
        /// Gets information about a wireless device.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessDevice service method.
        /// 
        /// The response from the GetWirelessDevice service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessDevice Operation
        public virtual GetWirelessDeviceResponse GetWirelessDevice(GetWirelessDeviceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessDeviceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a wireless device.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessDevice service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetWirelessDevice service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessDevice Operation
        public virtual Task GetWirelessDeviceAsync(GetWirelessDeviceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessDeviceResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetWirelessDeviceImportTask
        /// 
        /// Get information about an import task and count of device onboarding summary information
        /// for the import task.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessDeviceImportTask service method.
        /// 
        /// The response from the GetWirelessDeviceImportTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessDeviceImportTask Operation
        public virtual GetWirelessDeviceImportTaskResponse GetWirelessDeviceImportTask(GetWirelessDeviceImportTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessDeviceImportTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessDeviceImportTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Get information about an import task and count of device onboarding summary information
        /// for the import task.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessDeviceImportTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetWirelessDeviceImportTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessDeviceImportTask Operation
        public virtual Task GetWirelessDeviceImportTaskAsync(GetWirelessDeviceImportTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessDeviceImportTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessDeviceImportTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetWirelessDeviceStatistics
        /// 
        /// Gets operating information about a wireless device.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessDeviceStatistics service method.
        /// 
        /// The response from the GetWirelessDeviceStatistics service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessDeviceStatistics Operation
        public virtual GetWirelessDeviceStatisticsResponse GetWirelessDeviceStatistics(GetWirelessDeviceStatisticsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessDeviceStatisticsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessDeviceStatisticsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets operating information about a wireless device.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessDeviceStatistics service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetWirelessDeviceStatistics service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessDeviceStatistics Operation
        public virtual Task GetWirelessDeviceStatisticsAsync(GetWirelessDeviceStatisticsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessDeviceStatisticsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessDeviceStatisticsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetWirelessGateway
        /// 
        /// Gets information about a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGateway service method.
        /// 
        /// The response from the GetWirelessGateway service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGateway Operation
        public virtual GetWirelessGatewayResponse GetWirelessGateway(GetWirelessGatewayRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGateway service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetWirelessGateway service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGateway Operation
        public virtual Task GetWirelessGatewayAsync(GetWirelessGatewayRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetWirelessGatewayCertificate
        /// 
        /// Gets the ID of the certificate that is currently associated with a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGatewayCertificate service method.
        /// 
        /// The response from the GetWirelessGatewayCertificate service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGatewayCertificate Operation
        public virtual GetWirelessGatewayCertificateResponse GetWirelessGatewayCertificate(GetWirelessGatewayCertificateRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayCertificateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayCertificateResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets the ID of the certificate that is currently associated with a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGatewayCertificate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetWirelessGatewayCertificate service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGatewayCertificate Operation
        public virtual Task GetWirelessGatewayCertificateAsync(GetWirelessGatewayCertificateRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayCertificateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayCertificateResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetWirelessGatewayFirmwareInformation
        /// 
        /// Gets the firmware version and other information about a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGatewayFirmwareInformation service method.
        /// 
        /// The response from the GetWirelessGatewayFirmwareInformation service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGatewayFirmwareInformation Operation
        public virtual GetWirelessGatewayFirmwareInformationResponse GetWirelessGatewayFirmwareInformation(GetWirelessGatewayFirmwareInformationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayFirmwareInformationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayFirmwareInformationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets the firmware version and other information about a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGatewayFirmwareInformation service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetWirelessGatewayFirmwareInformation service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGatewayFirmwareInformation Operation
        public virtual Task GetWirelessGatewayFirmwareInformationAsync(GetWirelessGatewayFirmwareInformationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayFirmwareInformationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayFirmwareInformationResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetWirelessGatewayStatistics
        /// 
        /// Gets operating information about a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGatewayStatistics service method.
        /// 
        /// The response from the GetWirelessGatewayStatistics service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGatewayStatistics Operation
        public virtual GetWirelessGatewayStatisticsResponse GetWirelessGatewayStatistics(GetWirelessGatewayStatisticsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayStatisticsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayStatisticsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets operating information about a wireless gateway.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGatewayStatistics service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetWirelessGatewayStatistics service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGatewayStatistics Operation
        public virtual Task GetWirelessGatewayStatisticsAsync(GetWirelessGatewayStatisticsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayStatisticsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayStatisticsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetWirelessGatewayTask
        /// 
        /// Gets information about a wireless gateway task.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGatewayTask service method.
        /// 
        /// The response from the GetWirelessGatewayTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGatewayTask Operation
        public virtual GetWirelessGatewayTaskResponse GetWirelessGatewayTask(GetWirelessGatewayTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a wireless gateway task.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGatewayTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetWirelessGatewayTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGatewayTask Operation
        public virtual Task GetWirelessGatewayTaskAsync(GetWirelessGatewayTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  GetWirelessGatewayTaskDefinition
        /// 
        /// Gets information about a wireless gateway task definition.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGatewayTaskDefinition service method.
        /// 
        /// The response from the GetWirelessGatewayTaskDefinition service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGatewayTaskDefinition Operation
        public virtual GetWirelessGatewayTaskDefinitionResponse GetWirelessGatewayTaskDefinition(GetWirelessGatewayTaskDefinitionRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayTaskDefinitionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayTaskDefinitionResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Gets information about a wireless gateway task definition.
        /// 
        /// Container for the necessary parameters to execute the GetWirelessGatewayTaskDefinition service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetWirelessGatewayTaskDefinition service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for GetWirelessGatewayTaskDefinition Operation
        public virtual Task GetWirelessGatewayTaskDefinitionAsync(GetWirelessGatewayTaskDefinitionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetWirelessGatewayTaskDefinitionRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetWirelessGatewayTaskDefinitionResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListDestinations
        /// 
        /// Lists the destinations registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListDestinations service method.
        /// 
        /// The response from the ListDestinations service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListDestinations Operation
        public virtual ListDestinationsResponse ListDestinations(ListDestinationsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDestinationsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDestinationsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists the destinations registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListDestinations service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListDestinations service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListDestinations Operation
        public virtual Task ListDestinationsAsync(ListDestinationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDestinationsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDestinationsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListDeviceProfiles
        /// 
        /// Lists the device profiles registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListDeviceProfiles service method.
        /// 
        /// The response from the ListDeviceProfiles service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListDeviceProfiles Operation
        public virtual ListDeviceProfilesResponse ListDeviceProfiles(ListDeviceProfilesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDeviceProfilesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDeviceProfilesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists the device profiles registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListDeviceProfiles service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListDeviceProfiles service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListDeviceProfiles Operation
        public virtual Task ListDeviceProfilesAsync(ListDeviceProfilesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDeviceProfilesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDeviceProfilesResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListDevicesForWirelessDeviceImportTask
        /// 
        /// List the Sidewalk devices in an import task and their onboarding status.
        /// 
        /// Container for the necessary parameters to execute the ListDevicesForWirelessDeviceImportTask service method.
        /// 
        /// The response from the ListDevicesForWirelessDeviceImportTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListDevicesForWirelessDeviceImportTask Operation
        public virtual ListDevicesForWirelessDeviceImportTaskResponse ListDevicesForWirelessDeviceImportTask(ListDevicesForWirelessDeviceImportTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDevicesForWirelessDeviceImportTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDevicesForWirelessDeviceImportTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// List the Sidewalk devices in an import task and their onboarding status.
        /// 
        /// Container for the necessary parameters to execute the ListDevicesForWirelessDeviceImportTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListDevicesForWirelessDeviceImportTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListDevicesForWirelessDeviceImportTask Operation
        public virtual Task ListDevicesForWirelessDeviceImportTaskAsync(ListDevicesForWirelessDeviceImportTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDevicesForWirelessDeviceImportTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDevicesForWirelessDeviceImportTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListEventConfigurations
        /// 
        /// List event configurations where at least one event topic has been enabled.
        /// 
        /// Container for the necessary parameters to execute the ListEventConfigurations service method.
        /// 
        /// The response from the ListEventConfigurations service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListEventConfigurations Operation
        public virtual ListEventConfigurationsResponse ListEventConfigurations(ListEventConfigurationsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListEventConfigurationsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListEventConfigurationsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// List event configurations where at least one event topic has been enabled.
        /// 
        /// Container for the necessary parameters to execute the ListEventConfigurations service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListEventConfigurations service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListEventConfigurations Operation
        public virtual Task ListEventConfigurationsAsync(ListEventConfigurationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListEventConfigurationsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListEventConfigurationsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListFuotaTasks
        /// 
        /// Lists the FUOTA tasks registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListFuotaTasks service method.
        /// 
        /// The response from the ListFuotaTasks service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListFuotaTasks Operation
        public virtual ListFuotaTasksResponse ListFuotaTasks(ListFuotaTasksRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListFuotaTasksRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListFuotaTasksResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists the FUOTA tasks registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListFuotaTasks service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListFuotaTasks service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListFuotaTasks Operation
        public virtual Task ListFuotaTasksAsync(ListFuotaTasksRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListFuotaTasksRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListFuotaTasksResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListMulticastGroups
        /// 
        /// Lists the multicast groups registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListMulticastGroups service method.
        /// 
        /// The response from the ListMulticastGroups service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListMulticastGroups Operation
        public virtual ListMulticastGroupsResponse ListMulticastGroups(ListMulticastGroupsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListMulticastGroupsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListMulticastGroupsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists the multicast groups registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListMulticastGroups service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListMulticastGroups service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListMulticastGroups Operation
        public virtual Task ListMulticastGroupsAsync(ListMulticastGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListMulticastGroupsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListMulticastGroupsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListMulticastGroupsByFuotaTask
        /// 
        /// List all multicast groups associated with a fuota task.
        /// 
        /// Container for the necessary parameters to execute the ListMulticastGroupsByFuotaTask service method.
        /// 
        /// The response from the ListMulticastGroupsByFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListMulticastGroupsByFuotaTask Operation
        public virtual ListMulticastGroupsByFuotaTaskResponse ListMulticastGroupsByFuotaTask(ListMulticastGroupsByFuotaTaskRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListMulticastGroupsByFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListMulticastGroupsByFuotaTaskResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// List all multicast groups associated with a fuota task.
        /// 
        /// Container for the necessary parameters to execute the ListMulticastGroupsByFuotaTask service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListMulticastGroupsByFuotaTask service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListMulticastGroupsByFuotaTask Operation
        public virtual Task ListMulticastGroupsByFuotaTaskAsync(ListMulticastGroupsByFuotaTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListMulticastGroupsByFuotaTaskRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListMulticastGroupsByFuotaTaskResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListNetworkAnalyzerConfigurations
        /// 
        /// Lists the network analyzer configurations.
        /// 
        /// Container for the necessary parameters to execute the ListNetworkAnalyzerConfigurations service method.
        /// 
        /// The response from the ListNetworkAnalyzerConfigurations service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListNetworkAnalyzerConfigurations Operation
        public virtual ListNetworkAnalyzerConfigurationsResponse ListNetworkAnalyzerConfigurations(ListNetworkAnalyzerConfigurationsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListNetworkAnalyzerConfigurationsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListNetworkAnalyzerConfigurationsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists the network analyzer configurations.
        /// 
        /// Container for the necessary parameters to execute the ListNetworkAnalyzerConfigurations service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListNetworkAnalyzerConfigurations service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListNetworkAnalyzerConfigurations Operation
        public virtual Task ListNetworkAnalyzerConfigurationsAsync(ListNetworkAnalyzerConfigurationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListNetworkAnalyzerConfigurationsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListNetworkAnalyzerConfigurationsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListPartnerAccounts
        /// 
        /// Lists the partner accounts associated with your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListPartnerAccounts service method.
        /// 
        /// The response from the ListPartnerAccounts service method, as returned by IoTWireless.
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListPartnerAccounts Operation
        public virtual ListPartnerAccountsResponse ListPartnerAccounts(ListPartnerAccountsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListPartnerAccountsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListPartnerAccountsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists the partner accounts associated with your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListPartnerAccounts service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListPartnerAccounts service method, as returned by IoTWireless.
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListPartnerAccounts Operation
        public virtual Task ListPartnerAccountsAsync(ListPartnerAccountsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListPartnerAccountsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListPartnerAccountsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListPositionConfigurations
        /// 
        /// List position configurations for a given resource, such as positioning solvers.
        /// 
        ///   
        /// 
        /// This action is no longer supported. Calls to retrieve position information should
        /// use the GetResourcePosition
        /// API operation instead.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the ListPositionConfigurations service method.
        /// 
        /// The response from the ListPositionConfigurations service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListPositionConfigurations Operation
        [Obsolete("This operation is no longer supported.")]
        public virtual ListPositionConfigurationsResponse ListPositionConfigurations(ListPositionConfigurationsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListPositionConfigurationsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListPositionConfigurationsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// List position configurations for a given resource, such as positioning solvers.
        /// 
        ///   
        /// 
        /// This action is no longer supported. Calls to retrieve position information should
        /// use the GetResourcePosition
        /// API operation instead.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the ListPositionConfigurations service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListPositionConfigurations service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListPositionConfigurations Operation
        [Obsolete("This operation is no longer supported.")]
        public virtual Task ListPositionConfigurationsAsync(ListPositionConfigurationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListPositionConfigurationsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListPositionConfigurationsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListQueuedMessages
        /// 
        /// List queued messages in the downlink queue.
        /// 
        /// Container for the necessary parameters to execute the ListQueuedMessages service method.
        /// 
        /// The response from the ListQueuedMessages service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListQueuedMessages Operation
        public virtual ListQueuedMessagesResponse ListQueuedMessages(ListQueuedMessagesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListQueuedMessagesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListQueuedMessagesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// List queued messages in the downlink queue.
        /// 
        /// Container for the necessary parameters to execute the ListQueuedMessages service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListQueuedMessages service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListQueuedMessages Operation
        public virtual Task ListQueuedMessagesAsync(ListQueuedMessagesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListQueuedMessagesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListQueuedMessagesResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListServiceProfiles
        /// 
        /// Lists the service profiles registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListServiceProfiles service method.
        /// 
        /// The response from the ListServiceProfiles service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListServiceProfiles Operation
        public virtual ListServiceProfilesResponse ListServiceProfiles(ListServiceProfilesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListServiceProfilesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListServiceProfilesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists the service profiles registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListServiceProfiles service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListServiceProfiles service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListServiceProfiles Operation
        public virtual Task ListServiceProfilesAsync(ListServiceProfilesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListServiceProfilesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListServiceProfilesResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListTagsForResource
        /// 
        /// Lists the tags (metadata) you have assigned to the resource.
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource service method.
        /// 
        /// The response from the ListTagsForResource service method, as returned by IoTWireless.
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// 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);
        }
        /// 
        /// Lists the tags (metadata) you have assigned to the resource.
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListTagsForResource service method, as returned by IoTWireless.
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListTagsForResource Operation
        public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListWirelessDeviceImportTasks
        /// 
        /// List wireless devices that have been added to an import task.
        /// 
        /// Container for the necessary parameters to execute the ListWirelessDeviceImportTasks service method.
        /// 
        /// The response from the ListWirelessDeviceImportTasks service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListWirelessDeviceImportTasks Operation
        public virtual ListWirelessDeviceImportTasksResponse ListWirelessDeviceImportTasks(ListWirelessDeviceImportTasksRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListWirelessDeviceImportTasksRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListWirelessDeviceImportTasksResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// List wireless devices that have been added to an import task.
        /// 
        /// Container for the necessary parameters to execute the ListWirelessDeviceImportTasks service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListWirelessDeviceImportTasks service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// Adding, updating, or deleting the resource can cause an inconsistent state.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListWirelessDeviceImportTasks Operation
        public virtual Task ListWirelessDeviceImportTasksAsync(ListWirelessDeviceImportTasksRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListWirelessDeviceImportTasksRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListWirelessDeviceImportTasksResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListWirelessDevices
        /// 
        /// Lists the wireless devices registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListWirelessDevices service method.
        /// 
        /// The response from the ListWirelessDevices service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListWirelessDevices Operation
        public virtual ListWirelessDevicesResponse ListWirelessDevices(ListWirelessDevicesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListWirelessDevicesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListWirelessDevicesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists the wireless devices registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListWirelessDevices service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListWirelessDevices service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListWirelessDevices Operation
        public virtual Task ListWirelessDevicesAsync(ListWirelessDevicesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListWirelessDevicesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListWirelessDevicesResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListWirelessGateways
        /// 
        /// Lists the wireless gateways registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListWirelessGateways service method.
        /// 
        /// The response from the ListWirelessGateways service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListWirelessGateways Operation
        public virtual ListWirelessGatewaysResponse ListWirelessGateways(ListWirelessGatewaysRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListWirelessGatewaysRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListWirelessGatewaysResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists the wireless gateways registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListWirelessGateways service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListWirelessGateways service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListWirelessGateways Operation
        public virtual Task ListWirelessGatewaysAsync(ListWirelessGatewaysRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListWirelessGatewaysRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListWirelessGatewaysResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListWirelessGatewayTaskDefinitions
        /// 
        /// List the wireless gateway tasks definitions registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListWirelessGatewayTaskDefinitions service method.
        /// 
        /// The response from the ListWirelessGatewayTaskDefinitions service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListWirelessGatewayTaskDefinitions Operation
        public virtual ListWirelessGatewayTaskDefinitionsResponse ListWirelessGatewayTaskDefinitions(ListWirelessGatewayTaskDefinitionsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListWirelessGatewayTaskDefinitionsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListWirelessGatewayTaskDefinitionsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// List the wireless gateway tasks definitions registered to your AWS account.
        /// 
        /// Container for the necessary parameters to execute the ListWirelessGatewayTaskDefinitions service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListWirelessGatewayTaskDefinitions service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ListWirelessGatewayTaskDefinitions Operation
        public virtual Task ListWirelessGatewayTaskDefinitionsAsync(ListWirelessGatewayTaskDefinitionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListWirelessGatewayTaskDefinitionsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListWirelessGatewayTaskDefinitionsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  PutPositionConfiguration
        /// 
        /// Put position configuration for a given resource.
        /// 
        ///   
        /// 
        /// This action is no longer supported. Calls to update the position configuration should
        /// use the UpdateResourcePosition
        /// API operation instead.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the PutPositionConfiguration service method.
        /// 
        /// The response from the PutPositionConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for PutPositionConfiguration Operation
        [Obsolete("This operation is no longer supported.")]
        public virtual PutPositionConfigurationResponse PutPositionConfiguration(PutPositionConfigurationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = PutPositionConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = PutPositionConfigurationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Put position configuration for a given resource.
        /// 
        ///   
        /// 
        /// This action is no longer supported. Calls to update the position configuration should
        /// use the UpdateResourcePosition
        /// API operation instead.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the PutPositionConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the PutPositionConfiguration service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for PutPositionConfiguration Operation
        [Obsolete("This operation is no longer supported.")]
        public virtual Task PutPositionConfigurationAsync(PutPositionConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = PutPositionConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = PutPositionConfigurationResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  PutResourceLogLevel
        /// 
        /// Sets the log-level override for a resource-ID and resource-type. This option can be
        /// specified for a wireless gateway or a wireless device. A limit of 200 log level override
        /// can be set per account.
        /// 
        /// Container for the necessary parameters to execute the PutResourceLogLevel service method.
        /// 
        /// The response from the PutResourceLogLevel service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for PutResourceLogLevel Operation
        public virtual PutResourceLogLevelResponse PutResourceLogLevel(PutResourceLogLevelRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = PutResourceLogLevelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = PutResourceLogLevelResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Sets the log-level override for a resource-ID and resource-type. This option can be
        /// specified for a wireless gateway or a wireless device. A limit of 200 log level override
        /// can be set per account.
        /// 
        /// Container for the necessary parameters to execute the PutResourceLogLevel service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the PutResourceLogLevel service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for PutResourceLogLevel Operation
        public virtual Task PutResourceLogLevelAsync(PutResourceLogLevelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = PutResourceLogLevelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = PutResourceLogLevelResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ResetAllResourceLogLevels
        /// 
        /// Removes the log-level overrides for all resources; both wireless devices and wireless
        /// gateways.
        /// 
        /// Container for the necessary parameters to execute the ResetAllResourceLogLevels service method.
        /// 
        /// The response from the ResetAllResourceLogLevels service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ResetAllResourceLogLevels Operation
        public virtual ResetAllResourceLogLevelsResponse ResetAllResourceLogLevels(ResetAllResourceLogLevelsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ResetAllResourceLogLevelsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ResetAllResourceLogLevelsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Removes the log-level overrides for all resources; both wireless devices and wireless
        /// gateways.
        /// 
        /// Container for the necessary parameters to execute the ResetAllResourceLogLevels service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ResetAllResourceLogLevels service method, as returned by IoTWireless.
        /// 
        /// User does not have permission to perform this action.
        /// 
        /// 
        /// An unexpected error occurred while processing a request.
        /// 
        /// 
        /// Resource does not exist.
        /// 
        /// 
        /// The request was denied because it exceeded the allowed API request rate.
        /// 
        /// 
        /// The input did not meet the specified constraints.
        /// 
        /// REST API Reference for ResetAllResourceLogLevels Operation
        public virtual Task ResetAllResourceLogLevelsAsync(ResetAllResourceLogLevelsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ResetAllResourceLogLevelsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ResetAllResourceLogLevelsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ResetResourceLogLevel
        ///