/*
 * 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 lookoutequipment-2020-12-15.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.LookoutEquipment.Model;
using Amazon.LookoutEquipment.Model.Internal.MarshallTransformations;
using Amazon.LookoutEquipment.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.LookoutEquipment
{
    /// 
    /// Implementation for accessing LookoutEquipment
    ///
    /// Amazon Lookout for Equipment is a machine learning service that uses advanced analytics
    /// to identify anomalies in machines from sensor data for use in predictive maintenance.
    /// 
    public partial class AmazonLookoutEquipmentClient : AmazonServiceClient, IAmazonLookoutEquipment
    {
        private static IServiceMetadata serviceMetadata = new AmazonLookoutEquipmentMetadata();
        private ILookoutEquipmentPaginatorFactory _paginators;
        /// 
        /// Paginators for the service
        /// 
        public ILookoutEquipmentPaginatorFactory Paginators 
        {
            get 
            {
                if (this._paginators == null) 
                {
                    this._paginators = new LookoutEquipmentPaginatorFactory(this);
                }
                return this._paginators;
            }
        }
        #region Constructors
        /// 
        /// Constructs AmazonLookoutEquipmentClient 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 AmazonLookoutEquipmentClient()
            : base(FallbackCredentialsFactory.GetCredentials(), new AmazonLookoutEquipmentConfig()) { }
        /// 
        /// Constructs AmazonLookoutEquipmentClient 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 AmazonLookoutEquipmentClient(RegionEndpoint region)
            : base(FallbackCredentialsFactory.GetCredentials(), new AmazonLookoutEquipmentConfig{RegionEndpoint = region}) { }
        /// 
        /// Constructs AmazonLookoutEquipmentClient 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 AmazonLookoutEquipmentClient Configuration Object
        public AmazonLookoutEquipmentClient(AmazonLookoutEquipmentConfig config)
            : base(FallbackCredentialsFactory.GetCredentials(config), config){}
        /// 
        /// Constructs AmazonLookoutEquipmentClient with AWS Credentials
        /// 
        /// AWS Credentials
        public AmazonLookoutEquipmentClient(AWSCredentials credentials)
            : this(credentials, new AmazonLookoutEquipmentConfig())
        {
        }
        /// 
        /// Constructs AmazonLookoutEquipmentClient with AWS Credentials
        /// 
        /// AWS Credentials
        /// The region to connect.
        public AmazonLookoutEquipmentClient(AWSCredentials credentials, RegionEndpoint region)
            : this(credentials, new AmazonLookoutEquipmentConfig{RegionEndpoint = region})
        {
        }
        /// 
        /// Constructs AmazonLookoutEquipmentClient with AWS Credentials and an
        /// AmazonLookoutEquipmentClient Configuration object.
        /// 
        /// AWS Credentials
        /// The AmazonLookoutEquipmentClient Configuration Object
        public AmazonLookoutEquipmentClient(AWSCredentials credentials, AmazonLookoutEquipmentConfig clientConfig)
            : base(credentials, clientConfig)
        {
        }
        /// 
        /// Constructs AmazonLookoutEquipmentClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        public AmazonLookoutEquipmentClient(string awsAccessKeyId, string awsSecretAccessKey)
            : this(awsAccessKeyId, awsSecretAccessKey, new AmazonLookoutEquipmentConfig())
        {
        }
        /// 
        /// Constructs AmazonLookoutEquipmentClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// The region to connect.
        public AmazonLookoutEquipmentClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
            : this(awsAccessKeyId, awsSecretAccessKey, new AmazonLookoutEquipmentConfig() {RegionEndpoint=region})
        {
        }
        /// 
        /// Constructs AmazonLookoutEquipmentClient with AWS Access Key ID, AWS Secret Key and an
        /// AmazonLookoutEquipmentClient Configuration object. 
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// The AmazonLookoutEquipmentClient Configuration Object
        public AmazonLookoutEquipmentClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonLookoutEquipmentConfig clientConfig)
            : base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
        {
        }
        /// 
        /// Constructs AmazonLookoutEquipmentClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        public AmazonLookoutEquipmentClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
            : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonLookoutEquipmentConfig())
        {
        }
        /// 
        /// Constructs AmazonLookoutEquipmentClient 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 AmazonLookoutEquipmentClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
            : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonLookoutEquipmentConfig{RegionEndpoint = region})
        {
        }
        /// 
        /// Constructs AmazonLookoutEquipmentClient with AWS Access Key ID, AWS Secret Key and an
        /// AmazonLookoutEquipmentClient Configuration object. 
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        /// The AmazonLookoutEquipmentClient Configuration Object
        public AmazonLookoutEquipmentClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonLookoutEquipmentConfig 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 AmazonLookoutEquipmentEndpointResolver());
        }    
        /// 
        /// 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  CreateDataset
        /// 
        /// Creates a container for a collection of data being ingested for analysis. The dataset
        /// contains the metadata describing where the data is and what the data actually looks
        /// like. In other words, it contains the location of the data source, the data schema,
        /// and other information. A dataset also contains any tags associated with the ingested
        /// data.
        /// 
        /// Container for the necessary parameters to execute the CreateDataset service method.
        /// 
        /// The response from the CreateDataset service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for CreateDataset Operation
        public virtual CreateDatasetResponse CreateDataset(CreateDatasetRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateDatasetRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateDatasetResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a container for a collection of data being ingested for analysis. The dataset
        /// contains the metadata describing where the data is and what the data actually looks
        /// like. In other words, it contains the location of the data source, the data schema,
        /// and other information. A dataset also contains any tags associated with the ingested
        /// data.
        /// 
        /// Container for the necessary parameters to execute the CreateDataset service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateDataset service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for CreateDataset Operation
        public virtual Task CreateDatasetAsync(CreateDatasetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateDatasetRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateDatasetResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateInferenceScheduler
        /// 
        /// Creates a scheduled inference. Scheduling an inference is setting up a continuous
        /// real-time inference plan to analyze new measurement data. When setting up the schedule,
        /// you provide an S3 bucket location for the input data, assign it a delimiter between
        /// separate entries in the data, set an offset delay if desired, and set the frequency
        /// of inferencing. You must also provide an S3 bucket location for the output data.
        /// 
        /// Container for the necessary parameters to execute the CreateInferenceScheduler service method.
        /// 
        /// The response from the CreateInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for CreateInferenceScheduler Operation
        public virtual CreateInferenceSchedulerResponse CreateInferenceScheduler(CreateInferenceSchedulerRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateInferenceSchedulerResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a scheduled inference. Scheduling an inference is setting up a continuous
        /// real-time inference plan to analyze new measurement data. When setting up the schedule,
        /// you provide an S3 bucket location for the input data, assign it a delimiter between
        /// separate entries in the data, set an offset delay if desired, and set the frequency
        /// of inferencing. You must also provide an S3 bucket location for the output data.
        /// 
        /// Container for the necessary parameters to execute the CreateInferenceScheduler service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for CreateInferenceScheduler Operation
        public virtual Task CreateInferenceSchedulerAsync(CreateInferenceSchedulerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateInferenceSchedulerResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateLabel
        /// 
        /// Creates a label for an event.
        /// 
        /// Container for the necessary parameters to execute the CreateLabel service method.
        /// 
        /// The response from the CreateLabel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for CreateLabel Operation
        public virtual CreateLabelResponse CreateLabel(CreateLabelRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateLabelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateLabelResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a label for an event.
        /// 
        /// Container for the necessary parameters to execute the CreateLabel service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateLabel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for CreateLabel Operation
        public virtual Task CreateLabelAsync(CreateLabelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateLabelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateLabelResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateLabelGroup
        /// 
        /// Creates a group of labels.
        /// 
        /// Container for the necessary parameters to execute the CreateLabelGroup service method.
        /// 
        /// The response from the CreateLabelGroup service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for CreateLabelGroup Operation
        public virtual CreateLabelGroupResponse CreateLabelGroup(CreateLabelGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateLabelGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateLabelGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates a group of labels.
        /// 
        /// Container for the necessary parameters to execute the CreateLabelGroup service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateLabelGroup service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for CreateLabelGroup Operation
        public virtual Task CreateLabelGroupAsync(CreateLabelGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateLabelGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateLabelGroupResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  CreateModel
        /// 
        /// Creates an ML model for data inference. 
        /// 
        ///  
        /// 
        /// A machine-learning (ML) model is a mathematical model that finds patterns in your
        /// data. In Amazon Lookout for Equipment, the model learns the patterns of normal behavior
        /// and detects abnormal behavior that could be potential equipment failure (or maintenance
        /// events). The models are made by analyzing normal data and abnormalities in machine
        /// behavior that have already occurred.
        /// 
        ///  
        /// 
        /// Your model is trained using a portion of the data from your dataset and uses that
        /// data to learn patterns of normal behavior and abnormal patterns that lead to equipment
        /// failure. Another portion of the data is used to evaluate the model's accuracy. 
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateModel service method.
        /// 
        /// The response from the CreateModel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for CreateModel Operation
        public virtual CreateModelResponse CreateModel(CreateModelRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateModelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateModelResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Creates an ML model for data inference. 
        /// 
        ///  
        /// 
        /// A machine-learning (ML) model is a mathematical model that finds patterns in your
        /// data. In Amazon Lookout for Equipment, the model learns the patterns of normal behavior
        /// and detects abnormal behavior that could be potential equipment failure (or maintenance
        /// events). The models are made by analyzing normal data and abnormalities in machine
        /// behavior that have already occurred.
        /// 
        ///  
        /// 
        /// Your model is trained using a portion of the data from your dataset and uses that
        /// data to learn patterns of normal behavior and abnormal patterns that lead to equipment
        /// failure. Another portion of the data is used to evaluate the model's accuracy. 
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateModel service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateModel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for CreateModel Operation
        public virtual Task CreateModelAsync(CreateModelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateModelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateModelResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteDataset
        /// 
        /// Deletes a dataset and associated artifacts. The operation will check to see if any
        /// inference scheduler or data ingestion job is currently using the dataset, and if there
        /// isn't, the dataset, its metadata, and any associated data stored in S3 will be deleted.
        /// This does not affect any models that used this dataset for training and evaluation,
        /// but does prevent it from being used in the future.
        /// 
        /// Container for the necessary parameters to execute the DeleteDataset service method.
        /// 
        /// The response from the DeleteDataset service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DeleteDataset Operation
        public virtual DeleteDatasetResponse DeleteDataset(DeleteDatasetRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteDatasetRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteDatasetResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a dataset and associated artifacts. The operation will check to see if any
        /// inference scheduler or data ingestion job is currently using the dataset, and if there
        /// isn't, the dataset, its metadata, and any associated data stored in S3 will be deleted.
        /// This does not affect any models that used this dataset for training and evaluation,
        /// but does prevent it from being used in the future.
        /// 
        /// Container for the necessary parameters to execute the DeleteDataset service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteDataset service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DeleteDataset Operation
        public virtual Task DeleteDatasetAsync(DeleteDatasetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteDatasetRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteDatasetResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteInferenceScheduler
        /// 
        /// Deletes an inference scheduler that has been set up. Already processed output results
        /// are not affected.
        /// 
        /// Container for the necessary parameters to execute the DeleteInferenceScheduler service method.
        /// 
        /// The response from the DeleteInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DeleteInferenceScheduler Operation
        public virtual DeleteInferenceSchedulerResponse DeleteInferenceScheduler(DeleteInferenceSchedulerRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteInferenceSchedulerResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes an inference scheduler that has been set up. Already processed output results
        /// are not affected.
        /// 
        /// Container for the necessary parameters to execute the DeleteInferenceScheduler service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DeleteInferenceScheduler Operation
        public virtual Task DeleteInferenceSchedulerAsync(DeleteInferenceSchedulerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteInferenceSchedulerResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteLabel
        /// 
        /// Deletes a label.
        /// 
        /// Container for the necessary parameters to execute the DeleteLabel service method.
        /// 
        /// The response from the DeleteLabel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DeleteLabel Operation
        public virtual DeleteLabelResponse DeleteLabel(DeleteLabelRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteLabelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteLabelResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a label.
        /// 
        /// Container for the necessary parameters to execute the DeleteLabel service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteLabel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DeleteLabel Operation
        public virtual Task DeleteLabelAsync(DeleteLabelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteLabelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteLabelResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteLabelGroup
        /// 
        /// Deletes a group of labels.
        /// 
        /// Container for the necessary parameters to execute the DeleteLabelGroup service method.
        /// 
        /// The response from the DeleteLabelGroup service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DeleteLabelGroup Operation
        public virtual DeleteLabelGroupResponse DeleteLabelGroup(DeleteLabelGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteLabelGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteLabelGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes a group of labels.
        /// 
        /// Container for the necessary parameters to execute the DeleteLabelGroup service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteLabelGroup service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DeleteLabelGroup Operation
        public virtual Task DeleteLabelGroupAsync(DeleteLabelGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteLabelGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteLabelGroupResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DeleteModel
        /// 
        /// Deletes an ML model currently available for Amazon Lookout for Equipment. This will
        /// prevent it from being used with an inference scheduler, even one that is already set
        /// up.
        /// 
        /// Container for the necessary parameters to execute the DeleteModel service method.
        /// 
        /// The response from the DeleteModel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DeleteModel Operation
        public virtual DeleteModelResponse DeleteModel(DeleteModelRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteModelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteModelResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Deletes an ML model currently available for Amazon Lookout for Equipment. This will
        /// prevent it from being used with an inference scheduler, even one that is already set
        /// up.
        /// 
        /// Container for the necessary parameters to execute the DeleteModel service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteModel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DeleteModel Operation
        public virtual Task DeleteModelAsync(DeleteModelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteModelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteModelResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DescribeDataIngestionJob
        /// 
        /// Provides information on a specific data ingestion job such as creation time, dataset
        /// ARN, and status.
        /// 
        /// Container for the necessary parameters to execute the DescribeDataIngestionJob service method.
        /// 
        /// The response from the DescribeDataIngestionJob service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeDataIngestionJob Operation
        public virtual DescribeDataIngestionJobResponse DescribeDataIngestionJob(DescribeDataIngestionJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeDataIngestionJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeDataIngestionJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Provides information on a specific data ingestion job such as creation time, dataset
        /// ARN, and status.
        /// 
        /// Container for the necessary parameters to execute the DescribeDataIngestionJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeDataIngestionJob service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeDataIngestionJob Operation
        public virtual Task DescribeDataIngestionJobAsync(DescribeDataIngestionJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeDataIngestionJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeDataIngestionJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DescribeDataset
        /// 
        /// Provides a JSON description of the data in each time series dataset, including names,
        /// column names, and data types.
        /// 
        /// Container for the necessary parameters to execute the DescribeDataset service method.
        /// 
        /// The response from the DescribeDataset service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeDataset Operation
        public virtual DescribeDatasetResponse DescribeDataset(DescribeDatasetRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeDatasetRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeDatasetResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Provides a JSON description of the data in each time series dataset, including names,
        /// column names, and data types.
        /// 
        /// Container for the necessary parameters to execute the DescribeDataset service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeDataset service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeDataset Operation
        public virtual Task DescribeDatasetAsync(DescribeDatasetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeDatasetRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeDatasetResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DescribeInferenceScheduler
        /// 
        /// Specifies information about the inference scheduler being used, including name, model,
        /// status, and associated metadata
        /// 
        /// Container for the necessary parameters to execute the DescribeInferenceScheduler service method.
        /// 
        /// The response from the DescribeInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeInferenceScheduler Operation
        public virtual DescribeInferenceSchedulerResponse DescribeInferenceScheduler(DescribeInferenceSchedulerRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeInferenceSchedulerResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Specifies information about the inference scheduler being used, including name, model,
        /// status, and associated metadata
        /// 
        /// Container for the necessary parameters to execute the DescribeInferenceScheduler service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeInferenceScheduler Operation
        public virtual Task DescribeInferenceSchedulerAsync(DescribeInferenceSchedulerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeInferenceSchedulerResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DescribeLabel
        /// 
        /// Returns the name of the label.
        /// 
        /// Container for the necessary parameters to execute the DescribeLabel service method.
        /// 
        /// The response from the DescribeLabel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeLabel Operation
        public virtual DescribeLabelResponse DescribeLabel(DescribeLabelRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeLabelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeLabelResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Returns the name of the label.
        /// 
        /// Container for the necessary parameters to execute the DescribeLabel service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeLabel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeLabel Operation
        public virtual Task DescribeLabelAsync(DescribeLabelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeLabelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeLabelResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DescribeLabelGroup
        /// 
        /// Returns information about the label group.
        /// 
        /// Container for the necessary parameters to execute the DescribeLabelGroup service method.
        /// 
        /// The response from the DescribeLabelGroup service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeLabelGroup Operation
        public virtual DescribeLabelGroupResponse DescribeLabelGroup(DescribeLabelGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeLabelGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeLabelGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Returns information about the label group.
        /// 
        /// Container for the necessary parameters to execute the DescribeLabelGroup service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeLabelGroup service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeLabelGroup Operation
        public virtual Task DescribeLabelGroupAsync(DescribeLabelGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeLabelGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeLabelGroupResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  DescribeModel
        /// 
        /// Provides a JSON containing the overall information about a specific ML model, including
        /// model name and ARN, dataset, training and evaluation information, status, and so on.
        /// 
        /// Container for the necessary parameters to execute the DescribeModel service method.
        /// 
        /// The response from the DescribeModel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeModel Operation
        public virtual DescribeModelResponse DescribeModel(DescribeModelRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeModelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeModelResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Provides a JSON containing the overall information about a specific ML model, including
        /// model name and ARN, dataset, training and evaluation information, status, and so on.
        /// 
        /// Container for the necessary parameters to execute the DescribeModel service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeModel service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for DescribeModel Operation
        public virtual Task DescribeModelAsync(DescribeModelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeModelRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeModelResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListDataIngestionJobs
        /// 
        /// Provides a list of all data ingestion jobs, including dataset name and ARN, S3 location
        /// of the input data, status, and so on.
        /// 
        /// Container for the necessary parameters to execute the ListDataIngestionJobs service method.
        /// 
        /// The response from the ListDataIngestionJobs service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListDataIngestionJobs Operation
        public virtual ListDataIngestionJobsResponse ListDataIngestionJobs(ListDataIngestionJobsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDataIngestionJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDataIngestionJobsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Provides a list of all data ingestion jobs, including dataset name and ARN, S3 location
        /// of the input data, status, and so on.
        /// 
        /// Container for the necessary parameters to execute the ListDataIngestionJobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListDataIngestionJobs service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListDataIngestionJobs Operation
        public virtual Task ListDataIngestionJobsAsync(ListDataIngestionJobsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDataIngestionJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDataIngestionJobsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListDatasets
        /// 
        /// Lists all datasets currently available in your account, filtering on the dataset name.
        /// 
        /// Container for the necessary parameters to execute the ListDatasets service method.
        /// 
        /// The response from the ListDatasets service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListDatasets Operation
        public virtual ListDatasetsResponse ListDatasets(ListDatasetsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDatasetsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDatasetsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists all datasets currently available in your account, filtering on the dataset name.
        /// 
        /// Container for the necessary parameters to execute the ListDatasets service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListDatasets service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListDatasets Operation
        public virtual Task ListDatasetsAsync(ListDatasetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDatasetsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDatasetsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListInferenceEvents
        /// 
        /// Lists all inference events that have been found for the specified inference scheduler.
        /// 
        /// Container for the necessary parameters to execute the ListInferenceEvents service method.
        /// 
        /// The response from the ListInferenceEvents service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListInferenceEvents Operation
        public virtual ListInferenceEventsResponse ListInferenceEvents(ListInferenceEventsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListInferenceEventsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListInferenceEventsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists all inference events that have been found for the specified inference scheduler.
        /// 
        /// Container for the necessary parameters to execute the ListInferenceEvents service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListInferenceEvents service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListInferenceEvents Operation
        public virtual Task ListInferenceEventsAsync(ListInferenceEventsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListInferenceEventsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListInferenceEventsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListInferenceExecutions
        /// 
        /// Lists all inference executions that have been performed by the specified inference
        /// scheduler.
        /// 
        /// Container for the necessary parameters to execute the ListInferenceExecutions service method.
        /// 
        /// The response from the ListInferenceExecutions service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListInferenceExecutions Operation
        public virtual ListInferenceExecutionsResponse ListInferenceExecutions(ListInferenceExecutionsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListInferenceExecutionsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListInferenceExecutionsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists all inference executions that have been performed by the specified inference
        /// scheduler.
        /// 
        /// Container for the necessary parameters to execute the ListInferenceExecutions service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListInferenceExecutions service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListInferenceExecutions Operation
        public virtual Task ListInferenceExecutionsAsync(ListInferenceExecutionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListInferenceExecutionsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListInferenceExecutionsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListInferenceSchedulers
        /// 
        /// Retrieves a list of all inference schedulers currently available for your account.
        /// 
        /// Container for the necessary parameters to execute the ListInferenceSchedulers service method.
        /// 
        /// The response from the ListInferenceSchedulers service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListInferenceSchedulers Operation
        public virtual ListInferenceSchedulersResponse ListInferenceSchedulers(ListInferenceSchedulersRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListInferenceSchedulersRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListInferenceSchedulersResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Retrieves a list of all inference schedulers currently available for your account.
        /// 
        /// Container for the necessary parameters to execute the ListInferenceSchedulers service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListInferenceSchedulers service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListInferenceSchedulers Operation
        public virtual Task ListInferenceSchedulersAsync(ListInferenceSchedulersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListInferenceSchedulersRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListInferenceSchedulersResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListLabelGroups
        /// 
        /// Returns a list of the label groups.
        /// 
        /// Container for the necessary parameters to execute the ListLabelGroups service method.
        /// 
        /// The response from the ListLabelGroups service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListLabelGroups Operation
        public virtual ListLabelGroupsResponse ListLabelGroups(ListLabelGroupsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListLabelGroupsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListLabelGroupsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Returns a list of the label groups.
        /// 
        /// Container for the necessary parameters to execute the ListLabelGroups service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListLabelGroups service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListLabelGroups Operation
        public virtual Task ListLabelGroupsAsync(ListLabelGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListLabelGroupsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListLabelGroupsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListLabels
        /// 
        /// Provides a list of labels.
        /// 
        /// Container for the necessary parameters to execute the ListLabels service method.
        /// 
        /// The response from the ListLabels service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListLabels Operation
        public virtual ListLabelsResponse ListLabels(ListLabelsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListLabelsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListLabelsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Provides a list of labels.
        /// 
        /// Container for the necessary parameters to execute the ListLabels service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListLabels service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListLabels Operation
        public virtual Task ListLabelsAsync(ListLabelsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListLabelsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListLabelsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListModels
        /// 
        /// Generates a list of all models in the account, including model name and ARN, dataset,
        /// and status.
        /// 
        /// Container for the necessary parameters to execute the ListModels service method.
        /// 
        /// The response from the ListModels service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListModels Operation
        public virtual ListModelsResponse ListModels(ListModelsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListModelsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListModelsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Generates a list of all models in the account, including model name and ARN, dataset,
        /// and status.
        /// 
        /// Container for the necessary parameters to execute the ListModels service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListModels service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListModels Operation
        public virtual Task ListModelsAsync(ListModelsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListModelsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListModelsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListSensorStatistics
        /// 
        /// Lists statistics about the data collected for each of the sensors that have been
        /// successfully ingested in the particular dataset. Can also be used to retreive Sensor
        /// Statistics for a previous ingestion job.
        /// 
        /// Container for the necessary parameters to execute the ListSensorStatistics service method.
        /// 
        /// The response from the ListSensorStatistics service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListSensorStatistics Operation
        public virtual ListSensorStatisticsResponse ListSensorStatistics(ListSensorStatisticsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListSensorStatisticsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListSensorStatisticsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Lists statistics about the data collected for each of the sensors that have been
        /// successfully ingested in the particular dataset. Can also be used to retreive Sensor
        /// Statistics for a previous ingestion job.
        /// 
        /// Container for the necessary parameters to execute the ListSensorStatistics service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListSensorStatistics service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for ListSensorStatistics Operation
        public virtual Task ListSensorStatisticsAsync(ListSensorStatisticsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListSensorStatisticsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListSensorStatisticsResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  ListTagsForResource
        /// 
        /// Lists all the tags for a specified resource, including key and value.
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource service method.
        /// 
        /// The response from the ListTagsForResource service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// 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 all the tags for a specified resource, including key and value.
        /// 
        /// 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 LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// 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  StartDataIngestionJob
        /// 
        /// Starts a data ingestion job. Amazon Lookout for Equipment returns the job status.
        /// 
        /// Container for the necessary parameters to execute the StartDataIngestionJob service method.
        /// 
        /// The response from the StartDataIngestionJob service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for StartDataIngestionJob Operation
        public virtual StartDataIngestionJobResponse StartDataIngestionJob(StartDataIngestionJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartDataIngestionJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartDataIngestionJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Starts a data ingestion job. Amazon Lookout for Equipment returns the job status.
        /// 
        /// Container for the necessary parameters to execute the StartDataIngestionJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartDataIngestionJob service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for StartDataIngestionJob Operation
        public virtual Task StartDataIngestionJobAsync(StartDataIngestionJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartDataIngestionJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartDataIngestionJobResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StartInferenceScheduler
        /// 
        /// Starts an inference scheduler.
        /// 
        /// Container for the necessary parameters to execute the StartInferenceScheduler service method.
        /// 
        /// The response from the StartInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for StartInferenceScheduler Operation
        public virtual StartInferenceSchedulerResponse StartInferenceScheduler(StartInferenceSchedulerRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartInferenceSchedulerResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Starts an inference scheduler.
        /// 
        /// Container for the necessary parameters to execute the StartInferenceScheduler service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for StartInferenceScheduler Operation
        public virtual Task StartInferenceSchedulerAsync(StartInferenceSchedulerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartInferenceSchedulerResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  StopInferenceScheduler
        /// 
        /// Stops an inference scheduler.
        /// 
        /// Container for the necessary parameters to execute the StopInferenceScheduler service method.
        /// 
        /// The response from the StopInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for StopInferenceScheduler Operation
        public virtual StopInferenceSchedulerResponse StopInferenceScheduler(StopInferenceSchedulerRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopInferenceSchedulerResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Stops an inference scheduler.
        /// 
        /// Container for the necessary parameters to execute the StopInferenceScheduler service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StopInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for StopInferenceScheduler Operation
        public virtual Task StopInferenceSchedulerAsync(StopInferenceSchedulerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopInferenceSchedulerResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  TagResource
        /// 
        /// Associates a given tag to a resource in your account. A tag is a key-value pair which
        /// can be added to an Amazon Lookout for Equipment resource as metadata. Tags can be
        /// used for organizing your resources as well as helping you to search and filter by
        /// tag. Multiple tags can be added to a resource, either when you create it, or later.
        /// Up to 50 tags can be associated with each resource.
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        /// The response from the TagResource service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for TagResource Operation
        public virtual TagResourceResponse TagResource(TagResourceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Associates a given tag to a resource in your account. A tag is a key-value pair which
        /// can be added to an Amazon Lookout for Equipment resource as metadata. Tags can be
        /// used for organizing your resources as well as helping you to search and filter by
        /// tag. Multiple tags can be added to a resource, either when you create it, or later.
        /// Up to 50 tags can be associated with each resource.
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the TagResource service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// Resource limitations have been exceeded.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for TagResource Operation
        public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  UntagResource
        /// 
        /// Removes a specific tag from a given resource. The tag is specified by its key.
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        /// The response from the UntagResource service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for UntagResource Operation
        public virtual UntagResourceResponse UntagResource(UntagResourceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Removes a specific tag from a given resource. The tag is specified by its key.
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UntagResource service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for UntagResource Operation
        public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  UpdateInferenceScheduler
        /// 
        /// Updates an inference scheduler.
        /// 
        /// Container for the necessary parameters to execute the UpdateInferenceScheduler service method.
        /// 
        /// The response from the UpdateInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for UpdateInferenceScheduler Operation
        public virtual UpdateInferenceSchedulerResponse UpdateInferenceScheduler(UpdateInferenceSchedulerRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateInferenceSchedulerResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Updates an inference scheduler.
        /// 
        /// Container for the necessary parameters to execute the UpdateInferenceScheduler service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateInferenceScheduler service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for UpdateInferenceScheduler Operation
        public virtual Task UpdateInferenceSchedulerAsync(UpdateInferenceSchedulerRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateInferenceSchedulerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateInferenceSchedulerResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
        #region  UpdateLabelGroup
        /// 
        /// Updates the label group.
        /// 
        /// Container for the necessary parameters to execute the UpdateLabelGroup service method.
        /// 
        /// The response from the UpdateLabelGroup service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for UpdateLabelGroup Operation
        public virtual UpdateLabelGroupResponse UpdateLabelGroup(UpdateLabelGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateLabelGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateLabelGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Updates the label group.
        /// 
        /// Container for the necessary parameters to execute the UpdateLabelGroup service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateLabelGroup service method, as returned by LookoutEquipment.
        /// 
        /// The request could not be completed because you do not have access to the resource.
        /// 
        /// 
        /// The request could not be completed due to a conflict with the current state of the
        /// target resource.
        /// 
        /// 
        /// Processing of the request has failed because of an unknown error, exception or failure.
        /// 
        /// 
        /// The resource requested could not be found. Verify the resource ID and retry your
        /// request.
        /// 
        /// 
        /// The request was denied due to request throttling.
        /// 
        /// 
        /// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
        /// or a related AWS service that's being utilized.
        /// 
        /// REST API Reference for UpdateLabelGroup Operation
        public virtual Task UpdateLabelGroupAsync(UpdateLabelGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateLabelGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateLabelGroupResponseUnmarshaller.Instance;
            
            return InvokeAsync(request, options, cancellationToken);
        }
        #endregion
        
    }
}