404 Not Found


nginx
beegazpacho.com - GrazzMean
Uname: Linux in-mum-web1557.main-hosting.eu 5.14.0-611.42.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 24 05:30:20 EDT 2026 x86_64
Software: LiteSpeed
PHP version: 8.2.30 [ PHP INFO ] PHP os: Linux
Server Ip: 93.127.173.176
Your Ip: 216.73.216.168
User: u848900432 (848900432) | Group: o51372345 (1051372345)
Safe Mode: OFF
Disable Function:
NONE

name : api.go
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

package lookoutequipment

import (
	"fmt"
	"time"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/aws/request"
	"github.com/aws/aws-sdk-go/private/protocol"
	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
)

const opCreateDataset = "CreateDataset"

// CreateDatasetRequest generates a "aws/request.Request" representing the
// client's request for the CreateDataset operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateDataset for more information on using the CreateDataset
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the CreateDatasetRequest method.
//	req, resp := client.CreateDatasetRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateDataset
func (c *LookoutEquipment) CreateDatasetRequest(input *CreateDatasetInput) (req *request.Request, output *CreateDatasetOutput) {
	op := &request.Operation{
		Name:       opCreateDataset,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &CreateDatasetInput{}
	}

	output = &CreateDatasetOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CreateDataset API operation for Amazon Lookout for Equipment.
//
// 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. For example, 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation CreateDataset for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - ServiceQuotaExceededException
//     Resource limitations have been exceeded.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateDataset
func (c *LookoutEquipment) CreateDataset(input *CreateDatasetInput) (*CreateDatasetOutput, error) {
	req, out := c.CreateDatasetRequest(input)
	return out, req.Send()
}

// CreateDatasetWithContext is the same as CreateDataset with the addition of
// the ability to pass a context and additional request options.
//
// See CreateDataset for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) CreateDatasetWithContext(ctx aws.Context, input *CreateDatasetInput, opts ...request.Option) (*CreateDatasetOutput, error) {
	req, out := c.CreateDatasetRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCreateInferenceScheduler = "CreateInferenceScheduler"

// CreateInferenceSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the CreateInferenceScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateInferenceScheduler for more information on using the CreateInferenceScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the CreateInferenceSchedulerRequest method.
//	req, resp := client.CreateInferenceSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateInferenceScheduler
func (c *LookoutEquipment) CreateInferenceSchedulerRequest(input *CreateInferenceSchedulerInput) (req *request.Request, output *CreateInferenceSchedulerOutput) {
	op := &request.Operation{
		Name:       opCreateInferenceScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &CreateInferenceSchedulerInput{}
	}

	output = &CreateInferenceSchedulerOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CreateInferenceScheduler API operation for Amazon Lookout for Equipment.
//
// 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation CreateInferenceScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ServiceQuotaExceededException
//     Resource limitations have been exceeded.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateInferenceScheduler
func (c *LookoutEquipment) CreateInferenceScheduler(input *CreateInferenceSchedulerInput) (*CreateInferenceSchedulerOutput, error) {
	req, out := c.CreateInferenceSchedulerRequest(input)
	return out, req.Send()
}

// CreateInferenceSchedulerWithContext is the same as CreateInferenceScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See CreateInferenceScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) CreateInferenceSchedulerWithContext(ctx aws.Context, input *CreateInferenceSchedulerInput, opts ...request.Option) (*CreateInferenceSchedulerOutput, error) {
	req, out := c.CreateInferenceSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCreateLabel = "CreateLabel"

// CreateLabelRequest generates a "aws/request.Request" representing the
// client's request for the CreateLabel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateLabel for more information on using the CreateLabel
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the CreateLabelRequest method.
//	req, resp := client.CreateLabelRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateLabel
func (c *LookoutEquipment) CreateLabelRequest(input *CreateLabelInput) (req *request.Request, output *CreateLabelOutput) {
	op := &request.Operation{
		Name:       opCreateLabel,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &CreateLabelInput{}
	}

	output = &CreateLabelOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CreateLabel API operation for Amazon Lookout for Equipment.
//
// Creates a label for an event.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation CreateLabel for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - ServiceQuotaExceededException
//     Resource limitations have been exceeded.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateLabel
func (c *LookoutEquipment) CreateLabel(input *CreateLabelInput) (*CreateLabelOutput, error) {
	req, out := c.CreateLabelRequest(input)
	return out, req.Send()
}

// CreateLabelWithContext is the same as CreateLabel with the addition of
// the ability to pass a context and additional request options.
//
// See CreateLabel for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) CreateLabelWithContext(ctx aws.Context, input *CreateLabelInput, opts ...request.Option) (*CreateLabelOutput, error) {
	req, out := c.CreateLabelRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCreateLabelGroup = "CreateLabelGroup"

// CreateLabelGroupRequest generates a "aws/request.Request" representing the
// client's request for the CreateLabelGroup operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateLabelGroup for more information on using the CreateLabelGroup
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the CreateLabelGroupRequest method.
//	req, resp := client.CreateLabelGroupRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateLabelGroup
func (c *LookoutEquipment) CreateLabelGroupRequest(input *CreateLabelGroupInput) (req *request.Request, output *CreateLabelGroupOutput) {
	op := &request.Operation{
		Name:       opCreateLabelGroup,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &CreateLabelGroupInput{}
	}

	output = &CreateLabelGroupOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CreateLabelGroup API operation for Amazon Lookout for Equipment.
//
// Creates a group of labels.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation CreateLabelGroup for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - ServiceQuotaExceededException
//     Resource limitations have been exceeded.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateLabelGroup
func (c *LookoutEquipment) CreateLabelGroup(input *CreateLabelGroupInput) (*CreateLabelGroupOutput, error) {
	req, out := c.CreateLabelGroupRequest(input)
	return out, req.Send()
}

// CreateLabelGroupWithContext is the same as CreateLabelGroup with the addition of
// the ability to pass a context and additional request options.
//
// See CreateLabelGroup for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) CreateLabelGroupWithContext(ctx aws.Context, input *CreateLabelGroupInput, opts ...request.Option) (*CreateLabelGroupOutput, error) {
	req, out := c.CreateLabelGroupRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCreateModel = "CreateModel"

// CreateModelRequest generates a "aws/request.Request" representing the
// client's request for the CreateModel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateModel for more information on using the CreateModel
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the CreateModelRequest method.
//	req, resp := client.CreateModelRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateModel
func (c *LookoutEquipment) CreateModelRequest(input *CreateModelInput) (req *request.Request, output *CreateModelOutput) {
	op := &request.Operation{
		Name:       opCreateModel,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &CreateModelInput{}
	}

	output = &CreateModelOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CreateModel API operation for Amazon Lookout for Equipment.
//
// Creates a machine learning 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation CreateModel for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - ServiceQuotaExceededException
//     Resource limitations have been exceeded.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateModel
func (c *LookoutEquipment) CreateModel(input *CreateModelInput) (*CreateModelOutput, error) {
	req, out := c.CreateModelRequest(input)
	return out, req.Send()
}

// CreateModelWithContext is the same as CreateModel with the addition of
// the ability to pass a context and additional request options.
//
// See CreateModel for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) CreateModelWithContext(ctx aws.Context, input *CreateModelInput, opts ...request.Option) (*CreateModelOutput, error) {
	req, out := c.CreateModelRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCreateRetrainingScheduler = "CreateRetrainingScheduler"

// CreateRetrainingSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the CreateRetrainingScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateRetrainingScheduler for more information on using the CreateRetrainingScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the CreateRetrainingSchedulerRequest method.
//	req, resp := client.CreateRetrainingSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateRetrainingScheduler
func (c *LookoutEquipment) CreateRetrainingSchedulerRequest(input *CreateRetrainingSchedulerInput) (req *request.Request, output *CreateRetrainingSchedulerOutput) {
	op := &request.Operation{
		Name:       opCreateRetrainingScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &CreateRetrainingSchedulerInput{}
	}

	output = &CreateRetrainingSchedulerOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CreateRetrainingScheduler API operation for Amazon Lookout for Equipment.
//
// Creates a retraining scheduler on the specified model.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation CreateRetrainingScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateRetrainingScheduler
func (c *LookoutEquipment) CreateRetrainingScheduler(input *CreateRetrainingSchedulerInput) (*CreateRetrainingSchedulerOutput, error) {
	req, out := c.CreateRetrainingSchedulerRequest(input)
	return out, req.Send()
}

// CreateRetrainingSchedulerWithContext is the same as CreateRetrainingScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See CreateRetrainingScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) CreateRetrainingSchedulerWithContext(ctx aws.Context, input *CreateRetrainingSchedulerInput, opts ...request.Option) (*CreateRetrainingSchedulerOutput, error) {
	req, out := c.CreateRetrainingSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteDataset = "DeleteDataset"

// DeleteDatasetRequest generates a "aws/request.Request" representing the
// client's request for the DeleteDataset operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteDataset for more information on using the DeleteDataset
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DeleteDatasetRequest method.
//	req, resp := client.DeleteDatasetRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteDataset
func (c *LookoutEquipment) DeleteDatasetRequest(input *DeleteDatasetInput) (req *request.Request, output *DeleteDatasetOutput) {
	op := &request.Operation{
		Name:       opDeleteDataset,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DeleteDatasetInput{}
	}

	output = &DeleteDatasetOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// DeleteDataset API operation for Amazon Lookout for Equipment.
//
// 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DeleteDataset for usage and error information.
//
// Returned Error Types:
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteDataset
func (c *LookoutEquipment) DeleteDataset(input *DeleteDatasetInput) (*DeleteDatasetOutput, error) {
	req, out := c.DeleteDatasetRequest(input)
	return out, req.Send()
}

// DeleteDatasetWithContext is the same as DeleteDataset with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteDataset for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DeleteDatasetWithContext(ctx aws.Context, input *DeleteDatasetInput, opts ...request.Option) (*DeleteDatasetOutput, error) {
	req, out := c.DeleteDatasetRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteInferenceScheduler = "DeleteInferenceScheduler"

// DeleteInferenceSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the DeleteInferenceScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteInferenceScheduler for more information on using the DeleteInferenceScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DeleteInferenceSchedulerRequest method.
//	req, resp := client.DeleteInferenceSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteInferenceScheduler
func (c *LookoutEquipment) DeleteInferenceSchedulerRequest(input *DeleteInferenceSchedulerInput) (req *request.Request, output *DeleteInferenceSchedulerOutput) {
	op := &request.Operation{
		Name:       opDeleteInferenceScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DeleteInferenceSchedulerInput{}
	}

	output = &DeleteInferenceSchedulerOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// DeleteInferenceScheduler API operation for Amazon Lookout for Equipment.
//
// Deletes an inference scheduler that has been set up. Prior inference results
// will not be deleted.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DeleteInferenceScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteInferenceScheduler
func (c *LookoutEquipment) DeleteInferenceScheduler(input *DeleteInferenceSchedulerInput) (*DeleteInferenceSchedulerOutput, error) {
	req, out := c.DeleteInferenceSchedulerRequest(input)
	return out, req.Send()
}

// DeleteInferenceSchedulerWithContext is the same as DeleteInferenceScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteInferenceScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DeleteInferenceSchedulerWithContext(ctx aws.Context, input *DeleteInferenceSchedulerInput, opts ...request.Option) (*DeleteInferenceSchedulerOutput, error) {
	req, out := c.DeleteInferenceSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteLabel = "DeleteLabel"

// DeleteLabelRequest generates a "aws/request.Request" representing the
// client's request for the DeleteLabel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteLabel for more information on using the DeleteLabel
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DeleteLabelRequest method.
//	req, resp := client.DeleteLabelRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteLabel
func (c *LookoutEquipment) DeleteLabelRequest(input *DeleteLabelInput) (req *request.Request, output *DeleteLabelOutput) {
	op := &request.Operation{
		Name:       opDeleteLabel,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DeleteLabelInput{}
	}

	output = &DeleteLabelOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// DeleteLabel API operation for Amazon Lookout for Equipment.
//
// Deletes a label.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DeleteLabel for usage and error information.
//
// Returned Error Types:
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteLabel
func (c *LookoutEquipment) DeleteLabel(input *DeleteLabelInput) (*DeleteLabelOutput, error) {
	req, out := c.DeleteLabelRequest(input)
	return out, req.Send()
}

// DeleteLabelWithContext is the same as DeleteLabel with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteLabel for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DeleteLabelWithContext(ctx aws.Context, input *DeleteLabelInput, opts ...request.Option) (*DeleteLabelOutput, error) {
	req, out := c.DeleteLabelRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteLabelGroup = "DeleteLabelGroup"

// DeleteLabelGroupRequest generates a "aws/request.Request" representing the
// client's request for the DeleteLabelGroup operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteLabelGroup for more information on using the DeleteLabelGroup
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DeleteLabelGroupRequest method.
//	req, resp := client.DeleteLabelGroupRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteLabelGroup
func (c *LookoutEquipment) DeleteLabelGroupRequest(input *DeleteLabelGroupInput) (req *request.Request, output *DeleteLabelGroupOutput) {
	op := &request.Operation{
		Name:       opDeleteLabelGroup,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DeleteLabelGroupInput{}
	}

	output = &DeleteLabelGroupOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// DeleteLabelGroup API operation for Amazon Lookout for Equipment.
//
// Deletes a group of labels.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DeleteLabelGroup for usage and error information.
//
// Returned Error Types:
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteLabelGroup
func (c *LookoutEquipment) DeleteLabelGroup(input *DeleteLabelGroupInput) (*DeleteLabelGroupOutput, error) {
	req, out := c.DeleteLabelGroupRequest(input)
	return out, req.Send()
}

// DeleteLabelGroupWithContext is the same as DeleteLabelGroup with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteLabelGroup for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DeleteLabelGroupWithContext(ctx aws.Context, input *DeleteLabelGroupInput, opts ...request.Option) (*DeleteLabelGroupOutput, error) {
	req, out := c.DeleteLabelGroupRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteModel = "DeleteModel"

// DeleteModelRequest generates a "aws/request.Request" representing the
// client's request for the DeleteModel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteModel for more information on using the DeleteModel
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DeleteModelRequest method.
//	req, resp := client.DeleteModelRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteModel
func (c *LookoutEquipment) DeleteModelRequest(input *DeleteModelInput) (req *request.Request, output *DeleteModelOutput) {
	op := &request.Operation{
		Name:       opDeleteModel,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DeleteModelInput{}
	}

	output = &DeleteModelOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// DeleteModel API operation for Amazon Lookout for Equipment.
//
// Deletes a machine learning 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DeleteModel for usage and error information.
//
// Returned Error Types:
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteModel
func (c *LookoutEquipment) DeleteModel(input *DeleteModelInput) (*DeleteModelOutput, error) {
	req, out := c.DeleteModelRequest(input)
	return out, req.Send()
}

// DeleteModelWithContext is the same as DeleteModel with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteModel for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DeleteModelWithContext(ctx aws.Context, input *DeleteModelInput, opts ...request.Option) (*DeleteModelOutput, error) {
	req, out := c.DeleteModelRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteResourcePolicy = "DeleteResourcePolicy"

// DeleteResourcePolicyRequest generates a "aws/request.Request" representing the
// client's request for the DeleteResourcePolicy operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteResourcePolicy for more information on using the DeleteResourcePolicy
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DeleteResourcePolicyRequest method.
//	req, resp := client.DeleteResourcePolicyRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteResourcePolicy
func (c *LookoutEquipment) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) {
	op := &request.Operation{
		Name:       opDeleteResourcePolicy,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DeleteResourcePolicyInput{}
	}

	output = &DeleteResourcePolicyOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// DeleteResourcePolicy API operation for Amazon Lookout for Equipment.
//
// Deletes the resource policy attached to the resource.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DeleteResourcePolicy for usage and error information.
//
// Returned Error Types:
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteResourcePolicy
func (c *LookoutEquipment) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) {
	req, out := c.DeleteResourcePolicyRequest(input)
	return out, req.Send()
}

// DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteResourcePolicy for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) {
	req, out := c.DeleteResourcePolicyRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteRetrainingScheduler = "DeleteRetrainingScheduler"

// DeleteRetrainingSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the DeleteRetrainingScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteRetrainingScheduler for more information on using the DeleteRetrainingScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DeleteRetrainingSchedulerRequest method.
//	req, resp := client.DeleteRetrainingSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteRetrainingScheduler
func (c *LookoutEquipment) DeleteRetrainingSchedulerRequest(input *DeleteRetrainingSchedulerInput) (req *request.Request, output *DeleteRetrainingSchedulerOutput) {
	op := &request.Operation{
		Name:       opDeleteRetrainingScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DeleteRetrainingSchedulerInput{}
	}

	output = &DeleteRetrainingSchedulerOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// DeleteRetrainingScheduler API operation for Amazon Lookout for Equipment.
//
// Deletes a retraining scheduler from a model. The retraining scheduler must
// be in the STOPPED status.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DeleteRetrainingScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteRetrainingScheduler
func (c *LookoutEquipment) DeleteRetrainingScheduler(input *DeleteRetrainingSchedulerInput) (*DeleteRetrainingSchedulerOutput, error) {
	req, out := c.DeleteRetrainingSchedulerRequest(input)
	return out, req.Send()
}

// DeleteRetrainingSchedulerWithContext is the same as DeleteRetrainingScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteRetrainingScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DeleteRetrainingSchedulerWithContext(ctx aws.Context, input *DeleteRetrainingSchedulerInput, opts ...request.Option) (*DeleteRetrainingSchedulerOutput, error) {
	req, out := c.DeleteRetrainingSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDescribeDataIngestionJob = "DescribeDataIngestionJob"

// DescribeDataIngestionJobRequest generates a "aws/request.Request" representing the
// client's request for the DescribeDataIngestionJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeDataIngestionJob for more information on using the DescribeDataIngestionJob
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DescribeDataIngestionJobRequest method.
//	req, resp := client.DescribeDataIngestionJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeDataIngestionJob
func (c *LookoutEquipment) DescribeDataIngestionJobRequest(input *DescribeDataIngestionJobInput) (req *request.Request, output *DescribeDataIngestionJobOutput) {
	op := &request.Operation{
		Name:       opDescribeDataIngestionJob,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DescribeDataIngestionJobInput{}
	}

	output = &DescribeDataIngestionJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DescribeDataIngestionJob API operation for Amazon Lookout for Equipment.
//
// Provides information on a specific data ingestion job such as creation time,
// dataset ARN, and status.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DescribeDataIngestionJob for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeDataIngestionJob
func (c *LookoutEquipment) DescribeDataIngestionJob(input *DescribeDataIngestionJobInput) (*DescribeDataIngestionJobOutput, error) {
	req, out := c.DescribeDataIngestionJobRequest(input)
	return out, req.Send()
}

// DescribeDataIngestionJobWithContext is the same as DescribeDataIngestionJob with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeDataIngestionJob for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DescribeDataIngestionJobWithContext(ctx aws.Context, input *DescribeDataIngestionJobInput, opts ...request.Option) (*DescribeDataIngestionJobOutput, error) {
	req, out := c.DescribeDataIngestionJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDescribeDataset = "DescribeDataset"

// DescribeDatasetRequest generates a "aws/request.Request" representing the
// client's request for the DescribeDataset operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeDataset for more information on using the DescribeDataset
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DescribeDatasetRequest method.
//	req, resp := client.DescribeDatasetRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeDataset
func (c *LookoutEquipment) DescribeDatasetRequest(input *DescribeDatasetInput) (req *request.Request, output *DescribeDatasetOutput) {
	op := &request.Operation{
		Name:       opDescribeDataset,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DescribeDatasetInput{}
	}

	output = &DescribeDatasetOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DescribeDataset API operation for Amazon Lookout for Equipment.
//
// Provides a JSON description of the data in each time series dataset, including
// names, column names, and data types.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DescribeDataset for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeDataset
func (c *LookoutEquipment) DescribeDataset(input *DescribeDatasetInput) (*DescribeDatasetOutput, error) {
	req, out := c.DescribeDatasetRequest(input)
	return out, req.Send()
}

// DescribeDatasetWithContext is the same as DescribeDataset with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeDataset for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DescribeDatasetWithContext(ctx aws.Context, input *DescribeDatasetInput, opts ...request.Option) (*DescribeDatasetOutput, error) {
	req, out := c.DescribeDatasetRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDescribeInferenceScheduler = "DescribeInferenceScheduler"

// DescribeInferenceSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the DescribeInferenceScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeInferenceScheduler for more information on using the DescribeInferenceScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DescribeInferenceSchedulerRequest method.
//	req, resp := client.DescribeInferenceSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeInferenceScheduler
func (c *LookoutEquipment) DescribeInferenceSchedulerRequest(input *DescribeInferenceSchedulerInput) (req *request.Request, output *DescribeInferenceSchedulerOutput) {
	op := &request.Operation{
		Name:       opDescribeInferenceScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DescribeInferenceSchedulerInput{}
	}

	output = &DescribeInferenceSchedulerOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DescribeInferenceScheduler API operation for Amazon Lookout for Equipment.
//
// Specifies information about the inference scheduler being used, including
// name, model, status, and associated metadata
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DescribeInferenceScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeInferenceScheduler
func (c *LookoutEquipment) DescribeInferenceScheduler(input *DescribeInferenceSchedulerInput) (*DescribeInferenceSchedulerOutput, error) {
	req, out := c.DescribeInferenceSchedulerRequest(input)
	return out, req.Send()
}

// DescribeInferenceSchedulerWithContext is the same as DescribeInferenceScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeInferenceScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DescribeInferenceSchedulerWithContext(ctx aws.Context, input *DescribeInferenceSchedulerInput, opts ...request.Option) (*DescribeInferenceSchedulerOutput, error) {
	req, out := c.DescribeInferenceSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDescribeLabel = "DescribeLabel"

// DescribeLabelRequest generates a "aws/request.Request" representing the
// client's request for the DescribeLabel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeLabel for more information on using the DescribeLabel
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DescribeLabelRequest method.
//	req, resp := client.DescribeLabelRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeLabel
func (c *LookoutEquipment) DescribeLabelRequest(input *DescribeLabelInput) (req *request.Request, output *DescribeLabelOutput) {
	op := &request.Operation{
		Name:       opDescribeLabel,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DescribeLabelInput{}
	}

	output = &DescribeLabelOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DescribeLabel API operation for Amazon Lookout for Equipment.
//
// Returns the name of the label.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DescribeLabel for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeLabel
func (c *LookoutEquipment) DescribeLabel(input *DescribeLabelInput) (*DescribeLabelOutput, error) {
	req, out := c.DescribeLabelRequest(input)
	return out, req.Send()
}

// DescribeLabelWithContext is the same as DescribeLabel with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeLabel for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DescribeLabelWithContext(ctx aws.Context, input *DescribeLabelInput, opts ...request.Option) (*DescribeLabelOutput, error) {
	req, out := c.DescribeLabelRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDescribeLabelGroup = "DescribeLabelGroup"

// DescribeLabelGroupRequest generates a "aws/request.Request" representing the
// client's request for the DescribeLabelGroup operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeLabelGroup for more information on using the DescribeLabelGroup
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DescribeLabelGroupRequest method.
//	req, resp := client.DescribeLabelGroupRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeLabelGroup
func (c *LookoutEquipment) DescribeLabelGroupRequest(input *DescribeLabelGroupInput) (req *request.Request, output *DescribeLabelGroupOutput) {
	op := &request.Operation{
		Name:       opDescribeLabelGroup,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DescribeLabelGroupInput{}
	}

	output = &DescribeLabelGroupOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DescribeLabelGroup API operation for Amazon Lookout for Equipment.
//
// Returns information about the label group.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DescribeLabelGroup for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeLabelGroup
func (c *LookoutEquipment) DescribeLabelGroup(input *DescribeLabelGroupInput) (*DescribeLabelGroupOutput, error) {
	req, out := c.DescribeLabelGroupRequest(input)
	return out, req.Send()
}

// DescribeLabelGroupWithContext is the same as DescribeLabelGroup with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeLabelGroup for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DescribeLabelGroupWithContext(ctx aws.Context, input *DescribeLabelGroupInput, opts ...request.Option) (*DescribeLabelGroupOutput, error) {
	req, out := c.DescribeLabelGroupRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDescribeModel = "DescribeModel"

// DescribeModelRequest generates a "aws/request.Request" representing the
// client's request for the DescribeModel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeModel for more information on using the DescribeModel
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DescribeModelRequest method.
//	req, resp := client.DescribeModelRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeModel
func (c *LookoutEquipment) DescribeModelRequest(input *DescribeModelInput) (req *request.Request, output *DescribeModelOutput) {
	op := &request.Operation{
		Name:       opDescribeModel,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DescribeModelInput{}
	}

	output = &DescribeModelOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DescribeModel API operation for Amazon Lookout for Equipment.
//
// Provides a JSON containing the overall information about a specific machine
// learning model, including model name and ARN, dataset, training and evaluation
// information, status, and so on.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DescribeModel for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeModel
func (c *LookoutEquipment) DescribeModel(input *DescribeModelInput) (*DescribeModelOutput, error) {
	req, out := c.DescribeModelRequest(input)
	return out, req.Send()
}

// DescribeModelWithContext is the same as DescribeModel with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeModel for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DescribeModelWithContext(ctx aws.Context, input *DescribeModelInput, opts ...request.Option) (*DescribeModelOutput, error) {
	req, out := c.DescribeModelRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDescribeModelVersion = "DescribeModelVersion"

// DescribeModelVersionRequest generates a "aws/request.Request" representing the
// client's request for the DescribeModelVersion operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeModelVersion for more information on using the DescribeModelVersion
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DescribeModelVersionRequest method.
//	req, resp := client.DescribeModelVersionRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeModelVersion
func (c *LookoutEquipment) DescribeModelVersionRequest(input *DescribeModelVersionInput) (req *request.Request, output *DescribeModelVersionOutput) {
	op := &request.Operation{
		Name:       opDescribeModelVersion,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DescribeModelVersionInput{}
	}

	output = &DescribeModelVersionOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DescribeModelVersion API operation for Amazon Lookout for Equipment.
//
// Retrieves information about a specific machine learning model version.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DescribeModelVersion for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeModelVersion
func (c *LookoutEquipment) DescribeModelVersion(input *DescribeModelVersionInput) (*DescribeModelVersionOutput, error) {
	req, out := c.DescribeModelVersionRequest(input)
	return out, req.Send()
}

// DescribeModelVersionWithContext is the same as DescribeModelVersion with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeModelVersion for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DescribeModelVersionWithContext(ctx aws.Context, input *DescribeModelVersionInput, opts ...request.Option) (*DescribeModelVersionOutput, error) {
	req, out := c.DescribeModelVersionRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDescribeResourcePolicy = "DescribeResourcePolicy"

// DescribeResourcePolicyRequest generates a "aws/request.Request" representing the
// client's request for the DescribeResourcePolicy operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeResourcePolicy for more information on using the DescribeResourcePolicy
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DescribeResourcePolicyRequest method.
//	req, resp := client.DescribeResourcePolicyRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeResourcePolicy
func (c *LookoutEquipment) DescribeResourcePolicyRequest(input *DescribeResourcePolicyInput) (req *request.Request, output *DescribeResourcePolicyOutput) {
	op := &request.Operation{
		Name:       opDescribeResourcePolicy,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DescribeResourcePolicyInput{}
	}

	output = &DescribeResourcePolicyOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DescribeResourcePolicy API operation for Amazon Lookout for Equipment.
//
// Provides the details of a resource policy attached to a resource.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DescribeResourcePolicy for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeResourcePolicy
func (c *LookoutEquipment) DescribeResourcePolicy(input *DescribeResourcePolicyInput) (*DescribeResourcePolicyOutput, error) {
	req, out := c.DescribeResourcePolicyRequest(input)
	return out, req.Send()
}

// DescribeResourcePolicyWithContext is the same as DescribeResourcePolicy with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeResourcePolicy for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DescribeResourcePolicyWithContext(ctx aws.Context, input *DescribeResourcePolicyInput, opts ...request.Option) (*DescribeResourcePolicyOutput, error) {
	req, out := c.DescribeResourcePolicyRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDescribeRetrainingScheduler = "DescribeRetrainingScheduler"

// DescribeRetrainingSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the DescribeRetrainingScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeRetrainingScheduler for more information on using the DescribeRetrainingScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the DescribeRetrainingSchedulerRequest method.
//	req, resp := client.DescribeRetrainingSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeRetrainingScheduler
func (c *LookoutEquipment) DescribeRetrainingSchedulerRequest(input *DescribeRetrainingSchedulerInput) (req *request.Request, output *DescribeRetrainingSchedulerOutput) {
	op := &request.Operation{
		Name:       opDescribeRetrainingScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &DescribeRetrainingSchedulerInput{}
	}

	output = &DescribeRetrainingSchedulerOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DescribeRetrainingScheduler API operation for Amazon Lookout for Equipment.
//
// Provides a description of the retraining scheduler, including information
// such as the model name and retraining parameters.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation DescribeRetrainingScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeRetrainingScheduler
func (c *LookoutEquipment) DescribeRetrainingScheduler(input *DescribeRetrainingSchedulerInput) (*DescribeRetrainingSchedulerOutput, error) {
	req, out := c.DescribeRetrainingSchedulerRequest(input)
	return out, req.Send()
}

// DescribeRetrainingSchedulerWithContext is the same as DescribeRetrainingScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeRetrainingScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) DescribeRetrainingSchedulerWithContext(ctx aws.Context, input *DescribeRetrainingSchedulerInput, opts ...request.Option) (*DescribeRetrainingSchedulerOutput, error) {
	req, out := c.DescribeRetrainingSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opImportDataset = "ImportDataset"

// ImportDatasetRequest generates a "aws/request.Request" representing the
// client's request for the ImportDataset operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ImportDataset for more information on using the ImportDataset
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ImportDatasetRequest method.
//	req, resp := client.ImportDatasetRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ImportDataset
func (c *LookoutEquipment) ImportDatasetRequest(input *ImportDatasetInput) (req *request.Request, output *ImportDatasetOutput) {
	op := &request.Operation{
		Name:       opImportDataset,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &ImportDatasetInput{}
	}

	output = &ImportDatasetOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ImportDataset API operation for Amazon Lookout for Equipment.
//
// Imports a dataset.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ImportDataset for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ServiceQuotaExceededException
//     Resource limitations have been exceeded.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ImportDataset
func (c *LookoutEquipment) ImportDataset(input *ImportDatasetInput) (*ImportDatasetOutput, error) {
	req, out := c.ImportDatasetRequest(input)
	return out, req.Send()
}

// ImportDatasetWithContext is the same as ImportDataset with the addition of
// the ability to pass a context and additional request options.
//
// See ImportDataset for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ImportDatasetWithContext(ctx aws.Context, input *ImportDatasetInput, opts ...request.Option) (*ImportDatasetOutput, error) {
	req, out := c.ImportDatasetRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opImportModelVersion = "ImportModelVersion"

// ImportModelVersionRequest generates a "aws/request.Request" representing the
// client's request for the ImportModelVersion operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ImportModelVersion for more information on using the ImportModelVersion
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ImportModelVersionRequest method.
//	req, resp := client.ImportModelVersionRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ImportModelVersion
func (c *LookoutEquipment) ImportModelVersionRequest(input *ImportModelVersionInput) (req *request.Request, output *ImportModelVersionOutput) {
	op := &request.Operation{
		Name:       opImportModelVersion,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &ImportModelVersionInput{}
	}

	output = &ImportModelVersionOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ImportModelVersion API operation for Amazon Lookout for Equipment.
//
// Imports a model that has been trained successfully.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ImportModelVersion for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ServiceQuotaExceededException
//     Resource limitations have been exceeded.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ImportModelVersion
func (c *LookoutEquipment) ImportModelVersion(input *ImportModelVersionInput) (*ImportModelVersionOutput, error) {
	req, out := c.ImportModelVersionRequest(input)
	return out, req.Send()
}

// ImportModelVersionWithContext is the same as ImportModelVersion with the addition of
// the ability to pass a context and additional request options.
//
// See ImportModelVersion for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ImportModelVersionWithContext(ctx aws.Context, input *ImportModelVersionInput, opts ...request.Option) (*ImportModelVersionOutput, error) {
	req, out := c.ImportModelVersionRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opListDataIngestionJobs = "ListDataIngestionJobs"

// ListDataIngestionJobsRequest generates a "aws/request.Request" representing the
// client's request for the ListDataIngestionJobs operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListDataIngestionJobs for more information on using the ListDataIngestionJobs
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListDataIngestionJobsRequest method.
//	req, resp := client.ListDataIngestionJobsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListDataIngestionJobs
func (c *LookoutEquipment) ListDataIngestionJobsRequest(input *ListDataIngestionJobsInput) (req *request.Request, output *ListDataIngestionJobsOutput) {
	op := &request.Operation{
		Name:       opListDataIngestionJobs,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListDataIngestionJobsInput{}
	}

	output = &ListDataIngestionJobsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListDataIngestionJobs API operation for Amazon Lookout for Equipment.
//
// Provides a list of all data ingestion jobs, including dataset name and ARN,
// S3 location of the input data, status, and so on.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListDataIngestionJobs for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListDataIngestionJobs
func (c *LookoutEquipment) ListDataIngestionJobs(input *ListDataIngestionJobsInput) (*ListDataIngestionJobsOutput, error) {
	req, out := c.ListDataIngestionJobsRequest(input)
	return out, req.Send()
}

// ListDataIngestionJobsWithContext is the same as ListDataIngestionJobs with the addition of
// the ability to pass a context and additional request options.
//
// See ListDataIngestionJobs for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListDataIngestionJobsWithContext(ctx aws.Context, input *ListDataIngestionJobsInput, opts ...request.Option) (*ListDataIngestionJobsOutput, error) {
	req, out := c.ListDataIngestionJobsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListDataIngestionJobsPages iterates over the pages of a ListDataIngestionJobs operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListDataIngestionJobs method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListDataIngestionJobs operation.
//	pageNum := 0
//	err := client.ListDataIngestionJobsPages(params,
//	    func(page *lookoutequipment.ListDataIngestionJobsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListDataIngestionJobsPages(input *ListDataIngestionJobsInput, fn func(*ListDataIngestionJobsOutput, bool) bool) error {
	return c.ListDataIngestionJobsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListDataIngestionJobsPagesWithContext same as ListDataIngestionJobsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListDataIngestionJobsPagesWithContext(ctx aws.Context, input *ListDataIngestionJobsInput, fn func(*ListDataIngestionJobsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListDataIngestionJobsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListDataIngestionJobsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListDataIngestionJobsOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListDatasets = "ListDatasets"

// ListDatasetsRequest generates a "aws/request.Request" representing the
// client's request for the ListDatasets operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListDatasets for more information on using the ListDatasets
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListDatasetsRequest method.
//	req, resp := client.ListDatasetsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListDatasets
func (c *LookoutEquipment) ListDatasetsRequest(input *ListDatasetsInput) (req *request.Request, output *ListDatasetsOutput) {
	op := &request.Operation{
		Name:       opListDatasets,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListDatasetsInput{}
	}

	output = &ListDatasetsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListDatasets API operation for Amazon Lookout for Equipment.
//
// Lists all datasets currently available in your account, filtering on the
// dataset name.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListDatasets for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListDatasets
func (c *LookoutEquipment) ListDatasets(input *ListDatasetsInput) (*ListDatasetsOutput, error) {
	req, out := c.ListDatasetsRequest(input)
	return out, req.Send()
}

// ListDatasetsWithContext is the same as ListDatasets with the addition of
// the ability to pass a context and additional request options.
//
// See ListDatasets for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListDatasetsWithContext(ctx aws.Context, input *ListDatasetsInput, opts ...request.Option) (*ListDatasetsOutput, error) {
	req, out := c.ListDatasetsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListDatasetsPages iterates over the pages of a ListDatasets operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListDatasets method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListDatasets operation.
//	pageNum := 0
//	err := client.ListDatasetsPages(params,
//	    func(page *lookoutequipment.ListDatasetsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListDatasetsPages(input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool) error {
	return c.ListDatasetsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListDatasetsPagesWithContext same as ListDatasetsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListDatasetsPagesWithContext(ctx aws.Context, input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListDatasetsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListDatasetsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListDatasetsOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListInferenceEvents = "ListInferenceEvents"

// ListInferenceEventsRequest generates a "aws/request.Request" representing the
// client's request for the ListInferenceEvents operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListInferenceEvents for more information on using the ListInferenceEvents
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListInferenceEventsRequest method.
//	req, resp := client.ListInferenceEventsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceEvents
func (c *LookoutEquipment) ListInferenceEventsRequest(input *ListInferenceEventsInput) (req *request.Request, output *ListInferenceEventsOutput) {
	op := &request.Operation{
		Name:       opListInferenceEvents,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListInferenceEventsInput{}
	}

	output = &ListInferenceEventsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListInferenceEvents API operation for Amazon Lookout for Equipment.
//
// Lists all inference events that have been found for the specified inference
// scheduler.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListInferenceEvents for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceEvents
func (c *LookoutEquipment) ListInferenceEvents(input *ListInferenceEventsInput) (*ListInferenceEventsOutput, error) {
	req, out := c.ListInferenceEventsRequest(input)
	return out, req.Send()
}

// ListInferenceEventsWithContext is the same as ListInferenceEvents with the addition of
// the ability to pass a context and additional request options.
//
// See ListInferenceEvents for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListInferenceEventsWithContext(ctx aws.Context, input *ListInferenceEventsInput, opts ...request.Option) (*ListInferenceEventsOutput, error) {
	req, out := c.ListInferenceEventsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListInferenceEventsPages iterates over the pages of a ListInferenceEvents operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListInferenceEvents method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListInferenceEvents operation.
//	pageNum := 0
//	err := client.ListInferenceEventsPages(params,
//	    func(page *lookoutequipment.ListInferenceEventsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListInferenceEventsPages(input *ListInferenceEventsInput, fn func(*ListInferenceEventsOutput, bool) bool) error {
	return c.ListInferenceEventsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListInferenceEventsPagesWithContext same as ListInferenceEventsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListInferenceEventsPagesWithContext(ctx aws.Context, input *ListInferenceEventsInput, fn func(*ListInferenceEventsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListInferenceEventsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListInferenceEventsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListInferenceEventsOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListInferenceExecutions = "ListInferenceExecutions"

// ListInferenceExecutionsRequest generates a "aws/request.Request" representing the
// client's request for the ListInferenceExecutions operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListInferenceExecutions for more information on using the ListInferenceExecutions
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListInferenceExecutionsRequest method.
//	req, resp := client.ListInferenceExecutionsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceExecutions
func (c *LookoutEquipment) ListInferenceExecutionsRequest(input *ListInferenceExecutionsInput) (req *request.Request, output *ListInferenceExecutionsOutput) {
	op := &request.Operation{
		Name:       opListInferenceExecutions,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListInferenceExecutionsInput{}
	}

	output = &ListInferenceExecutionsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListInferenceExecutions API operation for Amazon Lookout for Equipment.
//
// Lists all inference executions that have been performed by the specified
// inference scheduler.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListInferenceExecutions for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceExecutions
func (c *LookoutEquipment) ListInferenceExecutions(input *ListInferenceExecutionsInput) (*ListInferenceExecutionsOutput, error) {
	req, out := c.ListInferenceExecutionsRequest(input)
	return out, req.Send()
}

// ListInferenceExecutionsWithContext is the same as ListInferenceExecutions with the addition of
// the ability to pass a context and additional request options.
//
// See ListInferenceExecutions for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListInferenceExecutionsWithContext(ctx aws.Context, input *ListInferenceExecutionsInput, opts ...request.Option) (*ListInferenceExecutionsOutput, error) {
	req, out := c.ListInferenceExecutionsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListInferenceExecutionsPages iterates over the pages of a ListInferenceExecutions operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListInferenceExecutions method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListInferenceExecutions operation.
//	pageNum := 0
//	err := client.ListInferenceExecutionsPages(params,
//	    func(page *lookoutequipment.ListInferenceExecutionsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListInferenceExecutionsPages(input *ListInferenceExecutionsInput, fn func(*ListInferenceExecutionsOutput, bool) bool) error {
	return c.ListInferenceExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListInferenceExecutionsPagesWithContext same as ListInferenceExecutionsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListInferenceExecutionsPagesWithContext(ctx aws.Context, input *ListInferenceExecutionsInput, fn func(*ListInferenceExecutionsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListInferenceExecutionsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListInferenceExecutionsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListInferenceExecutionsOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListInferenceSchedulers = "ListInferenceSchedulers"

// ListInferenceSchedulersRequest generates a "aws/request.Request" representing the
// client's request for the ListInferenceSchedulers operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListInferenceSchedulers for more information on using the ListInferenceSchedulers
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListInferenceSchedulersRequest method.
//	req, resp := client.ListInferenceSchedulersRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceSchedulers
func (c *LookoutEquipment) ListInferenceSchedulersRequest(input *ListInferenceSchedulersInput) (req *request.Request, output *ListInferenceSchedulersOutput) {
	op := &request.Operation{
		Name:       opListInferenceSchedulers,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListInferenceSchedulersInput{}
	}

	output = &ListInferenceSchedulersOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListInferenceSchedulers API operation for Amazon Lookout for Equipment.
//
// Retrieves a list of all inference schedulers currently available for your
// account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListInferenceSchedulers for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceSchedulers
func (c *LookoutEquipment) ListInferenceSchedulers(input *ListInferenceSchedulersInput) (*ListInferenceSchedulersOutput, error) {
	req, out := c.ListInferenceSchedulersRequest(input)
	return out, req.Send()
}

// ListInferenceSchedulersWithContext is the same as ListInferenceSchedulers with the addition of
// the ability to pass a context and additional request options.
//
// See ListInferenceSchedulers for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListInferenceSchedulersWithContext(ctx aws.Context, input *ListInferenceSchedulersInput, opts ...request.Option) (*ListInferenceSchedulersOutput, error) {
	req, out := c.ListInferenceSchedulersRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListInferenceSchedulersPages iterates over the pages of a ListInferenceSchedulers operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListInferenceSchedulers method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListInferenceSchedulers operation.
//	pageNum := 0
//	err := client.ListInferenceSchedulersPages(params,
//	    func(page *lookoutequipment.ListInferenceSchedulersOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListInferenceSchedulersPages(input *ListInferenceSchedulersInput, fn func(*ListInferenceSchedulersOutput, bool) bool) error {
	return c.ListInferenceSchedulersPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListInferenceSchedulersPagesWithContext same as ListInferenceSchedulersPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListInferenceSchedulersPagesWithContext(ctx aws.Context, input *ListInferenceSchedulersInput, fn func(*ListInferenceSchedulersOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListInferenceSchedulersInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListInferenceSchedulersRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListInferenceSchedulersOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListLabelGroups = "ListLabelGroups"

// ListLabelGroupsRequest generates a "aws/request.Request" representing the
// client's request for the ListLabelGroups operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListLabelGroups for more information on using the ListLabelGroups
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListLabelGroupsRequest method.
//	req, resp := client.ListLabelGroupsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListLabelGroups
func (c *LookoutEquipment) ListLabelGroupsRequest(input *ListLabelGroupsInput) (req *request.Request, output *ListLabelGroupsOutput) {
	op := &request.Operation{
		Name:       opListLabelGroups,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListLabelGroupsInput{}
	}

	output = &ListLabelGroupsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListLabelGroups API operation for Amazon Lookout for Equipment.
//
// Returns a list of the label groups.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListLabelGroups for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListLabelGroups
func (c *LookoutEquipment) ListLabelGroups(input *ListLabelGroupsInput) (*ListLabelGroupsOutput, error) {
	req, out := c.ListLabelGroupsRequest(input)
	return out, req.Send()
}

// ListLabelGroupsWithContext is the same as ListLabelGroups with the addition of
// the ability to pass a context and additional request options.
//
// See ListLabelGroups for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListLabelGroupsWithContext(ctx aws.Context, input *ListLabelGroupsInput, opts ...request.Option) (*ListLabelGroupsOutput, error) {
	req, out := c.ListLabelGroupsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListLabelGroupsPages iterates over the pages of a ListLabelGroups operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListLabelGroups method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListLabelGroups operation.
//	pageNum := 0
//	err := client.ListLabelGroupsPages(params,
//	    func(page *lookoutequipment.ListLabelGroupsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListLabelGroupsPages(input *ListLabelGroupsInput, fn func(*ListLabelGroupsOutput, bool) bool) error {
	return c.ListLabelGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListLabelGroupsPagesWithContext same as ListLabelGroupsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListLabelGroupsPagesWithContext(ctx aws.Context, input *ListLabelGroupsInput, fn func(*ListLabelGroupsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListLabelGroupsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListLabelGroupsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListLabelGroupsOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListLabels = "ListLabels"

// ListLabelsRequest generates a "aws/request.Request" representing the
// client's request for the ListLabels operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListLabels for more information on using the ListLabels
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListLabelsRequest method.
//	req, resp := client.ListLabelsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListLabels
func (c *LookoutEquipment) ListLabelsRequest(input *ListLabelsInput) (req *request.Request, output *ListLabelsOutput) {
	op := &request.Operation{
		Name:       opListLabels,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListLabelsInput{}
	}

	output = &ListLabelsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListLabels API operation for Amazon Lookout for Equipment.
//
// Provides a list of labels.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListLabels for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListLabels
func (c *LookoutEquipment) ListLabels(input *ListLabelsInput) (*ListLabelsOutput, error) {
	req, out := c.ListLabelsRequest(input)
	return out, req.Send()
}

// ListLabelsWithContext is the same as ListLabels with the addition of
// the ability to pass a context and additional request options.
//
// See ListLabels for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListLabelsWithContext(ctx aws.Context, input *ListLabelsInput, opts ...request.Option) (*ListLabelsOutput, error) {
	req, out := c.ListLabelsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListLabelsPages iterates over the pages of a ListLabels operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListLabels method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListLabels operation.
//	pageNum := 0
//	err := client.ListLabelsPages(params,
//	    func(page *lookoutequipment.ListLabelsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListLabelsPages(input *ListLabelsInput, fn func(*ListLabelsOutput, bool) bool) error {
	return c.ListLabelsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListLabelsPagesWithContext same as ListLabelsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListLabelsPagesWithContext(ctx aws.Context, input *ListLabelsInput, fn func(*ListLabelsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListLabelsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListLabelsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListLabelsOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListModelVersions = "ListModelVersions"

// ListModelVersionsRequest generates a "aws/request.Request" representing the
// client's request for the ListModelVersions operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListModelVersions for more information on using the ListModelVersions
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListModelVersionsRequest method.
//	req, resp := client.ListModelVersionsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListModelVersions
func (c *LookoutEquipment) ListModelVersionsRequest(input *ListModelVersionsInput) (req *request.Request, output *ListModelVersionsOutput) {
	op := &request.Operation{
		Name:       opListModelVersions,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListModelVersionsInput{}
	}

	output = &ListModelVersionsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListModelVersions API operation for Amazon Lookout for Equipment.
//
// Generates a list of all model versions for a given model, including the model
// version, model version ARN, and status. To list a subset of versions, use
// the MaxModelVersion and MinModelVersion fields.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListModelVersions for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListModelVersions
func (c *LookoutEquipment) ListModelVersions(input *ListModelVersionsInput) (*ListModelVersionsOutput, error) {
	req, out := c.ListModelVersionsRequest(input)
	return out, req.Send()
}

// ListModelVersionsWithContext is the same as ListModelVersions with the addition of
// the ability to pass a context and additional request options.
//
// See ListModelVersions for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListModelVersionsWithContext(ctx aws.Context, input *ListModelVersionsInput, opts ...request.Option) (*ListModelVersionsOutput, error) {
	req, out := c.ListModelVersionsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListModelVersionsPages iterates over the pages of a ListModelVersions operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListModelVersions method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListModelVersions operation.
//	pageNum := 0
//	err := client.ListModelVersionsPages(params,
//	    func(page *lookoutequipment.ListModelVersionsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListModelVersionsPages(input *ListModelVersionsInput, fn func(*ListModelVersionsOutput, bool) bool) error {
	return c.ListModelVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListModelVersionsPagesWithContext same as ListModelVersionsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListModelVersionsPagesWithContext(ctx aws.Context, input *ListModelVersionsInput, fn func(*ListModelVersionsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListModelVersionsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListModelVersionsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListModelVersionsOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListModels = "ListModels"

// ListModelsRequest generates a "aws/request.Request" representing the
// client's request for the ListModels operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListModels for more information on using the ListModels
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListModelsRequest method.
//	req, resp := client.ListModelsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListModels
func (c *LookoutEquipment) ListModelsRequest(input *ListModelsInput) (req *request.Request, output *ListModelsOutput) {
	op := &request.Operation{
		Name:       opListModels,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListModelsInput{}
	}

	output = &ListModelsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListModels API operation for Amazon Lookout for Equipment.
//
// Generates a list of all models in the account, including model name and ARN,
// dataset, and status.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListModels for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListModels
func (c *LookoutEquipment) ListModels(input *ListModelsInput) (*ListModelsOutput, error) {
	req, out := c.ListModelsRequest(input)
	return out, req.Send()
}

// ListModelsWithContext is the same as ListModels with the addition of
// the ability to pass a context and additional request options.
//
// See ListModels for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListModelsWithContext(ctx aws.Context, input *ListModelsInput, opts ...request.Option) (*ListModelsOutput, error) {
	req, out := c.ListModelsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListModelsPages iterates over the pages of a ListModels operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListModels method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListModels operation.
//	pageNum := 0
//	err := client.ListModelsPages(params,
//	    func(page *lookoutequipment.ListModelsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListModelsPages(input *ListModelsInput, fn func(*ListModelsOutput, bool) bool) error {
	return c.ListModelsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListModelsPagesWithContext same as ListModelsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListModelsPagesWithContext(ctx aws.Context, input *ListModelsInput, fn func(*ListModelsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListModelsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListModelsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListModelsOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListRetrainingSchedulers = "ListRetrainingSchedulers"

// ListRetrainingSchedulersRequest generates a "aws/request.Request" representing the
// client's request for the ListRetrainingSchedulers operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListRetrainingSchedulers for more information on using the ListRetrainingSchedulers
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListRetrainingSchedulersRequest method.
//	req, resp := client.ListRetrainingSchedulersRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListRetrainingSchedulers
func (c *LookoutEquipment) ListRetrainingSchedulersRequest(input *ListRetrainingSchedulersInput) (req *request.Request, output *ListRetrainingSchedulersOutput) {
	op := &request.Operation{
		Name:       opListRetrainingSchedulers,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListRetrainingSchedulersInput{}
	}

	output = &ListRetrainingSchedulersOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListRetrainingSchedulers API operation for Amazon Lookout for Equipment.
//
// Lists all retraining schedulers in your account, filtering by model name
// prefix and status.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListRetrainingSchedulers for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListRetrainingSchedulers
func (c *LookoutEquipment) ListRetrainingSchedulers(input *ListRetrainingSchedulersInput) (*ListRetrainingSchedulersOutput, error) {
	req, out := c.ListRetrainingSchedulersRequest(input)
	return out, req.Send()
}

// ListRetrainingSchedulersWithContext is the same as ListRetrainingSchedulers with the addition of
// the ability to pass a context and additional request options.
//
// See ListRetrainingSchedulers for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListRetrainingSchedulersWithContext(ctx aws.Context, input *ListRetrainingSchedulersInput, opts ...request.Option) (*ListRetrainingSchedulersOutput, error) {
	req, out := c.ListRetrainingSchedulersRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListRetrainingSchedulersPages iterates over the pages of a ListRetrainingSchedulers operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListRetrainingSchedulers method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListRetrainingSchedulers operation.
//	pageNum := 0
//	err := client.ListRetrainingSchedulersPages(params,
//	    func(page *lookoutequipment.ListRetrainingSchedulersOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListRetrainingSchedulersPages(input *ListRetrainingSchedulersInput, fn func(*ListRetrainingSchedulersOutput, bool) bool) error {
	return c.ListRetrainingSchedulersPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListRetrainingSchedulersPagesWithContext same as ListRetrainingSchedulersPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListRetrainingSchedulersPagesWithContext(ctx aws.Context, input *ListRetrainingSchedulersInput, fn func(*ListRetrainingSchedulersOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListRetrainingSchedulersInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListRetrainingSchedulersRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListRetrainingSchedulersOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListSensorStatistics = "ListSensorStatistics"

// ListSensorStatisticsRequest generates a "aws/request.Request" representing the
// client's request for the ListSensorStatistics operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListSensorStatistics for more information on using the ListSensorStatistics
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListSensorStatisticsRequest method.
//	req, resp := client.ListSensorStatisticsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListSensorStatistics
func (c *LookoutEquipment) ListSensorStatisticsRequest(input *ListSensorStatisticsInput) (req *request.Request, output *ListSensorStatisticsOutput) {
	op := &request.Operation{
		Name:       opListSensorStatistics,
		HTTPMethod: "POST",
		HTTPPath:   "/",
		Paginator: &request.Paginator{
			InputTokens:     []string{"NextToken"},
			OutputTokens:    []string{"NextToken"},
			LimitToken:      "MaxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListSensorStatisticsInput{}
	}

	output = &ListSensorStatisticsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListSensorStatistics API operation for Amazon Lookout for Equipment.
//
// 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListSensorStatistics for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListSensorStatistics
func (c *LookoutEquipment) ListSensorStatistics(input *ListSensorStatisticsInput) (*ListSensorStatisticsOutput, error) {
	req, out := c.ListSensorStatisticsRequest(input)
	return out, req.Send()
}

// ListSensorStatisticsWithContext is the same as ListSensorStatistics with the addition of
// the ability to pass a context and additional request options.
//
// See ListSensorStatistics for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListSensorStatisticsWithContext(ctx aws.Context, input *ListSensorStatisticsInput, opts ...request.Option) (*ListSensorStatisticsOutput, error) {
	req, out := c.ListSensorStatisticsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListSensorStatisticsPages iterates over the pages of a ListSensorStatistics operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListSensorStatistics method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
//	// Example iterating over at most 3 pages of a ListSensorStatistics operation.
//	pageNum := 0
//	err := client.ListSensorStatisticsPages(params,
//	    func(page *lookoutequipment.ListSensorStatisticsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *LookoutEquipment) ListSensorStatisticsPages(input *ListSensorStatisticsInput, fn func(*ListSensorStatisticsOutput, bool) bool) error {
	return c.ListSensorStatisticsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListSensorStatisticsPagesWithContext same as ListSensorStatisticsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListSensorStatisticsPagesWithContext(ctx aws.Context, input *ListSensorStatisticsInput, fn func(*ListSensorStatisticsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListSensorStatisticsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListSensorStatisticsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

	for p.Next() {
		if !fn(p.Page().(*ListSensorStatisticsOutput), !p.HasNextPage()) {
			break
		}
	}

	return p.Err()
}

const opListTagsForResource = "ListTagsForResource"

// ListTagsForResourceRequest generates a "aws/request.Request" representing the
// client's request for the ListTagsForResource operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListTagsForResource for more information on using the ListTagsForResource
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the ListTagsForResourceRequest method.
//	req, resp := client.ListTagsForResourceRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListTagsForResource
func (c *LookoutEquipment) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
	op := &request.Operation{
		Name:       opListTagsForResource,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &ListTagsForResourceInput{}
	}

	output = &ListTagsForResourceOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListTagsForResource API operation for Amazon Lookout for Equipment.
//
// Lists all the tags for a specified resource, including key and value.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation ListTagsForResource for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListTagsForResource
func (c *LookoutEquipment) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
	req, out := c.ListTagsForResourceRequest(input)
	return out, req.Send()
}

// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
// the ability to pass a context and additional request options.
//
// See ListTagsForResource for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
	req, out := c.ListTagsForResourceRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opPutResourcePolicy = "PutResourcePolicy"

// PutResourcePolicyRequest generates a "aws/request.Request" representing the
// client's request for the PutResourcePolicy operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See PutResourcePolicy for more information on using the PutResourcePolicy
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the PutResourcePolicyRequest method.
//	req, resp := client.PutResourcePolicyRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/PutResourcePolicy
func (c *LookoutEquipment) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) {
	op := &request.Operation{
		Name:       opPutResourcePolicy,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &PutResourcePolicyInput{}
	}

	output = &PutResourcePolicyOutput{}
	req = c.newRequest(op, input, output)
	return
}

// PutResourcePolicy API operation for Amazon Lookout for Equipment.
//
// Creates a resource control policy for a given resource.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation PutResourcePolicy for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - ServiceQuotaExceededException
//     Resource limitations have been exceeded.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/PutResourcePolicy
func (c *LookoutEquipment) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) {
	req, out := c.PutResourcePolicyRequest(input)
	return out, req.Send()
}

// PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of
// the ability to pass a context and additional request options.
//
// See PutResourcePolicy for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) {
	req, out := c.PutResourcePolicyRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opStartDataIngestionJob = "StartDataIngestionJob"

// StartDataIngestionJobRequest generates a "aws/request.Request" representing the
// client's request for the StartDataIngestionJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StartDataIngestionJob for more information on using the StartDataIngestionJob
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the StartDataIngestionJobRequest method.
//	req, resp := client.StartDataIngestionJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartDataIngestionJob
func (c *LookoutEquipment) StartDataIngestionJobRequest(input *StartDataIngestionJobInput) (req *request.Request, output *StartDataIngestionJobOutput) {
	op := &request.Operation{
		Name:       opStartDataIngestionJob,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &StartDataIngestionJobInput{}
	}

	output = &StartDataIngestionJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// StartDataIngestionJob API operation for Amazon Lookout for Equipment.
//
// Starts a data ingestion job. Amazon Lookout for Equipment returns the job
// status.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation StartDataIngestionJob for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - ServiceQuotaExceededException
//     Resource limitations have been exceeded.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartDataIngestionJob
func (c *LookoutEquipment) StartDataIngestionJob(input *StartDataIngestionJobInput) (*StartDataIngestionJobOutput, error) {
	req, out := c.StartDataIngestionJobRequest(input)
	return out, req.Send()
}

// StartDataIngestionJobWithContext is the same as StartDataIngestionJob with the addition of
// the ability to pass a context and additional request options.
//
// See StartDataIngestionJob for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) StartDataIngestionJobWithContext(ctx aws.Context, input *StartDataIngestionJobInput, opts ...request.Option) (*StartDataIngestionJobOutput, error) {
	req, out := c.StartDataIngestionJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opStartInferenceScheduler = "StartInferenceScheduler"

// StartInferenceSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the StartInferenceScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StartInferenceScheduler for more information on using the StartInferenceScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the StartInferenceSchedulerRequest method.
//	req, resp := client.StartInferenceSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartInferenceScheduler
func (c *LookoutEquipment) StartInferenceSchedulerRequest(input *StartInferenceSchedulerInput) (req *request.Request, output *StartInferenceSchedulerOutput) {
	op := &request.Operation{
		Name:       opStartInferenceScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &StartInferenceSchedulerInput{}
	}

	output = &StartInferenceSchedulerOutput{}
	req = c.newRequest(op, input, output)
	return
}

// StartInferenceScheduler API operation for Amazon Lookout for Equipment.
//
// Starts an inference scheduler.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation StartInferenceScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartInferenceScheduler
func (c *LookoutEquipment) StartInferenceScheduler(input *StartInferenceSchedulerInput) (*StartInferenceSchedulerOutput, error) {
	req, out := c.StartInferenceSchedulerRequest(input)
	return out, req.Send()
}

// StartInferenceSchedulerWithContext is the same as StartInferenceScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See StartInferenceScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) StartInferenceSchedulerWithContext(ctx aws.Context, input *StartInferenceSchedulerInput, opts ...request.Option) (*StartInferenceSchedulerOutput, error) {
	req, out := c.StartInferenceSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opStartRetrainingScheduler = "StartRetrainingScheduler"

// StartRetrainingSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the StartRetrainingScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StartRetrainingScheduler for more information on using the StartRetrainingScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the StartRetrainingSchedulerRequest method.
//	req, resp := client.StartRetrainingSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartRetrainingScheduler
func (c *LookoutEquipment) StartRetrainingSchedulerRequest(input *StartRetrainingSchedulerInput) (req *request.Request, output *StartRetrainingSchedulerOutput) {
	op := &request.Operation{
		Name:       opStartRetrainingScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &StartRetrainingSchedulerInput{}
	}

	output = &StartRetrainingSchedulerOutput{}
	req = c.newRequest(op, input, output)
	return
}

// StartRetrainingScheduler API operation for Amazon Lookout for Equipment.
//
// Starts a retraining scheduler.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation StartRetrainingScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartRetrainingScheduler
func (c *LookoutEquipment) StartRetrainingScheduler(input *StartRetrainingSchedulerInput) (*StartRetrainingSchedulerOutput, error) {
	req, out := c.StartRetrainingSchedulerRequest(input)
	return out, req.Send()
}

// StartRetrainingSchedulerWithContext is the same as StartRetrainingScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See StartRetrainingScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) StartRetrainingSchedulerWithContext(ctx aws.Context, input *StartRetrainingSchedulerInput, opts ...request.Option) (*StartRetrainingSchedulerOutput, error) {
	req, out := c.StartRetrainingSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opStopInferenceScheduler = "StopInferenceScheduler"

// StopInferenceSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the StopInferenceScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StopInferenceScheduler for more information on using the StopInferenceScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the StopInferenceSchedulerRequest method.
//	req, resp := client.StopInferenceSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StopInferenceScheduler
func (c *LookoutEquipment) StopInferenceSchedulerRequest(input *StopInferenceSchedulerInput) (req *request.Request, output *StopInferenceSchedulerOutput) {
	op := &request.Operation{
		Name:       opStopInferenceScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &StopInferenceSchedulerInput{}
	}

	output = &StopInferenceSchedulerOutput{}
	req = c.newRequest(op, input, output)
	return
}

// StopInferenceScheduler API operation for Amazon Lookout for Equipment.
//
// Stops an inference scheduler.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation StopInferenceScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StopInferenceScheduler
func (c *LookoutEquipment) StopInferenceScheduler(input *StopInferenceSchedulerInput) (*StopInferenceSchedulerOutput, error) {
	req, out := c.StopInferenceSchedulerRequest(input)
	return out, req.Send()
}

// StopInferenceSchedulerWithContext is the same as StopInferenceScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See StopInferenceScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) StopInferenceSchedulerWithContext(ctx aws.Context, input *StopInferenceSchedulerInput, opts ...request.Option) (*StopInferenceSchedulerOutput, error) {
	req, out := c.StopInferenceSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opStopRetrainingScheduler = "StopRetrainingScheduler"

// StopRetrainingSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the StopRetrainingScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StopRetrainingScheduler for more information on using the StopRetrainingScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the StopRetrainingSchedulerRequest method.
//	req, resp := client.StopRetrainingSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StopRetrainingScheduler
func (c *LookoutEquipment) StopRetrainingSchedulerRequest(input *StopRetrainingSchedulerInput) (req *request.Request, output *StopRetrainingSchedulerOutput) {
	op := &request.Operation{
		Name:       opStopRetrainingScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &StopRetrainingSchedulerInput{}
	}

	output = &StopRetrainingSchedulerOutput{}
	req = c.newRequest(op, input, output)
	return
}

// StopRetrainingScheduler API operation for Amazon Lookout for Equipment.
//
// Stops a retraining scheduler.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation StopRetrainingScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StopRetrainingScheduler
func (c *LookoutEquipment) StopRetrainingScheduler(input *StopRetrainingSchedulerInput) (*StopRetrainingSchedulerOutput, error) {
	req, out := c.StopRetrainingSchedulerRequest(input)
	return out, req.Send()
}

// StopRetrainingSchedulerWithContext is the same as StopRetrainingScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See StopRetrainingScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) StopRetrainingSchedulerWithContext(ctx aws.Context, input *StopRetrainingSchedulerInput, opts ...request.Option) (*StopRetrainingSchedulerOutput, error) {
	req, out := c.StopRetrainingSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opTagResource = "TagResource"

// TagResourceRequest generates a "aws/request.Request" representing the
// client's request for the TagResource operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See TagResource for more information on using the TagResource
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the TagResourceRequest method.
//	req, resp := client.TagResourceRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/TagResource
func (c *LookoutEquipment) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
	op := &request.Operation{
		Name:       opTagResource,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &TagResourceInput{}
	}

	output = &TagResourceOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// TagResource API operation for Amazon Lookout for Equipment.
//
// 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation TagResource for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ServiceQuotaExceededException
//     Resource limitations have been exceeded.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/TagResource
func (c *LookoutEquipment) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
	req, out := c.TagResourceRequest(input)
	return out, req.Send()
}

// TagResourceWithContext is the same as TagResource with the addition of
// the ability to pass a context and additional request options.
//
// See TagResource for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
	req, out := c.TagResourceRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opUntagResource = "UntagResource"

// UntagResourceRequest generates a "aws/request.Request" representing the
// client's request for the UntagResource operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UntagResource for more information on using the UntagResource
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the UntagResourceRequest method.
//	req, resp := client.UntagResourceRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UntagResource
func (c *LookoutEquipment) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
	op := &request.Operation{
		Name:       opUntagResource,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &UntagResourceInput{}
	}

	output = &UntagResourceOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// UntagResource API operation for Amazon Lookout for Equipment.
//
// Removes a specific tag from a given resource. The tag is specified by its
// key.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation UntagResource for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UntagResource
func (c *LookoutEquipment) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
	req, out := c.UntagResourceRequest(input)
	return out, req.Send()
}

// UntagResourceWithContext is the same as UntagResource with the addition of
// the ability to pass a context and additional request options.
//
// See UntagResource for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
	req, out := c.UntagResourceRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opUpdateActiveModelVersion = "UpdateActiveModelVersion"

// UpdateActiveModelVersionRequest generates a "aws/request.Request" representing the
// client's request for the UpdateActiveModelVersion operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateActiveModelVersion for more information on using the UpdateActiveModelVersion
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the UpdateActiveModelVersionRequest method.
//	req, resp := client.UpdateActiveModelVersionRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateActiveModelVersion
func (c *LookoutEquipment) UpdateActiveModelVersionRequest(input *UpdateActiveModelVersionInput) (req *request.Request, output *UpdateActiveModelVersionOutput) {
	op := &request.Operation{
		Name:       opUpdateActiveModelVersion,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &UpdateActiveModelVersionInput{}
	}

	output = &UpdateActiveModelVersionOutput{}
	req = c.newRequest(op, input, output)
	return
}

// UpdateActiveModelVersion API operation for Amazon Lookout for Equipment.
//
// Sets the active model version for a given machine learning model.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation UpdateActiveModelVersion for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateActiveModelVersion
func (c *LookoutEquipment) UpdateActiveModelVersion(input *UpdateActiveModelVersionInput) (*UpdateActiveModelVersionOutput, error) {
	req, out := c.UpdateActiveModelVersionRequest(input)
	return out, req.Send()
}

// UpdateActiveModelVersionWithContext is the same as UpdateActiveModelVersion with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateActiveModelVersion for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) UpdateActiveModelVersionWithContext(ctx aws.Context, input *UpdateActiveModelVersionInput, opts ...request.Option) (*UpdateActiveModelVersionOutput, error) {
	req, out := c.UpdateActiveModelVersionRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opUpdateInferenceScheduler = "UpdateInferenceScheduler"

// UpdateInferenceSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the UpdateInferenceScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateInferenceScheduler for more information on using the UpdateInferenceScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the UpdateInferenceSchedulerRequest method.
//	req, resp := client.UpdateInferenceSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateInferenceScheduler
func (c *LookoutEquipment) UpdateInferenceSchedulerRequest(input *UpdateInferenceSchedulerInput) (req *request.Request, output *UpdateInferenceSchedulerOutput) {
	op := &request.Operation{
		Name:       opUpdateInferenceScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &UpdateInferenceSchedulerInput{}
	}

	output = &UpdateInferenceSchedulerOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// UpdateInferenceScheduler API operation for Amazon Lookout for Equipment.
//
// Updates an inference scheduler.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation UpdateInferenceScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateInferenceScheduler
func (c *LookoutEquipment) UpdateInferenceScheduler(input *UpdateInferenceSchedulerInput) (*UpdateInferenceSchedulerOutput, error) {
	req, out := c.UpdateInferenceSchedulerRequest(input)
	return out, req.Send()
}

// UpdateInferenceSchedulerWithContext is the same as UpdateInferenceScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateInferenceScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) UpdateInferenceSchedulerWithContext(ctx aws.Context, input *UpdateInferenceSchedulerInput, opts ...request.Option) (*UpdateInferenceSchedulerOutput, error) {
	req, out := c.UpdateInferenceSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opUpdateLabelGroup = "UpdateLabelGroup"

// UpdateLabelGroupRequest generates a "aws/request.Request" representing the
// client's request for the UpdateLabelGroup operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateLabelGroup for more information on using the UpdateLabelGroup
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the UpdateLabelGroupRequest method.
//	req, resp := client.UpdateLabelGroupRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateLabelGroup
func (c *LookoutEquipment) UpdateLabelGroupRequest(input *UpdateLabelGroupInput) (req *request.Request, output *UpdateLabelGroupOutput) {
	op := &request.Operation{
		Name:       opUpdateLabelGroup,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &UpdateLabelGroupInput{}
	}

	output = &UpdateLabelGroupOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// UpdateLabelGroup API operation for Amazon Lookout for Equipment.
//
// Updates the label group.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation UpdateLabelGroup for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateLabelGroup
func (c *LookoutEquipment) UpdateLabelGroup(input *UpdateLabelGroupInput) (*UpdateLabelGroupOutput, error) {
	req, out := c.UpdateLabelGroupRequest(input)
	return out, req.Send()
}

// UpdateLabelGroupWithContext is the same as UpdateLabelGroup with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateLabelGroup for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) UpdateLabelGroupWithContext(ctx aws.Context, input *UpdateLabelGroupInput, opts ...request.Option) (*UpdateLabelGroupOutput, error) {
	req, out := c.UpdateLabelGroupRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opUpdateModel = "UpdateModel"

// UpdateModelRequest generates a "aws/request.Request" representing the
// client's request for the UpdateModel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateModel for more information on using the UpdateModel
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the UpdateModelRequest method.
//	req, resp := client.UpdateModelRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateModel
func (c *LookoutEquipment) UpdateModelRequest(input *UpdateModelInput) (req *request.Request, output *UpdateModelOutput) {
	op := &request.Operation{
		Name:       opUpdateModel,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &UpdateModelInput{}
	}

	output = &UpdateModelOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// UpdateModel API operation for Amazon Lookout for Equipment.
//
// Updates a model in the account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation UpdateModel for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateModel
func (c *LookoutEquipment) UpdateModel(input *UpdateModelInput) (*UpdateModelOutput, error) {
	req, out := c.UpdateModelRequest(input)
	return out, req.Send()
}

// UpdateModelWithContext is the same as UpdateModel with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateModel for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) UpdateModelWithContext(ctx aws.Context, input *UpdateModelInput, opts ...request.Option) (*UpdateModelOutput, error) {
	req, out := c.UpdateModelRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opUpdateRetrainingScheduler = "UpdateRetrainingScheduler"

// UpdateRetrainingSchedulerRequest generates a "aws/request.Request" representing the
// client's request for the UpdateRetrainingScheduler operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateRetrainingScheduler for more information on using the UpdateRetrainingScheduler
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//	// Example sending a request using the UpdateRetrainingSchedulerRequest method.
//	req, resp := client.UpdateRetrainingSchedulerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateRetrainingScheduler
func (c *LookoutEquipment) UpdateRetrainingSchedulerRequest(input *UpdateRetrainingSchedulerInput) (req *request.Request, output *UpdateRetrainingSchedulerOutput) {
	op := &request.Operation{
		Name:       opUpdateRetrainingScheduler,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &UpdateRetrainingSchedulerInput{}
	}

	output = &UpdateRetrainingSchedulerOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	return
}

// UpdateRetrainingScheduler API operation for Amazon Lookout for Equipment.
//
// Updates a retraining scheduler.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Lookout for Equipment's
// API operation UpdateRetrainingScheduler for usage and error information.
//
// Returned Error Types:
//
//   - ValidationException
//     The input fails to satisfy constraints specified by Amazon Lookout for Equipment
//     or a related Amazon Web Services service that's being utilized.
//
//   - ResourceNotFoundException
//     The resource requested could not be found. Verify the resource ID and retry
//     your request.
//
//   - ConflictException
//     The request could not be completed due to a conflict with the current state
//     of the target resource.
//
//   - ThrottlingException
//     The request was denied due to request throttling.
//
//   - AccessDeniedException
//     The request could not be completed because you do not have access to the
//     resource.
//
//   - InternalServerException
//     Processing of the request has failed because of an unknown error, exception
//     or failure.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateRetrainingScheduler
func (c *LookoutEquipment) UpdateRetrainingScheduler(input *UpdateRetrainingSchedulerInput) (*UpdateRetrainingSchedulerOutput, error) {
	req, out := c.UpdateRetrainingSchedulerRequest(input)
	return out, req.Send()
}

// UpdateRetrainingSchedulerWithContext is the same as UpdateRetrainingScheduler with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateRetrainingScheduler for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *LookoutEquipment) UpdateRetrainingSchedulerWithContext(ctx aws.Context, input *UpdateRetrainingSchedulerInput, opts ...request.Option) (*UpdateRetrainingSchedulerOutput, error) {
	req, out := c.UpdateRetrainingSchedulerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// The request could not be completed because you do not have access to the
// resource.
type AccessDeniedException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) GoString() string {
	return s.String()
}

func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
	return &AccessDeniedException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *AccessDeniedException) Code() string {
	return "AccessDeniedException"
}

// Message returns the exception's message.
func (s *AccessDeniedException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *AccessDeniedException) OrigErr() error {
	return nil
}

func (s *AccessDeniedException) Error() string {
	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}

// Status code returns the HTTP status code for the request's response error.
func (s *AccessDeniedException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *AccessDeniedException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Entity that comprises information on categorical values in data.
type CategoricalValues struct {
	_ struct{} `type:"structure"`

	// Indicates the number of categories in the data.
	NumberOfCategory *int64 `type:"integer"`

	// Indicates whether there is a potential data issue related to categorical
	// values.
	//
	// Status is a required field
	Status *string `type:"string" required:"true" enum:"StatisticalIssueStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CategoricalValues) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CategoricalValues) GoString() string {
	return s.String()
}

// SetNumberOfCategory sets the NumberOfCategory field's value.
func (s *CategoricalValues) SetNumberOfCategory(v int64) *CategoricalValues {
	s.NumberOfCategory = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *CategoricalValues) SetStatus(v string) *CategoricalValues {
	s.Status = &v
	return s
}

// The request could not be completed due to a conflict with the current state
// of the target resource.
type ConflictException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConflictException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConflictException) GoString() string {
	return s.String()
}

func newErrorConflictException(v protocol.ResponseMetadata) error {
	return &ConflictException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ConflictException) Code() string {
	return "ConflictException"
}

// Message returns the exception's message.
func (s *ConflictException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ConflictException) OrigErr() error {
	return nil
}

func (s *ConflictException) Error() string {
	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ConflictException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ConflictException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Entity that comprises information of count and percentage.
type CountPercent struct {
	_ struct{} `type:"structure"`

	// Indicates the count of occurences of the given statistic.
	//
	// Count is a required field
	Count *int64 `type:"integer" required:"true"`

	// Indicates the percentage of occurances of the given statistic.
	//
	// Percentage is a required field
	Percentage *float64 `type:"float" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CountPercent) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CountPercent) GoString() string {
	return s.String()
}

// SetCount sets the Count field's value.
func (s *CountPercent) SetCount(v int64) *CountPercent {
	s.Count = &v
	return s
}

// SetPercentage sets the Percentage field's value.
func (s *CountPercent) SetPercentage(v float64) *CountPercent {
	s.Percentage = &v
	return s
}

type CreateDatasetInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the request. If you do not set the client request
	// token, Amazon Lookout for Equipment generates one.
	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`

	// The name of the dataset being created.
	//
	// DatasetName is a required field
	DatasetName *string `min:"1" type:"string" required:"true"`

	// A JSON description of the data that is in each time series dataset, including
	// names, column names, and data types.
	DatasetSchema *DatasetSchema `type:"structure"`

	// Provides the identifier of the KMS key used to encrypt dataset data by Amazon
	// Lookout for Equipment.
	ServerSideKmsKeyId *string `min:"1" type:"string"`

	// Any tags associated with the ingested data described in the dataset.
	Tags []*Tag `type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateDatasetInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateDatasetInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateDatasetInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetInput"}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.DatasetName == nil {
		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
	}
	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
	}
	if s.ServerSideKmsKeyId != nil && len(*s.ServerSideKmsKeyId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ServerSideKmsKeyId", 1))
	}
	if s.Tags != nil {
		for i, v := range s.Tags {
			if v == nil {
				continue
			}
			if err := v.Validate(); err != nil {
				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
			}
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClientToken sets the ClientToken field's value.
func (s *CreateDatasetInput) SetClientToken(v string) *CreateDatasetInput {
	s.ClientToken = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *CreateDatasetInput) SetDatasetName(v string) *CreateDatasetInput {
	s.DatasetName = &v
	return s
}

// SetDatasetSchema sets the DatasetSchema field's value.
func (s *CreateDatasetInput) SetDatasetSchema(v *DatasetSchema) *CreateDatasetInput {
	s.DatasetSchema = v
	return s
}

// SetServerSideKmsKeyId sets the ServerSideKmsKeyId field's value.
func (s *CreateDatasetInput) SetServerSideKmsKeyId(v string) *CreateDatasetInput {
	s.ServerSideKmsKeyId = &v
	return s
}

// SetTags sets the Tags field's value.
func (s *CreateDatasetInput) SetTags(v []*Tag) *CreateDatasetInput {
	s.Tags = v
	return s
}

type CreateDatasetOutput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the dataset being created.
	DatasetArn *string `min:"20" type:"string"`

	// The name of the dataset being created.
	DatasetName *string `min:"1" type:"string"`

	// Indicates the status of the CreateDataset operation.
	Status *string `type:"string" enum:"DatasetStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateDatasetOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateDatasetOutput) GoString() string {
	return s.String()
}

// SetDatasetArn sets the DatasetArn field's value.
func (s *CreateDatasetOutput) SetDatasetArn(v string) *CreateDatasetOutput {
	s.DatasetArn = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *CreateDatasetOutput) SetDatasetName(v string) *CreateDatasetOutput {
	s.DatasetName = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *CreateDatasetOutput) SetStatus(v string) *CreateDatasetOutput {
	s.Status = &v
	return s
}

type CreateInferenceSchedulerInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the request. If you do not set the client request
	// token, Amazon Lookout for Equipment generates one.
	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`

	// The interval (in minutes) of planned delay at the start of each inference
	// segment. For example, if inference is set to run every ten minutes, the delay
	// is set to five minutes and the time is 09:08. The inference scheduler will
	// wake up at the configured interval (which, without a delay configured, would
	// be 09:10) plus the additional five minute delay time (so 09:15) to check
	// your Amazon S3 bucket. The delay provides a buffer for you to upload data
	// at the same frequency, so that you don't have to stop and restart the scheduler
	// when uploading new data.
	//
	// For more information, see Understanding the inference process (https://docs.aws.amazon.com/lookout-for-equipment/latest/ug/understanding-inference-process.html).
	DataDelayOffsetInMinutes *int64 `type:"long"`

	// Specifies configuration information for the input data for the inference
	// scheduler, including delimiter, format, and dataset location.
	//
	// DataInputConfiguration is a required field
	DataInputConfiguration *InferenceInputConfiguration `type:"structure" required:"true"`

	// Specifies configuration information for the output results for the inference
	// scheduler, including the S3 location for the output.
	//
	// DataOutputConfiguration is a required field
	DataOutputConfiguration *InferenceOutputConfiguration `type:"structure" required:"true"`

	// How often data is uploaded to the source Amazon S3 bucket for the input data.
	// The value chosen is the length of time between data uploads. For instance,
	// if you select 5 minutes, Amazon Lookout for Equipment will upload the real-time
	// data to the source bucket once every 5 minutes. This frequency also determines
	// how often Amazon Lookout for Equipment runs inference on your data.
	//
	// For more information, see Understanding the inference process (https://docs.aws.amazon.com/lookout-for-equipment/latest/ug/understanding-inference-process.html).
	//
	// DataUploadFrequency is a required field
	DataUploadFrequency *string `type:"string" required:"true" enum:"DataUploadFrequency"`

	// The name of the inference scheduler being created.
	//
	// InferenceSchedulerName is a required field
	InferenceSchedulerName *string `min:"1" type:"string" required:"true"`

	// The name of the previously trained machine learning model being used to create
	// the inference scheduler.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`

	// The Amazon Resource Name (ARN) of a role with permission to access the data
	// source being used for the inference.
	//
	// RoleArn is a required field
	RoleArn *string `min:"20" type:"string" required:"true"`

	// Provides the identifier of the KMS key used to encrypt inference scheduler
	// data by Amazon Lookout for Equipment.
	ServerSideKmsKeyId *string `min:"1" type:"string"`

	// Any tags associated with the inference scheduler.
	Tags []*Tag `type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateInferenceSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateInferenceSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateInferenceSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CreateInferenceSchedulerInput"}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.DataInputConfiguration == nil {
		invalidParams.Add(request.NewErrParamRequired("DataInputConfiguration"))
	}
	if s.DataOutputConfiguration == nil {
		invalidParams.Add(request.NewErrParamRequired("DataOutputConfiguration"))
	}
	if s.DataUploadFrequency == nil {
		invalidParams.Add(request.NewErrParamRequired("DataUploadFrequency"))
	}
	if s.InferenceSchedulerName == nil {
		invalidParams.Add(request.NewErrParamRequired("InferenceSchedulerName"))
	}
	if s.InferenceSchedulerName != nil && len(*s.InferenceSchedulerName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("InferenceSchedulerName", 1))
	}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}
	if s.RoleArn == nil {
		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
	}
	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
	}
	if s.ServerSideKmsKeyId != nil && len(*s.ServerSideKmsKeyId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ServerSideKmsKeyId", 1))
	}
	if s.DataInputConfiguration != nil {
		if err := s.DataInputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("DataInputConfiguration", err.(request.ErrInvalidParams))
		}
	}
	if s.DataOutputConfiguration != nil {
		if err := s.DataOutputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("DataOutputConfiguration", err.(request.ErrInvalidParams))
		}
	}
	if s.Tags != nil {
		for i, v := range s.Tags {
			if v == nil {
				continue
			}
			if err := v.Validate(); err != nil {
				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
			}
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClientToken sets the ClientToken field's value.
func (s *CreateInferenceSchedulerInput) SetClientToken(v string) *CreateInferenceSchedulerInput {
	s.ClientToken = &v
	return s
}

// SetDataDelayOffsetInMinutes sets the DataDelayOffsetInMinutes field's value.
func (s *CreateInferenceSchedulerInput) SetDataDelayOffsetInMinutes(v int64) *CreateInferenceSchedulerInput {
	s.DataDelayOffsetInMinutes = &v
	return s
}

// SetDataInputConfiguration sets the DataInputConfiguration field's value.
func (s *CreateInferenceSchedulerInput) SetDataInputConfiguration(v *InferenceInputConfiguration) *CreateInferenceSchedulerInput {
	s.DataInputConfiguration = v
	return s
}

// SetDataOutputConfiguration sets the DataOutputConfiguration field's value.
func (s *CreateInferenceSchedulerInput) SetDataOutputConfiguration(v *InferenceOutputConfiguration) *CreateInferenceSchedulerInput {
	s.DataOutputConfiguration = v
	return s
}

// SetDataUploadFrequency sets the DataUploadFrequency field's value.
func (s *CreateInferenceSchedulerInput) SetDataUploadFrequency(v string) *CreateInferenceSchedulerInput {
	s.DataUploadFrequency = &v
	return s
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *CreateInferenceSchedulerInput) SetInferenceSchedulerName(v string) *CreateInferenceSchedulerInput {
	s.InferenceSchedulerName = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *CreateInferenceSchedulerInput) SetModelName(v string) *CreateInferenceSchedulerInput {
	s.ModelName = &v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *CreateInferenceSchedulerInput) SetRoleArn(v string) *CreateInferenceSchedulerInput {
	s.RoleArn = &v
	return s
}

// SetServerSideKmsKeyId sets the ServerSideKmsKeyId field's value.
func (s *CreateInferenceSchedulerInput) SetServerSideKmsKeyId(v string) *CreateInferenceSchedulerInput {
	s.ServerSideKmsKeyId = &v
	return s
}

// SetTags sets the Tags field's value.
func (s *CreateInferenceSchedulerInput) SetTags(v []*Tag) *CreateInferenceSchedulerInput {
	s.Tags = v
	return s
}

type CreateInferenceSchedulerOutput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the inference scheduler being created.
	InferenceSchedulerArn *string `min:"20" type:"string"`

	// The name of inference scheduler being created.
	InferenceSchedulerName *string `min:"1" type:"string"`

	// Indicates the status of the CreateInferenceScheduler operation.
	Status *string `type:"string" enum:"InferenceSchedulerStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateInferenceSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateInferenceSchedulerOutput) GoString() string {
	return s.String()
}

// SetInferenceSchedulerArn sets the InferenceSchedulerArn field's value.
func (s *CreateInferenceSchedulerOutput) SetInferenceSchedulerArn(v string) *CreateInferenceSchedulerOutput {
	s.InferenceSchedulerArn = &v
	return s
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *CreateInferenceSchedulerOutput) SetInferenceSchedulerName(v string) *CreateInferenceSchedulerOutput {
	s.InferenceSchedulerName = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *CreateInferenceSchedulerOutput) SetStatus(v string) *CreateInferenceSchedulerOutput {
	s.Status = &v
	return s
}

type CreateLabelGroupInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the request to create a label group. If you do not
	// set the client request token, Lookout for Equipment generates one.
	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`

	// The acceptable fault codes (indicating the type of anomaly associated with
	// the label) that can be used with this label group.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	FaultCodes []*string `type:"list"`

	// Names a group of labels.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	//
	// LabelGroupName is a required field
	LabelGroupName *string `min:"1" type:"string" required:"true"`

	// Tags that provide metadata about the label group you are creating.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	Tags []*Tag `type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateLabelGroupInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateLabelGroupInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateLabelGroupInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CreateLabelGroupInput"}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.LabelGroupName == nil {
		invalidParams.Add(request.NewErrParamRequired("LabelGroupName"))
	}
	if s.LabelGroupName != nil && len(*s.LabelGroupName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LabelGroupName", 1))
	}
	if s.Tags != nil {
		for i, v := range s.Tags {
			if v == nil {
				continue
			}
			if err := v.Validate(); err != nil {
				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
			}
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClientToken sets the ClientToken field's value.
func (s *CreateLabelGroupInput) SetClientToken(v string) *CreateLabelGroupInput {
	s.ClientToken = &v
	return s
}

// SetFaultCodes sets the FaultCodes field's value.
func (s *CreateLabelGroupInput) SetFaultCodes(v []*string) *CreateLabelGroupInput {
	s.FaultCodes = v
	return s
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *CreateLabelGroupInput) SetLabelGroupName(v string) *CreateLabelGroupInput {
	s.LabelGroupName = &v
	return s
}

// SetTags sets the Tags field's value.
func (s *CreateLabelGroupInput) SetTags(v []*Tag) *CreateLabelGroupInput {
	s.Tags = v
	return s
}

type CreateLabelGroupOutput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the label group that you have created.
	LabelGroupArn *string `min:"20" type:"string"`

	// The name of the label group that you have created. Data in this field will
	// be retained for service usage. Follow best practices for the security of
	// your data.
	LabelGroupName *string `min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateLabelGroupOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateLabelGroupOutput) GoString() string {
	return s.String()
}

// SetLabelGroupArn sets the LabelGroupArn field's value.
func (s *CreateLabelGroupOutput) SetLabelGroupArn(v string) *CreateLabelGroupOutput {
	s.LabelGroupArn = &v
	return s
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *CreateLabelGroupOutput) SetLabelGroupName(v string) *CreateLabelGroupOutput {
	s.LabelGroupName = &v
	return s
}

type CreateLabelInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the request to create a label. If you do not set
	// the client request token, Lookout for Equipment generates one.
	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`

	// The end time of the labeled event.
	//
	// EndTime is a required field
	EndTime *time.Time `type:"timestamp" required:"true"`

	// Indicates that a label pertains to a particular piece of equipment.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	Equipment *string `min:"1" type:"string"`

	// Provides additional information about the label. The fault code must be defined
	// in the FaultCodes attribute of the label group.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	FaultCode *string `min:"1" type:"string"`

	// The name of a group of labels.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	//
	// LabelGroupName is a required field
	LabelGroupName *string `min:"1" type:"string" required:"true"`

	// Metadata providing additional information about the label.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	Notes *string `min:"1" type:"string"`

	// Indicates whether a labeled event represents an anomaly.
	//
	// Rating is a required field
	Rating *string `type:"string" required:"true" enum:"LabelRating"`

	// The start time of the labeled event.
	//
	// StartTime is a required field
	StartTime *time.Time `type:"timestamp" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateLabelInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateLabelInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateLabelInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CreateLabelInput"}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.EndTime == nil {
		invalidParams.Add(request.NewErrParamRequired("EndTime"))
	}
	if s.Equipment != nil && len(*s.Equipment) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Equipment", 1))
	}
	if s.FaultCode != nil && len(*s.FaultCode) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("FaultCode", 1))
	}
	if s.LabelGroupName == nil {
		invalidParams.Add(request.NewErrParamRequired("LabelGroupName"))
	}
	if s.LabelGroupName != nil && len(*s.LabelGroupName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LabelGroupName", 1))
	}
	if s.Notes != nil && len(*s.Notes) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Notes", 1))
	}
	if s.Rating == nil {
		invalidParams.Add(request.NewErrParamRequired("Rating"))
	}
	if s.StartTime == nil {
		invalidParams.Add(request.NewErrParamRequired("StartTime"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClientToken sets the ClientToken field's value.
func (s *CreateLabelInput) SetClientToken(v string) *CreateLabelInput {
	s.ClientToken = &v
	return s
}

// SetEndTime sets the EndTime field's value.
func (s *CreateLabelInput) SetEndTime(v time.Time) *CreateLabelInput {
	s.EndTime = &v
	return s
}

// SetEquipment sets the Equipment field's value.
func (s *CreateLabelInput) SetEquipment(v string) *CreateLabelInput {
	s.Equipment = &v
	return s
}

// SetFaultCode sets the FaultCode field's value.
func (s *CreateLabelInput) SetFaultCode(v string) *CreateLabelInput {
	s.FaultCode = &v
	return s
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *CreateLabelInput) SetLabelGroupName(v string) *CreateLabelInput {
	s.LabelGroupName = &v
	return s
}

// SetNotes sets the Notes field's value.
func (s *CreateLabelInput) SetNotes(v string) *CreateLabelInput {
	s.Notes = &v
	return s
}

// SetRating sets the Rating field's value.
func (s *CreateLabelInput) SetRating(v string) *CreateLabelInput {
	s.Rating = &v
	return s
}

// SetStartTime sets the StartTime field's value.
func (s *CreateLabelInput) SetStartTime(v time.Time) *CreateLabelInput {
	s.StartTime = &v
	return s
}

type CreateLabelOutput struct {
	_ struct{} `type:"structure"`

	// The ID of the label that you have created.
	LabelId *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateLabelOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateLabelOutput) GoString() string {
	return s.String()
}

// SetLabelId sets the LabelId field's value.
func (s *CreateLabelOutput) SetLabelId(v string) *CreateLabelOutput {
	s.LabelId = &v
	return s
}

type CreateModelInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the request. If you do not set the client request
	// token, Amazon Lookout for Equipment generates one.
	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`

	// The configuration is the TargetSamplingRate, which is the sampling rate of
	// the data after post processing by Amazon Lookout for Equipment. For example,
	// if you provide data that has been collected at a 1 second level and you want
	// the system to resample the data at a 1 minute rate before training, the TargetSamplingRate
	// is 1 minute.
	//
	// When providing a value for the TargetSamplingRate, you must attach the prefix
	// "PT" to the rate you want. The value for a 1 second rate is therefore PT1S,
	// the value for a 15 minute rate is PT15M, and the value for a 1 hour rate
	// is PT1H
	DataPreProcessingConfiguration *DataPreProcessingConfiguration `type:"structure"`

	// The name of the dataset for the machine learning model being created.
	//
	// DatasetName is a required field
	DatasetName *string `min:"1" type:"string" required:"true"`

	// The data schema for the machine learning model being created.
	DatasetSchema *DatasetSchema `type:"structure"`

	// Indicates the time reference in the dataset that should be used to end the
	// subset of evaluation data for the machine learning model.
	EvaluationDataEndTime *time.Time `type:"timestamp"`

	// Indicates the time reference in the dataset that should be used to begin
	// the subset of evaluation data for the machine learning model.
	EvaluationDataStartTime *time.Time `type:"timestamp"`

	// The input configuration for the labels being used for the machine learning
	// model that's being created.
	LabelsInputConfiguration *LabelsInputConfiguration `type:"structure"`

	// The name for the machine learning model to be created.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`

	// Indicates that the asset associated with this sensor has been shut off. As
	// long as this condition is met, Lookout for Equipment will not use data from
	// this asset for training, evaluation, or inference.
	OffCondition *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of a role with permission to access the data
	// source being used to create the machine learning model.
	RoleArn *string `min:"20" type:"string"`

	// Provides the identifier of the KMS key used to encrypt model data by Amazon
	// Lookout for Equipment.
	ServerSideKmsKeyId *string `min:"1" type:"string"`

	// Any tags associated with the machine learning model being created.
	Tags []*Tag `type:"list"`

	// Indicates the time reference in the dataset that should be used to end the
	// subset of training data for the machine learning model.
	TrainingDataEndTime *time.Time `type:"timestamp"`

	// Indicates the time reference in the dataset that should be used to begin
	// the subset of training data for the machine learning model.
	TrainingDataStartTime *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateModelInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateModelInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateModelInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.DatasetName == nil {
		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
	}
	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
	}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}
	if s.OffCondition != nil && len(*s.OffCondition) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("OffCondition", 1))
	}
	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
	}
	if s.ServerSideKmsKeyId != nil && len(*s.ServerSideKmsKeyId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ServerSideKmsKeyId", 1))
	}
	if s.LabelsInputConfiguration != nil {
		if err := s.LabelsInputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("LabelsInputConfiguration", err.(request.ErrInvalidParams))
		}
	}
	if s.Tags != nil {
		for i, v := range s.Tags {
			if v == nil {
				continue
			}
			if err := v.Validate(); err != nil {
				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
			}
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClientToken sets the ClientToken field's value.
func (s *CreateModelInput) SetClientToken(v string) *CreateModelInput {
	s.ClientToken = &v
	return s
}

// SetDataPreProcessingConfiguration sets the DataPreProcessingConfiguration field's value.
func (s *CreateModelInput) SetDataPreProcessingConfiguration(v *DataPreProcessingConfiguration) *CreateModelInput {
	s.DataPreProcessingConfiguration = v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *CreateModelInput) SetDatasetName(v string) *CreateModelInput {
	s.DatasetName = &v
	return s
}

// SetDatasetSchema sets the DatasetSchema field's value.
func (s *CreateModelInput) SetDatasetSchema(v *DatasetSchema) *CreateModelInput {
	s.DatasetSchema = v
	return s
}

// SetEvaluationDataEndTime sets the EvaluationDataEndTime field's value.
func (s *CreateModelInput) SetEvaluationDataEndTime(v time.Time) *CreateModelInput {
	s.EvaluationDataEndTime = &v
	return s
}

// SetEvaluationDataStartTime sets the EvaluationDataStartTime field's value.
func (s *CreateModelInput) SetEvaluationDataStartTime(v time.Time) *CreateModelInput {
	s.EvaluationDataStartTime = &v
	return s
}

// SetLabelsInputConfiguration sets the LabelsInputConfiguration field's value.
func (s *CreateModelInput) SetLabelsInputConfiguration(v *LabelsInputConfiguration) *CreateModelInput {
	s.LabelsInputConfiguration = v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *CreateModelInput) SetModelName(v string) *CreateModelInput {
	s.ModelName = &v
	return s
}

// SetOffCondition sets the OffCondition field's value.
func (s *CreateModelInput) SetOffCondition(v string) *CreateModelInput {
	s.OffCondition = &v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *CreateModelInput) SetRoleArn(v string) *CreateModelInput {
	s.RoleArn = &v
	return s
}

// SetServerSideKmsKeyId sets the ServerSideKmsKeyId field's value.
func (s *CreateModelInput) SetServerSideKmsKeyId(v string) *CreateModelInput {
	s.ServerSideKmsKeyId = &v
	return s
}

// SetTags sets the Tags field's value.
func (s *CreateModelInput) SetTags(v []*Tag) *CreateModelInput {
	s.Tags = v
	return s
}

// SetTrainingDataEndTime sets the TrainingDataEndTime field's value.
func (s *CreateModelInput) SetTrainingDataEndTime(v time.Time) *CreateModelInput {
	s.TrainingDataEndTime = &v
	return s
}

// SetTrainingDataStartTime sets the TrainingDataStartTime field's value.
func (s *CreateModelInput) SetTrainingDataStartTime(v time.Time) *CreateModelInput {
	s.TrainingDataStartTime = &v
	return s
}

type CreateModelOutput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the model being created.
	ModelArn *string `min:"20" type:"string"`

	// Indicates the status of the CreateModel operation.
	Status *string `type:"string" enum:"ModelStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateModelOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateModelOutput) GoString() string {
	return s.String()
}

// SetModelArn sets the ModelArn field's value.
func (s *CreateModelOutput) SetModelArn(v string) *CreateModelOutput {
	s.ModelArn = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *CreateModelOutput) SetStatus(v string) *CreateModelOutput {
	s.Status = &v
	return s
}

type CreateRetrainingSchedulerInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the request. If you do not set the client request
	// token, Amazon Lookout for Equipment generates one.
	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`

	// The number of past days of data that will be used for retraining.
	//
	// LookbackWindow is a required field
	LookbackWindow *string `type:"string" required:"true"`

	// The name of the model to add the retraining scheduler to.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`

	// Indicates how the service will use new models. In MANAGED mode, new models
	// will automatically be used for inference if they have better performance
	// than the current model. In MANUAL mode, the new models will not be used until
	// they are manually activated (https://docs.aws.amazon.com/lookout-for-equipment/latest/ug/versioning-model.html#model-activation).
	PromoteMode *string `type:"string" enum:"ModelPromoteMode"`

	// This parameter uses the ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601#Durations)
	// standard to set the frequency at which you want retraining to occur in terms
	// of Years, Months, and/or Days (note: other parameters like Time are not currently
	// supported). The minimum value is 30 days (P30D) and the maximum value is
	// 1 year (P1Y). For example, the following values are valid:
	//
	//    * P3M15D – Every 3 months and 15 days
	//
	//    * P2M – Every 2 months
	//
	//    * P150D – Every 150 days
	//
	// RetrainingFrequency is a required field
	RetrainingFrequency *string `min:"1" type:"string" required:"true"`

	// The start date for the retraining scheduler. Lookout for Equipment truncates
	// the time you provide to the nearest UTC day.
	RetrainingStartDate *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateRetrainingSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateRetrainingSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateRetrainingSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CreateRetrainingSchedulerInput"}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.LookbackWindow == nil {
		invalidParams.Add(request.NewErrParamRequired("LookbackWindow"))
	}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}
	if s.RetrainingFrequency == nil {
		invalidParams.Add(request.NewErrParamRequired("RetrainingFrequency"))
	}
	if s.RetrainingFrequency != nil && len(*s.RetrainingFrequency) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("RetrainingFrequency", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClientToken sets the ClientToken field's value.
func (s *CreateRetrainingSchedulerInput) SetClientToken(v string) *CreateRetrainingSchedulerInput {
	s.ClientToken = &v
	return s
}

// SetLookbackWindow sets the LookbackWindow field's value.
func (s *CreateRetrainingSchedulerInput) SetLookbackWindow(v string) *CreateRetrainingSchedulerInput {
	s.LookbackWindow = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *CreateRetrainingSchedulerInput) SetModelName(v string) *CreateRetrainingSchedulerInput {
	s.ModelName = &v
	return s
}

// SetPromoteMode sets the PromoteMode field's value.
func (s *CreateRetrainingSchedulerInput) SetPromoteMode(v string) *CreateRetrainingSchedulerInput {
	s.PromoteMode = &v
	return s
}

// SetRetrainingFrequency sets the RetrainingFrequency field's value.
func (s *CreateRetrainingSchedulerInput) SetRetrainingFrequency(v string) *CreateRetrainingSchedulerInput {
	s.RetrainingFrequency = &v
	return s
}

// SetRetrainingStartDate sets the RetrainingStartDate field's value.
func (s *CreateRetrainingSchedulerInput) SetRetrainingStartDate(v time.Time) *CreateRetrainingSchedulerInput {
	s.RetrainingStartDate = &v
	return s
}

type CreateRetrainingSchedulerOutput struct {
	_ struct{} `type:"structure"`

	// The ARN of the model that you added the retraining scheduler to.
	ModelArn *string `min:"20" type:"string"`

	// The name of the model that you added the retraining scheduler to.
	ModelName *string `min:"1" type:"string"`

	// The status of the retraining scheduler.
	Status *string `type:"string" enum:"RetrainingSchedulerStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateRetrainingSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateRetrainingSchedulerOutput) GoString() string {
	return s.String()
}

// SetModelArn sets the ModelArn field's value.
func (s *CreateRetrainingSchedulerOutput) SetModelArn(v string) *CreateRetrainingSchedulerOutput {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *CreateRetrainingSchedulerOutput) SetModelName(v string) *CreateRetrainingSchedulerOutput {
	s.ModelName = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *CreateRetrainingSchedulerOutput) SetStatus(v string) *CreateRetrainingSchedulerOutput {
	s.Status = &v
	return s
}

// Provides information about a specified data ingestion job, including dataset
// information, data ingestion configuration, and status.
type DataIngestionJobSummary struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the dataset used in the data ingestion
	// job.
	DatasetArn *string `min:"20" type:"string"`

	// The name of the dataset used for the data ingestion job.
	DatasetName *string `min:"1" type:"string"`

	// Specifies information for the input data for the data inference job, including
	// data Amazon S3 location parameters.
	IngestionInputConfiguration *IngestionInputConfiguration `type:"structure"`

	// Indicates the job ID of the data ingestion job.
	JobId *string `type:"string"`

	// Indicates the status of the data ingestion job.
	Status *string `type:"string" enum:"IngestionJobStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DataIngestionJobSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DataIngestionJobSummary) GoString() string {
	return s.String()
}

// SetDatasetArn sets the DatasetArn field's value.
func (s *DataIngestionJobSummary) SetDatasetArn(v string) *DataIngestionJobSummary {
	s.DatasetArn = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *DataIngestionJobSummary) SetDatasetName(v string) *DataIngestionJobSummary {
	s.DatasetName = &v
	return s
}

// SetIngestionInputConfiguration sets the IngestionInputConfiguration field's value.
func (s *DataIngestionJobSummary) SetIngestionInputConfiguration(v *IngestionInputConfiguration) *DataIngestionJobSummary {
	s.IngestionInputConfiguration = v
	return s
}

// SetJobId sets the JobId field's value.
func (s *DataIngestionJobSummary) SetJobId(v string) *DataIngestionJobSummary {
	s.JobId = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *DataIngestionJobSummary) SetStatus(v string) *DataIngestionJobSummary {
	s.Status = &v
	return s
}

// The configuration is the TargetSamplingRate, which is the sampling rate of
// the data after post processing by Amazon Lookout for Equipment. For example,
// if you provide data that has been collected at a 1 second level and you want
// the system to resample the data at a 1 minute rate before training, the TargetSamplingRate
// is 1 minute.
//
// When providing a value for the TargetSamplingRate, you must attach the prefix
// "PT" to the rate you want. The value for a 1 second rate is therefore PT1S,
// the value for a 15 minute rate is PT15M, and the value for a 1 hour rate
// is PT1H
type DataPreProcessingConfiguration struct {
	_ struct{} `type:"structure"`

	// The sampling rate of the data after post processing by Amazon Lookout for
	// Equipment. For example, if you provide data that has been collected at a
	// 1 second level and you want the system to resample the data at a 1 minute
	// rate before training, the TargetSamplingRate is 1 minute.
	//
	// When providing a value for the TargetSamplingRate, you must attach the prefix
	// "PT" to the rate you want. The value for a 1 second rate is therefore PT1S,
	// the value for a 15 minute rate is PT15M, and the value for a 1 hour rate
	// is PT1H
	TargetSamplingRate *string `type:"string" enum:"TargetSamplingRate"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DataPreProcessingConfiguration) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DataPreProcessingConfiguration) GoString() string {
	return s.String()
}

// SetTargetSamplingRate sets the TargetSamplingRate field's value.
func (s *DataPreProcessingConfiguration) SetTargetSamplingRate(v string) *DataPreProcessingConfiguration {
	s.TargetSamplingRate = &v
	return s
}

// DataQualitySummary gives aggregated statistics over all the sensors about
// a completed ingestion job. It primarily gives more information about statistics
// over different incorrect data like MissingCompleteSensorData, MissingSensorData,
// UnsupportedDateFormats, InsufficientSensorData, DuplicateTimeStamps.
type DataQualitySummary struct {
	_ struct{} `type:"structure"`

	// Parameter that gives information about duplicate timestamps in the input
	// data.
	//
	// DuplicateTimestamps is a required field
	DuplicateTimestamps *DuplicateTimestamps `type:"structure" required:"true"`

	// Parameter that gives information about insufficient data for sensors in the
	// dataset. This includes information about those sensors that have complete
	// data missing and those with a short date range.
	//
	// InsufficientSensorData is a required field
	InsufficientSensorData *InsufficientSensorData `type:"structure" required:"true"`

	// Parameter that gives information about data that is invalid over all the
	// sensors in the input data.
	//
	// InvalidSensorData is a required field
	InvalidSensorData *InvalidSensorData `type:"structure" required:"true"`

	// Parameter that gives information about data that is missing over all the
	// sensors in the input data.
	//
	// MissingSensorData is a required field
	MissingSensorData *MissingSensorData `type:"structure" required:"true"`

	// Parameter that gives information about unsupported timestamps in the input
	// data.
	//
	// UnsupportedTimestamps is a required field
	UnsupportedTimestamps *UnsupportedTimestamps `type:"structure" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DataQualitySummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DataQualitySummary) GoString() string {
	return s.String()
}

// SetDuplicateTimestamps sets the DuplicateTimestamps field's value.
func (s *DataQualitySummary) SetDuplicateTimestamps(v *DuplicateTimestamps) *DataQualitySummary {
	s.DuplicateTimestamps = v
	return s
}

// SetInsufficientSensorData sets the InsufficientSensorData field's value.
func (s *DataQualitySummary) SetInsufficientSensorData(v *InsufficientSensorData) *DataQualitySummary {
	s.InsufficientSensorData = v
	return s
}

// SetInvalidSensorData sets the InvalidSensorData field's value.
func (s *DataQualitySummary) SetInvalidSensorData(v *InvalidSensorData) *DataQualitySummary {
	s.InvalidSensorData = v
	return s
}

// SetMissingSensorData sets the MissingSensorData field's value.
func (s *DataQualitySummary) SetMissingSensorData(v *MissingSensorData) *DataQualitySummary {
	s.MissingSensorData = v
	return s
}

// SetUnsupportedTimestamps sets the UnsupportedTimestamps field's value.
func (s *DataQualitySummary) SetUnsupportedTimestamps(v *UnsupportedTimestamps) *DataQualitySummary {
	s.UnsupportedTimestamps = v
	return s
}

// Provides information about the data schema used with the given dataset.
type DatasetSchema struct {
	_ struct{} `type:"structure"`

	// The data schema used within the given dataset.
	InlineDataSchema aws.JSONValue `type:"jsonvalue"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DatasetSchema) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DatasetSchema) GoString() string {
	return s.String()
}

// SetInlineDataSchema sets the InlineDataSchema field's value.
func (s *DatasetSchema) SetInlineDataSchema(v aws.JSONValue) *DatasetSchema {
	s.InlineDataSchema = v
	return s
}

// Contains information about the specific data set, including name, ARN, and
// status.
type DatasetSummary struct {
	_ struct{} `type:"structure"`

	// The time at which the dataset was created in Amazon Lookout for Equipment.
	CreatedAt *time.Time `type:"timestamp"`

	// The Amazon Resource Name (ARN) of the specified dataset.
	DatasetArn *string `min:"20" type:"string"`

	// The name of the dataset.
	DatasetName *string `min:"1" type:"string"`

	// Indicates the status of the dataset.
	Status *string `type:"string" enum:"DatasetStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DatasetSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DatasetSummary) GoString() string {
	return s.String()
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *DatasetSummary) SetCreatedAt(v time.Time) *DatasetSummary {
	s.CreatedAt = &v
	return s
}

// SetDatasetArn sets the DatasetArn field's value.
func (s *DatasetSummary) SetDatasetArn(v string) *DatasetSummary {
	s.DatasetArn = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *DatasetSummary) SetDatasetName(v string) *DatasetSummary {
	s.DatasetName = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *DatasetSummary) SetStatus(v string) *DatasetSummary {
	s.Status = &v
	return s
}

type DeleteDatasetInput struct {
	_ struct{} `type:"structure"`

	// The name of the dataset to be deleted.
	//
	// DatasetName is a required field
	DatasetName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteDatasetInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteDatasetInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteDatasetInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetInput"}
	if s.DatasetName == nil {
		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
	}
	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetDatasetName sets the DatasetName field's value.
func (s *DeleteDatasetInput) SetDatasetName(v string) *DeleteDatasetInput {
	s.DatasetName = &v
	return s
}

type DeleteDatasetOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteDatasetOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteDatasetOutput) GoString() string {
	return s.String()
}

type DeleteInferenceSchedulerInput struct {
	_ struct{} `type:"structure"`

	// The name of the inference scheduler to be deleted.
	//
	// InferenceSchedulerName is a required field
	InferenceSchedulerName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteInferenceSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteInferenceSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteInferenceSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DeleteInferenceSchedulerInput"}
	if s.InferenceSchedulerName == nil {
		invalidParams.Add(request.NewErrParamRequired("InferenceSchedulerName"))
	}
	if s.InferenceSchedulerName != nil && len(*s.InferenceSchedulerName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("InferenceSchedulerName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *DeleteInferenceSchedulerInput) SetInferenceSchedulerName(v string) *DeleteInferenceSchedulerInput {
	s.InferenceSchedulerName = &v
	return s
}

type DeleteInferenceSchedulerOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteInferenceSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteInferenceSchedulerOutput) GoString() string {
	return s.String()
}

type DeleteLabelGroupInput struct {
	_ struct{} `type:"structure"`

	// The name of the label group that you want to delete. Data in this field will
	// be retained for service usage. Follow best practices for the security of
	// your data.
	//
	// LabelGroupName is a required field
	LabelGroupName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteLabelGroupInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteLabelGroupInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteLabelGroupInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DeleteLabelGroupInput"}
	if s.LabelGroupName == nil {
		invalidParams.Add(request.NewErrParamRequired("LabelGroupName"))
	}
	if s.LabelGroupName != nil && len(*s.LabelGroupName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LabelGroupName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *DeleteLabelGroupInput) SetLabelGroupName(v string) *DeleteLabelGroupInput {
	s.LabelGroupName = &v
	return s
}

type DeleteLabelGroupOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteLabelGroupOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteLabelGroupOutput) GoString() string {
	return s.String()
}

type DeleteLabelInput struct {
	_ struct{} `type:"structure"`

	// The name of the label group that contains the label that you want to delete.
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	//
	// LabelGroupName is a required field
	LabelGroupName *string `min:"1" type:"string" required:"true"`

	// The ID of the label that you want to delete.
	//
	// LabelId is a required field
	LabelId *string `type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteLabelInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteLabelInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteLabelInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DeleteLabelInput"}
	if s.LabelGroupName == nil {
		invalidParams.Add(request.NewErrParamRequired("LabelGroupName"))
	}
	if s.LabelGroupName != nil && len(*s.LabelGroupName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LabelGroupName", 1))
	}
	if s.LabelId == nil {
		invalidParams.Add(request.NewErrParamRequired("LabelId"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *DeleteLabelInput) SetLabelGroupName(v string) *DeleteLabelInput {
	s.LabelGroupName = &v
	return s
}

// SetLabelId sets the LabelId field's value.
func (s *DeleteLabelInput) SetLabelId(v string) *DeleteLabelInput {
	s.LabelId = &v
	return s
}

type DeleteLabelOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteLabelOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteLabelOutput) GoString() string {
	return s.String()
}

type DeleteModelInput struct {
	_ struct{} `type:"structure"`

	// The name of the machine learning model to be deleted.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteModelInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteModelInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteModelInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DeleteModelInput"}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetModelName sets the ModelName field's value.
func (s *DeleteModelInput) SetModelName(v string) *DeleteModelInput {
	s.ModelName = &v
	return s
}

type DeleteModelOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteModelOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteModelOutput) GoString() string {
	return s.String()
}

type DeleteResourcePolicyInput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the resource for which the resource policy
	// should be deleted.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteResourcePolicyInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteResourcePolicyInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteResourcePolicyInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"}
	if s.ResourceArn == nil {
		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
	}
	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetResourceArn sets the ResourceArn field's value.
func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput {
	s.ResourceArn = &v
	return s
}

type DeleteResourcePolicyOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteResourcePolicyOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteResourcePolicyOutput) GoString() string {
	return s.String()
}

type DeleteRetrainingSchedulerInput struct {
	_ struct{} `type:"structure"`

	// The name of the model whose retraining scheduler you want to delete.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRetrainingSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRetrainingSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteRetrainingSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DeleteRetrainingSchedulerInput"}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetModelName sets the ModelName field's value.
func (s *DeleteRetrainingSchedulerInput) SetModelName(v string) *DeleteRetrainingSchedulerInput {
	s.ModelName = &v
	return s
}

type DeleteRetrainingSchedulerOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRetrainingSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRetrainingSchedulerOutput) GoString() string {
	return s.String()
}

type DescribeDataIngestionJobInput struct {
	_ struct{} `type:"structure"`

	// The job ID of the data ingestion job.
	//
	// JobId is a required field
	JobId *string `type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeDataIngestionJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeDataIngestionJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeDataIngestionJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DescribeDataIngestionJobInput"}
	if s.JobId == nil {
		invalidParams.Add(request.NewErrParamRequired("JobId"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetJobId sets the JobId field's value.
func (s *DescribeDataIngestionJobInput) SetJobId(v string) *DescribeDataIngestionJobInput {
	s.JobId = &v
	return s
}

type DescribeDataIngestionJobOutput struct {
	_ struct{} `type:"structure"`

	// The time at which the data ingestion job was created.
	CreatedAt *time.Time `type:"timestamp"`

	// Indicates the latest timestamp corresponding to data that was successfully
	// ingested during this specific ingestion job.
	DataEndTime *time.Time `type:"timestamp"`

	// Gives statistics about a completed ingestion job. These statistics primarily
	// relate to quantifying incorrect data such as MissingCompleteSensorData, MissingSensorData,
	// UnsupportedDateFormats, InsufficientSensorData, and DuplicateTimeStamps.
	DataQualitySummary *DataQualitySummary `type:"structure"`

	// Indicates the earliest timestamp corresponding to data that was successfully
	// ingested during this specific ingestion job.
	DataStartTime *time.Time `type:"timestamp"`

	// The Amazon Resource Name (ARN) of the dataset being used in the data ingestion
	// job.
	DatasetArn *string `min:"20" type:"string"`

	// Specifies the reason for failure when a data ingestion job has failed.
	FailedReason *string `min:"1" type:"string"`

	// Indicates the size of the ingested dataset.
	IngestedDataSize *int64 `type:"long"`

	// Gives statistics about how many files have been ingested, and which files
	// have not been ingested, for a particular ingestion job.
	IngestedFilesSummary *IngestedFilesSummary `type:"structure"`

	// Specifies the S3 location configuration for the data input for the data ingestion
	// job.
	IngestionInputConfiguration *IngestionInputConfiguration `type:"structure"`

	// Indicates the job ID of the data ingestion job.
	JobId *string `type:"string"`

	// The Amazon Resource Name (ARN) of an IAM role with permission to access the
	// data source being ingested.
	RoleArn *string `min:"20" type:"string"`

	// The Amazon Resource Name (ARN) of the source dataset from which the data
	// used for the data ingestion job was imported from.
	SourceDatasetArn *string `min:"20" type:"string"`

	// Indicates the status of the DataIngestionJob operation.
	Status *string `type:"string" enum:"IngestionJobStatus"`

	// Provides details about status of the ingestion job that is currently in progress.
	StatusDetail *string `min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeDataIngestionJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeDataIngestionJobOutput) GoString() string {
	return s.String()
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *DescribeDataIngestionJobOutput) SetCreatedAt(v time.Time) *DescribeDataIngestionJobOutput {
	s.CreatedAt = &v
	return s
}

// SetDataEndTime sets the DataEndTime field's value.
func (s *DescribeDataIngestionJobOutput) SetDataEndTime(v time.Time) *DescribeDataIngestionJobOutput {
	s.DataEndTime = &v
	return s
}

// SetDataQualitySummary sets the DataQualitySummary field's value.
func (s *DescribeDataIngestionJobOutput) SetDataQualitySummary(v *DataQualitySummary) *DescribeDataIngestionJobOutput {
	s.DataQualitySummary = v
	return s
}

// SetDataStartTime sets the DataStartTime field's value.
func (s *DescribeDataIngestionJobOutput) SetDataStartTime(v time.Time) *DescribeDataIngestionJobOutput {
	s.DataStartTime = &v
	return s
}

// SetDatasetArn sets the DatasetArn field's value.
func (s *DescribeDataIngestionJobOutput) SetDatasetArn(v string) *DescribeDataIngestionJobOutput {
	s.DatasetArn = &v
	return s
}

// SetFailedReason sets the FailedReason field's value.
func (s *DescribeDataIngestionJobOutput) SetFailedReason(v string) *DescribeDataIngestionJobOutput {
	s.FailedReason = &v
	return s
}

// SetIngestedDataSize sets the IngestedDataSize field's value.
func (s *DescribeDataIngestionJobOutput) SetIngestedDataSize(v int64) *DescribeDataIngestionJobOutput {
	s.IngestedDataSize = &v
	return s
}

// SetIngestedFilesSummary sets the IngestedFilesSummary field's value.
func (s *DescribeDataIngestionJobOutput) SetIngestedFilesSummary(v *IngestedFilesSummary) *DescribeDataIngestionJobOutput {
	s.IngestedFilesSummary = v
	return s
}

// SetIngestionInputConfiguration sets the IngestionInputConfiguration field's value.
func (s *DescribeDataIngestionJobOutput) SetIngestionInputConfiguration(v *IngestionInputConfiguration) *DescribeDataIngestionJobOutput {
	s.IngestionInputConfiguration = v
	return s
}

// SetJobId sets the JobId field's value.
func (s *DescribeDataIngestionJobOutput) SetJobId(v string) *DescribeDataIngestionJobOutput {
	s.JobId = &v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *DescribeDataIngestionJobOutput) SetRoleArn(v string) *DescribeDataIngestionJobOutput {
	s.RoleArn = &v
	return s
}

// SetSourceDatasetArn sets the SourceDatasetArn field's value.
func (s *DescribeDataIngestionJobOutput) SetSourceDatasetArn(v string) *DescribeDataIngestionJobOutput {
	s.SourceDatasetArn = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *DescribeDataIngestionJobOutput) SetStatus(v string) *DescribeDataIngestionJobOutput {
	s.Status = &v
	return s
}

// SetStatusDetail sets the StatusDetail field's value.
func (s *DescribeDataIngestionJobOutput) SetStatusDetail(v string) *DescribeDataIngestionJobOutput {
	s.StatusDetail = &v
	return s
}

type DescribeDatasetInput struct {
	_ struct{} `type:"structure"`

	// The name of the dataset to be described.
	//
	// DatasetName is a required field
	DatasetName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeDatasetInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeDatasetInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeDatasetInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetInput"}
	if s.DatasetName == nil {
		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
	}
	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetDatasetName sets the DatasetName field's value.
func (s *DescribeDatasetInput) SetDatasetName(v string) *DescribeDatasetInput {
	s.DatasetName = &v
	return s
}

type DescribeDatasetOutput struct {
	_ struct{} `type:"structure"`

	// Specifies the time the dataset was created in Lookout for Equipment.
	CreatedAt *time.Time `type:"timestamp"`

	// Indicates the latest timestamp corresponding to data that was successfully
	// ingested during the most recent ingestion of this particular dataset.
	DataEndTime *time.Time `type:"timestamp"`

	// Gives statistics associated with the given dataset for the latest successful
	// associated ingestion job id. These statistics primarily relate to quantifying
	// incorrect data such as MissingCompleteSensorData, MissingSensorData, UnsupportedDateFormats,
	// InsufficientSensorData, and DuplicateTimeStamps.
	DataQualitySummary *DataQualitySummary `type:"structure"`

	// Indicates the earliest timestamp corresponding to data that was successfully
	// ingested during the most recent ingestion of this particular dataset.
	DataStartTime *time.Time `type:"timestamp"`

	// The Amazon Resource Name (ARN) of the dataset being described.
	DatasetArn *string `min:"20" type:"string"`

	// The name of the dataset being described.
	DatasetName *string `min:"1" type:"string"`

	// IngestedFilesSummary associated with the given dataset for the latest successful
	// associated ingestion job id.
	IngestedFilesSummary *IngestedFilesSummary `type:"structure"`

	// Specifies the S3 location configuration for the data input for the data ingestion
	// job.
	IngestionInputConfiguration *IngestionInputConfiguration `type:"structure"`

	// Specifies the time the dataset was last updated, if it was.
	LastUpdatedAt *time.Time `type:"timestamp"`

	// The Amazon Resource Name (ARN) of the IAM role that you are using for this
	// the data ingestion job.
	RoleArn *string `min:"20" type:"string"`

	// A JSON description of the data that is in each time series dataset, including
	// names, column names, and data types.
	Schema aws.JSONValue `type:"jsonvalue"`

	// Provides the identifier of the KMS key used to encrypt dataset data by Amazon
	// Lookout for Equipment.
	ServerSideKmsKeyId *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the source dataset from which the current
	// data being described was imported from.
	SourceDatasetArn *string `min:"20" type:"string"`

	// Indicates the status of the dataset.
	Status *string `type:"string" enum:"DatasetStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeDatasetOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeDatasetOutput) GoString() string {
	return s.String()
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *DescribeDatasetOutput) SetCreatedAt(v time.Time) *DescribeDatasetOutput {
	s.CreatedAt = &v
	return s
}

// SetDataEndTime sets the DataEndTime field's value.
func (s *DescribeDatasetOutput) SetDataEndTime(v time.Time) *DescribeDatasetOutput {
	s.DataEndTime = &v
	return s
}

// SetDataQualitySummary sets the DataQualitySummary field's value.
func (s *DescribeDatasetOutput) SetDataQualitySummary(v *DataQualitySummary) *DescribeDatasetOutput {
	s.DataQualitySummary = v
	return s
}

// SetDataStartTime sets the DataStartTime field's value.
func (s *DescribeDatasetOutput) SetDataStartTime(v time.Time) *DescribeDatasetOutput {
	s.DataStartTime = &v
	return s
}

// SetDatasetArn sets the DatasetArn field's value.
func (s *DescribeDatasetOutput) SetDatasetArn(v string) *DescribeDatasetOutput {
	s.DatasetArn = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *DescribeDatasetOutput) SetDatasetName(v string) *DescribeDatasetOutput {
	s.DatasetName = &v
	return s
}

// SetIngestedFilesSummary sets the IngestedFilesSummary field's value.
func (s *DescribeDatasetOutput) SetIngestedFilesSummary(v *IngestedFilesSummary) *DescribeDatasetOutput {
	s.IngestedFilesSummary = v
	return s
}

// SetIngestionInputConfiguration sets the IngestionInputConfiguration field's value.
func (s *DescribeDatasetOutput) SetIngestionInputConfiguration(v *IngestionInputConfiguration) *DescribeDatasetOutput {
	s.IngestionInputConfiguration = v
	return s
}

// SetLastUpdatedAt sets the LastUpdatedAt field's value.
func (s *DescribeDatasetOutput) SetLastUpdatedAt(v time.Time) *DescribeDatasetOutput {
	s.LastUpdatedAt = &v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *DescribeDatasetOutput) SetRoleArn(v string) *DescribeDatasetOutput {
	s.RoleArn = &v
	return s
}

// SetSchema sets the Schema field's value.
func (s *DescribeDatasetOutput) SetSchema(v aws.JSONValue) *DescribeDatasetOutput {
	s.Schema = v
	return s
}

// SetServerSideKmsKeyId sets the ServerSideKmsKeyId field's value.
func (s *DescribeDatasetOutput) SetServerSideKmsKeyId(v string) *DescribeDatasetOutput {
	s.ServerSideKmsKeyId = &v
	return s
}

// SetSourceDatasetArn sets the SourceDatasetArn field's value.
func (s *DescribeDatasetOutput) SetSourceDatasetArn(v string) *DescribeDatasetOutput {
	s.SourceDatasetArn = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *DescribeDatasetOutput) SetStatus(v string) *DescribeDatasetOutput {
	s.Status = &v
	return s
}

type DescribeInferenceSchedulerInput struct {
	_ struct{} `type:"structure"`

	// The name of the inference scheduler being described.
	//
	// InferenceSchedulerName is a required field
	InferenceSchedulerName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeInferenceSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeInferenceSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeInferenceSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DescribeInferenceSchedulerInput"}
	if s.InferenceSchedulerName == nil {
		invalidParams.Add(request.NewErrParamRequired("InferenceSchedulerName"))
	}
	if s.InferenceSchedulerName != nil && len(*s.InferenceSchedulerName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("InferenceSchedulerName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *DescribeInferenceSchedulerInput) SetInferenceSchedulerName(v string) *DescribeInferenceSchedulerInput {
	s.InferenceSchedulerName = &v
	return s
}

type DescribeInferenceSchedulerOutput struct {
	_ struct{} `type:"structure"`

	// Specifies the time at which the inference scheduler was created.
	CreatedAt *time.Time `type:"timestamp"`

	// A period of time (in minutes) by which inference on the data is delayed after
	// the data starts. For instance, if you select an offset delay time of five
	// minutes, inference will not begin on the data until the first data measurement
	// after the five minute mark. For example, if five minutes is selected, the
	// inference scheduler will wake up at the configured frequency with the additional
	// five minute delay time to check the customer S3 bucket. The customer can
	// upload data at the same frequency and they don't need to stop and restart
	// the scheduler when uploading new data.
	DataDelayOffsetInMinutes *int64 `type:"long"`

	// Specifies configuration information for the input data for the inference
	// scheduler, including delimiter, format, and dataset location.
	DataInputConfiguration *InferenceInputConfiguration `type:"structure"`

	// Specifies information for the output results for the inference scheduler,
	// including the output S3 location.
	DataOutputConfiguration *InferenceOutputConfiguration `type:"structure"`

	// Specifies how often data is uploaded to the source S3 bucket for the input
	// data. This value is the length of time between data uploads. For instance,
	// if you select 5 minutes, Amazon Lookout for Equipment will upload the real-time
	// data to the source bucket once every 5 minutes. This frequency also determines
	// how often Amazon Lookout for Equipment starts a scheduled inference on your
	// data. In this example, it starts once every 5 minutes.
	DataUploadFrequency *string `type:"string" enum:"DataUploadFrequency"`

	// The Amazon Resource Name (ARN) of the inference scheduler being described.
	InferenceSchedulerArn *string `min:"20" type:"string"`

	// The name of the inference scheduler being described.
	InferenceSchedulerName *string `min:"1" type:"string"`

	// Indicates whether the latest execution for the inference scheduler was Anomalous
	// (anomalous events found) or Normal (no anomalous events found).
	LatestInferenceResult *string `type:"string" enum:"LatestInferenceResult"`

	// The Amazon Resource Name (ARN) of the machine learning model of the inference
	// scheduler being described.
	ModelArn *string `min:"20" type:"string"`

	// The name of the machine learning model of the inference scheduler being described.
	ModelName *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of a role with permission to access the data
	// source for the inference scheduler being described.
	RoleArn *string `min:"20" type:"string"`

	// Provides the identifier of the KMS key used to encrypt inference scheduler
	// data by Amazon Lookout for Equipment.
	ServerSideKmsKeyId *string `min:"1" type:"string"`

	// Indicates the status of the inference scheduler.
	Status *string `type:"string" enum:"InferenceSchedulerStatus"`

	// Specifies the time at which the inference scheduler was last updated, if
	// it was.
	UpdatedAt *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeInferenceSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeInferenceSchedulerOutput) GoString() string {
	return s.String()
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *DescribeInferenceSchedulerOutput) SetCreatedAt(v time.Time) *DescribeInferenceSchedulerOutput {
	s.CreatedAt = &v
	return s
}

// SetDataDelayOffsetInMinutes sets the DataDelayOffsetInMinutes field's value.
func (s *DescribeInferenceSchedulerOutput) SetDataDelayOffsetInMinutes(v int64) *DescribeInferenceSchedulerOutput {
	s.DataDelayOffsetInMinutes = &v
	return s
}

// SetDataInputConfiguration sets the DataInputConfiguration field's value.
func (s *DescribeInferenceSchedulerOutput) SetDataInputConfiguration(v *InferenceInputConfiguration) *DescribeInferenceSchedulerOutput {
	s.DataInputConfiguration = v
	return s
}

// SetDataOutputConfiguration sets the DataOutputConfiguration field's value.
func (s *DescribeInferenceSchedulerOutput) SetDataOutputConfiguration(v *InferenceOutputConfiguration) *DescribeInferenceSchedulerOutput {
	s.DataOutputConfiguration = v
	return s
}

// SetDataUploadFrequency sets the DataUploadFrequency field's value.
func (s *DescribeInferenceSchedulerOutput) SetDataUploadFrequency(v string) *DescribeInferenceSchedulerOutput {
	s.DataUploadFrequency = &v
	return s
}

// SetInferenceSchedulerArn sets the InferenceSchedulerArn field's value.
func (s *DescribeInferenceSchedulerOutput) SetInferenceSchedulerArn(v string) *DescribeInferenceSchedulerOutput {
	s.InferenceSchedulerArn = &v
	return s
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *DescribeInferenceSchedulerOutput) SetInferenceSchedulerName(v string) *DescribeInferenceSchedulerOutput {
	s.InferenceSchedulerName = &v
	return s
}

// SetLatestInferenceResult sets the LatestInferenceResult field's value.
func (s *DescribeInferenceSchedulerOutput) SetLatestInferenceResult(v string) *DescribeInferenceSchedulerOutput {
	s.LatestInferenceResult = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *DescribeInferenceSchedulerOutput) SetModelArn(v string) *DescribeInferenceSchedulerOutput {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *DescribeInferenceSchedulerOutput) SetModelName(v string) *DescribeInferenceSchedulerOutput {
	s.ModelName = &v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *DescribeInferenceSchedulerOutput) SetRoleArn(v string) *DescribeInferenceSchedulerOutput {
	s.RoleArn = &v
	return s
}

// SetServerSideKmsKeyId sets the ServerSideKmsKeyId field's value.
func (s *DescribeInferenceSchedulerOutput) SetServerSideKmsKeyId(v string) *DescribeInferenceSchedulerOutput {
	s.ServerSideKmsKeyId = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *DescribeInferenceSchedulerOutput) SetStatus(v string) *DescribeInferenceSchedulerOutput {
	s.Status = &v
	return s
}

// SetUpdatedAt sets the UpdatedAt field's value.
func (s *DescribeInferenceSchedulerOutput) SetUpdatedAt(v time.Time) *DescribeInferenceSchedulerOutput {
	s.UpdatedAt = &v
	return s
}

type DescribeLabelGroupInput struct {
	_ struct{} `type:"structure"`

	// Returns the name of the label group.
	//
	// LabelGroupName is a required field
	LabelGroupName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeLabelGroupInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeLabelGroupInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeLabelGroupInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DescribeLabelGroupInput"}
	if s.LabelGroupName == nil {
		invalidParams.Add(request.NewErrParamRequired("LabelGroupName"))
	}
	if s.LabelGroupName != nil && len(*s.LabelGroupName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LabelGroupName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *DescribeLabelGroupInput) SetLabelGroupName(v string) *DescribeLabelGroupInput {
	s.LabelGroupName = &v
	return s
}

type DescribeLabelGroupOutput struct {
	_ struct{} `type:"structure"`

	// The time at which the label group was created.
	CreatedAt *time.Time `type:"timestamp"`

	// Codes indicating the type of anomaly associated with the labels in the lagbel
	// group.
	FaultCodes []*string `type:"list"`

	// The Amazon Resource Name (ARN) of the label group.
	LabelGroupArn *string `min:"20" type:"string"`

	// The name of the label group.
	LabelGroupName *string `min:"1" type:"string"`

	// The time at which the label group was updated.
	UpdatedAt *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeLabelGroupOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeLabelGroupOutput) GoString() string {
	return s.String()
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *DescribeLabelGroupOutput) SetCreatedAt(v time.Time) *DescribeLabelGroupOutput {
	s.CreatedAt = &v
	return s
}

// SetFaultCodes sets the FaultCodes field's value.
func (s *DescribeLabelGroupOutput) SetFaultCodes(v []*string) *DescribeLabelGroupOutput {
	s.FaultCodes = v
	return s
}

// SetLabelGroupArn sets the LabelGroupArn field's value.
func (s *DescribeLabelGroupOutput) SetLabelGroupArn(v string) *DescribeLabelGroupOutput {
	s.LabelGroupArn = &v
	return s
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *DescribeLabelGroupOutput) SetLabelGroupName(v string) *DescribeLabelGroupOutput {
	s.LabelGroupName = &v
	return s
}

// SetUpdatedAt sets the UpdatedAt field's value.
func (s *DescribeLabelGroupOutput) SetUpdatedAt(v time.Time) *DescribeLabelGroupOutput {
	s.UpdatedAt = &v
	return s
}

type DescribeLabelInput struct {
	_ struct{} `type:"structure"`

	// Returns the name of the group containing the label.
	//
	// LabelGroupName is a required field
	LabelGroupName *string `min:"1" type:"string" required:"true"`

	// Returns the ID of the label.
	//
	// LabelId is a required field
	LabelId *string `type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeLabelInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeLabelInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeLabelInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DescribeLabelInput"}
	if s.LabelGroupName == nil {
		invalidParams.Add(request.NewErrParamRequired("LabelGroupName"))
	}
	if s.LabelGroupName != nil && len(*s.LabelGroupName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LabelGroupName", 1))
	}
	if s.LabelId == nil {
		invalidParams.Add(request.NewErrParamRequired("LabelId"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *DescribeLabelInput) SetLabelGroupName(v string) *DescribeLabelInput {
	s.LabelGroupName = &v
	return s
}

// SetLabelId sets the LabelId field's value.
func (s *DescribeLabelInput) SetLabelId(v string) *DescribeLabelInput {
	s.LabelId = &v
	return s
}

type DescribeLabelOutput struct {
	_ struct{} `type:"structure"`

	// The time at which the label was created.
	CreatedAt *time.Time `type:"timestamp"`

	// The end time of the requested label.
	EndTime *time.Time `type:"timestamp"`

	// Indicates that a label pertains to a particular piece of equipment.
	Equipment *string `min:"1" type:"string"`

	// Indicates the type of anomaly associated with the label.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	FaultCode *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the requested label group.
	LabelGroupArn *string `min:"20" type:"string"`

	// The name of the requested label group.
	LabelGroupName *string `min:"1" type:"string"`

	// The ID of the requested label.
	LabelId *string `type:"string"`

	// Metadata providing additional information about the label.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	Notes *string `min:"1" type:"string"`

	// Indicates whether a labeled event represents an anomaly.
	Rating *string `type:"string" enum:"LabelRating"`

	// The start time of the requested label.
	StartTime *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeLabelOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeLabelOutput) GoString() string {
	return s.String()
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *DescribeLabelOutput) SetCreatedAt(v time.Time) *DescribeLabelOutput {
	s.CreatedAt = &v
	return s
}

// SetEndTime sets the EndTime field's value.
func (s *DescribeLabelOutput) SetEndTime(v time.Time) *DescribeLabelOutput {
	s.EndTime = &v
	return s
}

// SetEquipment sets the Equipment field's value.
func (s *DescribeLabelOutput) SetEquipment(v string) *DescribeLabelOutput {
	s.Equipment = &v
	return s
}

// SetFaultCode sets the FaultCode field's value.
func (s *DescribeLabelOutput) SetFaultCode(v string) *DescribeLabelOutput {
	s.FaultCode = &v
	return s
}

// SetLabelGroupArn sets the LabelGroupArn field's value.
func (s *DescribeLabelOutput) SetLabelGroupArn(v string) *DescribeLabelOutput {
	s.LabelGroupArn = &v
	return s
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *DescribeLabelOutput) SetLabelGroupName(v string) *DescribeLabelOutput {
	s.LabelGroupName = &v
	return s
}

// SetLabelId sets the LabelId field's value.
func (s *DescribeLabelOutput) SetLabelId(v string) *DescribeLabelOutput {
	s.LabelId = &v
	return s
}

// SetNotes sets the Notes field's value.
func (s *DescribeLabelOutput) SetNotes(v string) *DescribeLabelOutput {
	s.Notes = &v
	return s
}

// SetRating sets the Rating field's value.
func (s *DescribeLabelOutput) SetRating(v string) *DescribeLabelOutput {
	s.Rating = &v
	return s
}

// SetStartTime sets the StartTime field's value.
func (s *DescribeLabelOutput) SetStartTime(v time.Time) *DescribeLabelOutput {
	s.StartTime = &v
	return s
}

type DescribeModelInput struct {
	_ struct{} `type:"structure"`

	// The name of the machine learning model to be described.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeModelInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeModelInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeModelInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DescribeModelInput"}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetModelName sets the ModelName field's value.
func (s *DescribeModelInput) SetModelName(v string) *DescribeModelInput {
	s.ModelName = &v
	return s
}

type DescribeModelOutput struct {
	_ struct{} `type:"structure"`

	// Indicates the end time of the inference data that has been accumulated.
	AccumulatedInferenceDataEndTime *time.Time `type:"timestamp"`

	// Indicates the start time of the inference data that has been accumulated.
	AccumulatedInferenceDataStartTime *time.Time `type:"timestamp"`

	// The name of the model version used by the inference schedular when running
	// a scheduled inference execution.
	ActiveModelVersion *int64 `min:"1" type:"long"`

	// The Amazon Resource Name (ARN) of the model version used by the inference
	// scheduler when running a scheduled inference execution.
	ActiveModelVersionArn *string `min:"20" type:"string"`

	// Indicates the time and date at which the machine learning model was created.
	CreatedAt *time.Time `type:"timestamp"`

	// The configuration is the TargetSamplingRate, which is the sampling rate of
	// the data after post processing by Amazon Lookout for Equipment. For example,
	// if you provide data that has been collected at a 1 second level and you want
	// the system to resample the data at a 1 minute rate before training, the TargetSamplingRate
	// is 1 minute.
	//
	// When providing a value for the TargetSamplingRate, you must attach the prefix
	// "PT" to the rate you want. The value for a 1 second rate is therefore PT1S,
	// the value for a 15 minute rate is PT15M, and the value for a 1 hour rate
	// is PT1H
	DataPreProcessingConfiguration *DataPreProcessingConfiguration `type:"structure"`

	// The Amazon Resouce Name (ARN) of the dataset used to create the machine learning
	// model being described.
	DatasetArn *string `min:"20" type:"string"`

	// The name of the dataset being used by the machine learning being described.
	DatasetName *string `min:"1" type:"string"`

	// Indicates the time reference in the dataset that was used to end the subset
	// of evaluation data for the machine learning model.
	EvaluationDataEndTime *time.Time `type:"timestamp"`

	// Indicates the time reference in the dataset that was used to begin the subset
	// of evaluation data for the machine learning model.
	EvaluationDataStartTime *time.Time `type:"timestamp"`

	// If the training of the machine learning model failed, this indicates the
	// reason for that failure.
	FailedReason *string `min:"1" type:"string"`

	// The date and time when the import job was completed. This field appears if
	// the active model version was imported.
	ImportJobEndTime *time.Time `type:"timestamp"`

	// The date and time when the import job was started. This field appears if
	// the active model version was imported.
	ImportJobStartTime *time.Time `type:"timestamp"`

	// Specifies configuration information about the labels input, including its
	// S3 location.
	LabelsInputConfiguration *LabelsInputConfiguration `type:"structure"`

	// Indicates the last time the machine learning model was updated. The type
	// of update is not specified.
	LastUpdatedTime *time.Time `type:"timestamp"`

	// Indicates the number of days of data used in the most recent scheduled retraining
	// run.
	LatestScheduledRetrainingAvailableDataInDays *int64 `type:"integer"`

	// If the model version was generated by retraining and the training failed,
	// this indicates the reason for that failure.
	LatestScheduledRetrainingFailedReason *string `min:"1" type:"string"`

	// Indicates the most recent model version that was generated by retraining.
	LatestScheduledRetrainingModelVersion *int64 `min:"1" type:"long"`

	// Indicates the start time of the most recent scheduled retraining run.
	LatestScheduledRetrainingStartTime *time.Time `type:"timestamp"`

	// Indicates the status of the most recent scheduled retraining run.
	LatestScheduledRetrainingStatus *string `type:"string" enum:"ModelVersionStatus"`

	// The Amazon Resource Name (ARN) of the machine learning model being described.
	ModelArn *string `min:"20" type:"string"`

	// The Model Metrics show an aggregated summary of the model's performance within
	// the evaluation time range. This is the JSON content of the metrics created
	// when evaluating the model.
	ModelMetrics aws.JSONValue `type:"jsonvalue"`

	// The name of the machine learning model being described.
	ModelName *string `min:"1" type:"string"`

	// The date the active model version was activated.
	ModelVersionActivatedAt *time.Time `type:"timestamp"`

	// Indicates the date and time that the next scheduled retraining run will start
	// on. Lookout for Equipment truncates the time you provide to the nearest UTC
	// day.
	NextScheduledRetrainingStartDate *time.Time `type:"timestamp"`

	// Indicates that the asset associated with this sensor has been shut off. As
	// long as this condition is met, Lookout for Equipment will not use data from
	// this asset for training, evaluation, or inference.
	OffCondition *string `min:"1" type:"string"`

	// The model version that was set as the active model version prior to the current
	// active model version.
	PreviousActiveModelVersion *int64 `min:"1" type:"long"`

	// The ARN of the model version that was set as the active model version prior
	// to the current active model version.
	PreviousActiveModelVersionArn *string `min:"20" type:"string"`

	// The date and time when the previous active model version was activated.
	PreviousModelVersionActivatedAt *time.Time `type:"timestamp"`

	// If the model version was retrained, this field shows a summary of the performance
	// of the prior model on the new training range. You can use the information
	// in this JSON-formatted object to compare the new model version and the prior
	// model version.
	PriorModelMetrics *string `min:"1" type:"string"`

	// Indicates the status of the retraining scheduler.
	RetrainingSchedulerStatus *string `type:"string" enum:"RetrainingSchedulerStatus"`

	// The Amazon Resource Name (ARN) of a role with permission to access the data
	// source for the machine learning model being described.
	RoleArn *string `min:"20" type:"string"`

	// A JSON description of the data that is in each time series dataset, including
	// names, column names, and data types.
	Schema aws.JSONValue `type:"jsonvalue"`

	// Provides the identifier of the KMS key used to encrypt model data by Amazon
	// Lookout for Equipment.
	ServerSideKmsKeyId *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the source model version. This field appears
	// if the active model version was imported.
	SourceModelVersionArn *string `min:"20" type:"string"`

	// Specifies the current status of the model being described. Status describes
	// the status of the most recent action of the model.
	Status *string `type:"string" enum:"ModelStatus"`

	// Indicates the time reference in the dataset that was used to end the subset
	// of training data for the machine learning model.
	TrainingDataEndTime *time.Time `type:"timestamp"`

	// Indicates the time reference in the dataset that was used to begin the subset
	// of training data for the machine learning model.
	TrainingDataStartTime *time.Time `type:"timestamp"`

	// Indicates the time at which the training of the machine learning model was
	// completed.
	TrainingExecutionEndTime *time.Time `type:"timestamp"`

	// Indicates the time at which the training of the machine learning model began.
	TrainingExecutionStartTime *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeModelOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeModelOutput) GoString() string {
	return s.String()
}

// SetAccumulatedInferenceDataEndTime sets the AccumulatedInferenceDataEndTime field's value.
func (s *DescribeModelOutput) SetAccumulatedInferenceDataEndTime(v time.Time) *DescribeModelOutput {
	s.AccumulatedInferenceDataEndTime = &v
	return s
}

// SetAccumulatedInferenceDataStartTime sets the AccumulatedInferenceDataStartTime field's value.
func (s *DescribeModelOutput) SetAccumulatedInferenceDataStartTime(v time.Time) *DescribeModelOutput {
	s.AccumulatedInferenceDataStartTime = &v
	return s
}

// SetActiveModelVersion sets the ActiveModelVersion field's value.
func (s *DescribeModelOutput) SetActiveModelVersion(v int64) *DescribeModelOutput {
	s.ActiveModelVersion = &v
	return s
}

// SetActiveModelVersionArn sets the ActiveModelVersionArn field's value.
func (s *DescribeModelOutput) SetActiveModelVersionArn(v string) *DescribeModelOutput {
	s.ActiveModelVersionArn = &v
	return s
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *DescribeModelOutput) SetCreatedAt(v time.Time) *DescribeModelOutput {
	s.CreatedAt = &v
	return s
}

// SetDataPreProcessingConfiguration sets the DataPreProcessingConfiguration field's value.
func (s *DescribeModelOutput) SetDataPreProcessingConfiguration(v *DataPreProcessingConfiguration) *DescribeModelOutput {
	s.DataPreProcessingConfiguration = v
	return s
}

// SetDatasetArn sets the DatasetArn field's value.
func (s *DescribeModelOutput) SetDatasetArn(v string) *DescribeModelOutput {
	s.DatasetArn = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *DescribeModelOutput) SetDatasetName(v string) *DescribeModelOutput {
	s.DatasetName = &v
	return s
}

// SetEvaluationDataEndTime sets the EvaluationDataEndTime field's value.
func (s *DescribeModelOutput) SetEvaluationDataEndTime(v time.Time) *DescribeModelOutput {
	s.EvaluationDataEndTime = &v
	return s
}

// SetEvaluationDataStartTime sets the EvaluationDataStartTime field's value.
func (s *DescribeModelOutput) SetEvaluationDataStartTime(v time.Time) *DescribeModelOutput {
	s.EvaluationDataStartTime = &v
	return s
}

// SetFailedReason sets the FailedReason field's value.
func (s *DescribeModelOutput) SetFailedReason(v string) *DescribeModelOutput {
	s.FailedReason = &v
	return s
}

// SetImportJobEndTime sets the ImportJobEndTime field's value.
func (s *DescribeModelOutput) SetImportJobEndTime(v time.Time) *DescribeModelOutput {
	s.ImportJobEndTime = &v
	return s
}

// SetImportJobStartTime sets the ImportJobStartTime field's value.
func (s *DescribeModelOutput) SetImportJobStartTime(v time.Time) *DescribeModelOutput {
	s.ImportJobStartTime = &v
	return s
}

// SetLabelsInputConfiguration sets the LabelsInputConfiguration field's value.
func (s *DescribeModelOutput) SetLabelsInputConfiguration(v *LabelsInputConfiguration) *DescribeModelOutput {
	s.LabelsInputConfiguration = v
	return s
}

// SetLastUpdatedTime sets the LastUpdatedTime field's value.
func (s *DescribeModelOutput) SetLastUpdatedTime(v time.Time) *DescribeModelOutput {
	s.LastUpdatedTime = &v
	return s
}

// SetLatestScheduledRetrainingAvailableDataInDays sets the LatestScheduledRetrainingAvailableDataInDays field's value.
func (s *DescribeModelOutput) SetLatestScheduledRetrainingAvailableDataInDays(v int64) *DescribeModelOutput {
	s.LatestScheduledRetrainingAvailableDataInDays = &v
	return s
}

// SetLatestScheduledRetrainingFailedReason sets the LatestScheduledRetrainingFailedReason field's value.
func (s *DescribeModelOutput) SetLatestScheduledRetrainingFailedReason(v string) *DescribeModelOutput {
	s.LatestScheduledRetrainingFailedReason = &v
	return s
}

// SetLatestScheduledRetrainingModelVersion sets the LatestScheduledRetrainingModelVersion field's value.
func (s *DescribeModelOutput) SetLatestScheduledRetrainingModelVersion(v int64) *DescribeModelOutput {
	s.LatestScheduledRetrainingModelVersion = &v
	return s
}

// SetLatestScheduledRetrainingStartTime sets the LatestScheduledRetrainingStartTime field's value.
func (s *DescribeModelOutput) SetLatestScheduledRetrainingStartTime(v time.Time) *DescribeModelOutput {
	s.LatestScheduledRetrainingStartTime = &v
	return s
}

// SetLatestScheduledRetrainingStatus sets the LatestScheduledRetrainingStatus field's value.
func (s *DescribeModelOutput) SetLatestScheduledRetrainingStatus(v string) *DescribeModelOutput {
	s.LatestScheduledRetrainingStatus = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *DescribeModelOutput) SetModelArn(v string) *DescribeModelOutput {
	s.ModelArn = &v
	return s
}

// SetModelMetrics sets the ModelMetrics field's value.
func (s *DescribeModelOutput) SetModelMetrics(v aws.JSONValue) *DescribeModelOutput {
	s.ModelMetrics = v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *DescribeModelOutput) SetModelName(v string) *DescribeModelOutput {
	s.ModelName = &v
	return s
}

// SetModelVersionActivatedAt sets the ModelVersionActivatedAt field's value.
func (s *DescribeModelOutput) SetModelVersionActivatedAt(v time.Time) *DescribeModelOutput {
	s.ModelVersionActivatedAt = &v
	return s
}

// SetNextScheduledRetrainingStartDate sets the NextScheduledRetrainingStartDate field's value.
func (s *DescribeModelOutput) SetNextScheduledRetrainingStartDate(v time.Time) *DescribeModelOutput {
	s.NextScheduledRetrainingStartDate = &v
	return s
}

// SetOffCondition sets the OffCondition field's value.
func (s *DescribeModelOutput) SetOffCondition(v string) *DescribeModelOutput {
	s.OffCondition = &v
	return s
}

// SetPreviousActiveModelVersion sets the PreviousActiveModelVersion field's value.
func (s *DescribeModelOutput) SetPreviousActiveModelVersion(v int64) *DescribeModelOutput {
	s.PreviousActiveModelVersion = &v
	return s
}

// SetPreviousActiveModelVersionArn sets the PreviousActiveModelVersionArn field's value.
func (s *DescribeModelOutput) SetPreviousActiveModelVersionArn(v string) *DescribeModelOutput {
	s.PreviousActiveModelVersionArn = &v
	return s
}

// SetPreviousModelVersionActivatedAt sets the PreviousModelVersionActivatedAt field's value.
func (s *DescribeModelOutput) SetPreviousModelVersionActivatedAt(v time.Time) *DescribeModelOutput {
	s.PreviousModelVersionActivatedAt = &v
	return s
}

// SetPriorModelMetrics sets the PriorModelMetrics field's value.
func (s *DescribeModelOutput) SetPriorModelMetrics(v string) *DescribeModelOutput {
	s.PriorModelMetrics = &v
	return s
}

// SetRetrainingSchedulerStatus sets the RetrainingSchedulerStatus field's value.
func (s *DescribeModelOutput) SetRetrainingSchedulerStatus(v string) *DescribeModelOutput {
	s.RetrainingSchedulerStatus = &v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *DescribeModelOutput) SetRoleArn(v string) *DescribeModelOutput {
	s.RoleArn = &v
	return s
}

// SetSchema sets the Schema field's value.
func (s *DescribeModelOutput) SetSchema(v aws.JSONValue) *DescribeModelOutput {
	s.Schema = v
	return s
}

// SetServerSideKmsKeyId sets the ServerSideKmsKeyId field's value.
func (s *DescribeModelOutput) SetServerSideKmsKeyId(v string) *DescribeModelOutput {
	s.ServerSideKmsKeyId = &v
	return s
}

// SetSourceModelVersionArn sets the SourceModelVersionArn field's value.
func (s *DescribeModelOutput) SetSourceModelVersionArn(v string) *DescribeModelOutput {
	s.SourceModelVersionArn = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *DescribeModelOutput) SetStatus(v string) *DescribeModelOutput {
	s.Status = &v
	return s
}

// SetTrainingDataEndTime sets the TrainingDataEndTime field's value.
func (s *DescribeModelOutput) SetTrainingDataEndTime(v time.Time) *DescribeModelOutput {
	s.TrainingDataEndTime = &v
	return s
}

// SetTrainingDataStartTime sets the TrainingDataStartTime field's value.
func (s *DescribeModelOutput) SetTrainingDataStartTime(v time.Time) *DescribeModelOutput {
	s.TrainingDataStartTime = &v
	return s
}

// SetTrainingExecutionEndTime sets the TrainingExecutionEndTime field's value.
func (s *DescribeModelOutput) SetTrainingExecutionEndTime(v time.Time) *DescribeModelOutput {
	s.TrainingExecutionEndTime = &v
	return s
}

// SetTrainingExecutionStartTime sets the TrainingExecutionStartTime field's value.
func (s *DescribeModelOutput) SetTrainingExecutionStartTime(v time.Time) *DescribeModelOutput {
	s.TrainingExecutionStartTime = &v
	return s
}

type DescribeModelVersionInput struct {
	_ struct{} `type:"structure"`

	// The name of the machine learning model that this version belongs to.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`

	// The version of the machine learning model.
	//
	// ModelVersion is a required field
	ModelVersion *int64 `min:"1" type:"long" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeModelVersionInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeModelVersionInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeModelVersionInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DescribeModelVersionInput"}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}
	if s.ModelVersion == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelVersion"))
	}
	if s.ModelVersion != nil && *s.ModelVersion < 1 {
		invalidParams.Add(request.NewErrParamMinValue("ModelVersion", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetModelName sets the ModelName field's value.
func (s *DescribeModelVersionInput) SetModelName(v string) *DescribeModelVersionInput {
	s.ModelName = &v
	return s
}

// SetModelVersion sets the ModelVersion field's value.
func (s *DescribeModelVersionInput) SetModelVersion(v int64) *DescribeModelVersionInput {
	s.ModelVersion = &v
	return s
}

type DescribeModelVersionOutput struct {
	_ struct{} `type:"structure"`

	// Indicates whether the model version was promoted to be the active version
	// after retraining or if there was an error with or cancellation of the retraining.
	AutoPromotionResult *string `type:"string" enum:"AutoPromotionResult"`

	// Indicates the reason for the AutoPromotionResult. For example, a model might
	// not be promoted if its performance was worse than the active version, if
	// there was an error during training, or if the retraining scheduler was using
	// MANUAL promote mode. The model will be promoted in MANAGED promote mode if
	// the performance is better than the previous model.
	AutoPromotionResultReason *string `min:"1" type:"string"`

	// Indicates the time and date at which the machine learning model version was
	// created.
	CreatedAt *time.Time `type:"timestamp"`

	// The configuration is the TargetSamplingRate, which is the sampling rate of
	// the data after post processing by Amazon Lookout for Equipment. For example,
	// if you provide data that has been collected at a 1 second level and you want
	// the system to resample the data at a 1 minute rate before training, the TargetSamplingRate
	// is 1 minute.
	//
	// When providing a value for the TargetSamplingRate, you must attach the prefix
	// "PT" to the rate you want. The value for a 1 second rate is therefore PT1S,
	// the value for a 15 minute rate is PT15M, and the value for a 1 hour rate
	// is PT1H
	DataPreProcessingConfiguration *DataPreProcessingConfiguration `type:"structure"`

	// The Amazon Resource Name (ARN) of the dataset used to train the model version.
	DatasetArn *string `min:"20" type:"string"`

	// The name of the dataset used to train the model version.
	DatasetName *string `min:"1" type:"string"`

	// The date on which the data in the evaluation set began being gathered. If
	// you imported the version, this is the date that the evaluation set data in
	// the source version finished being gathered.
	EvaluationDataEndTime *time.Time `type:"timestamp"`

	// The date on which the data in the evaluation set began being gathered. If
	// you imported the version, this is the date that the evaluation set data in
	// the source version began being gathered.
	EvaluationDataStartTime *time.Time `type:"timestamp"`

	// The failure message if the training of the model version failed.
	FailedReason *string `min:"1" type:"string"`

	// The date and time when the import job completed. This field appears if the
	// model version was imported.
	ImportJobEndTime *time.Time `type:"timestamp"`

	// The date and time when the import job began. This field appears if the model
	// version was imported.
	ImportJobStartTime *time.Time `type:"timestamp"`

	// The size in bytes of the imported data. This field appears if the model version
	// was imported.
	ImportedDataSizeInBytes *int64 `type:"long"`

	// Contains the configuration information for the S3 location being used to
	// hold label data.
	LabelsInputConfiguration *LabelsInputConfiguration `type:"structure"`

	// Indicates the last time the machine learning model version was updated.
	LastUpdatedTime *time.Time `type:"timestamp"`

	// The Amazon Resource Name (ARN) of the parent machine learning model that
	// this version belong to.
	ModelArn *string `min:"20" type:"string"`

	// Shows an aggregated summary, in JSON format, of the model's performance within
	// the evaluation time range. These metrics are created when evaluating the
	// model.
	ModelMetrics *string `min:"1" type:"string"`

	// The name of the machine learning model that this version belongs to.
	ModelName *string `min:"1" type:"string"`

	// The version of the machine learning model.
	ModelVersion *int64 `min:"1" type:"long"`

	// The Amazon Resource Name (ARN) of the model version.
	ModelVersionArn *string `min:"20" type:"string"`

	// Indicates that the asset associated with this sensor has been shut off. As
	// long as this condition is met, Lookout for Equipment will not use data from
	// this asset for training, evaluation, or inference.
	OffCondition *string `min:"1" type:"string"`

	// If the model version was retrained, this field shows a summary of the performance
	// of the prior model on the new training range. You can use the information
	// in this JSON-formatted object to compare the new model version and the prior
	// model version.
	PriorModelMetrics *string `min:"1" type:"string"`

	// Indicates the number of days of data used in the most recent scheduled retraining
	// run.
	RetrainingAvailableDataInDays *int64 `type:"integer"`

	// The Amazon Resource Name (ARN) of the role that was used to train the model
	// version.
	RoleArn *string `min:"20" type:"string"`

	// The schema of the data used to train the model version.
	Schema *string `min:"1" type:"string"`

	// The identifier of the KMS key key used to encrypt model version data by Amazon
	// Lookout for Equipment.
	ServerSideKmsKeyId *string `min:"1" type:"string"`

	// If model version was imported, then this field is the arn of the source model
	// version.
	SourceModelVersionArn *string `min:"20" type:"string"`

	// Indicates whether this model version was created by training or by importing.
	SourceType *string `type:"string" enum:"ModelVersionSourceType"`

	// The current status of the model version.
	Status *string `type:"string" enum:"ModelVersionStatus"`

	// The date on which the training data finished being gathered. If you imported
	// the version, this is the date that the training data in the source version
	// finished being gathered.
	TrainingDataEndTime *time.Time `type:"timestamp"`

	// The date on which the training data began being gathered. If you imported
	// the version, this is the date that the training data in the source version
	// began being gathered.
	TrainingDataStartTime *time.Time `type:"timestamp"`

	// The time when the training of the version completed.
	TrainingExecutionEndTime *time.Time `type:"timestamp"`

	// The time when the training of the version began.
	TrainingExecutionStartTime *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeModelVersionOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeModelVersionOutput) GoString() string {
	return s.String()
}

// SetAutoPromotionResult sets the AutoPromotionResult field's value.
func (s *DescribeModelVersionOutput) SetAutoPromotionResult(v string) *DescribeModelVersionOutput {
	s.AutoPromotionResult = &v
	return s
}

// SetAutoPromotionResultReason sets the AutoPromotionResultReason field's value.
func (s *DescribeModelVersionOutput) SetAutoPromotionResultReason(v string) *DescribeModelVersionOutput {
	s.AutoPromotionResultReason = &v
	return s
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *DescribeModelVersionOutput) SetCreatedAt(v time.Time) *DescribeModelVersionOutput {
	s.CreatedAt = &v
	return s
}

// SetDataPreProcessingConfiguration sets the DataPreProcessingConfiguration field's value.
func (s *DescribeModelVersionOutput) SetDataPreProcessingConfiguration(v *DataPreProcessingConfiguration) *DescribeModelVersionOutput {
	s.DataPreProcessingConfiguration = v
	return s
}

// SetDatasetArn sets the DatasetArn field's value.
func (s *DescribeModelVersionOutput) SetDatasetArn(v string) *DescribeModelVersionOutput {
	s.DatasetArn = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *DescribeModelVersionOutput) SetDatasetName(v string) *DescribeModelVersionOutput {
	s.DatasetName = &v
	return s
}

// SetEvaluationDataEndTime sets the EvaluationDataEndTime field's value.
func (s *DescribeModelVersionOutput) SetEvaluationDataEndTime(v time.Time) *DescribeModelVersionOutput {
	s.EvaluationDataEndTime = &v
	return s
}

// SetEvaluationDataStartTime sets the EvaluationDataStartTime field's value.
func (s *DescribeModelVersionOutput) SetEvaluationDataStartTime(v time.Time) *DescribeModelVersionOutput {
	s.EvaluationDataStartTime = &v
	return s
}

// SetFailedReason sets the FailedReason field's value.
func (s *DescribeModelVersionOutput) SetFailedReason(v string) *DescribeModelVersionOutput {
	s.FailedReason = &v
	return s
}

// SetImportJobEndTime sets the ImportJobEndTime field's value.
func (s *DescribeModelVersionOutput) SetImportJobEndTime(v time.Time) *DescribeModelVersionOutput {
	s.ImportJobEndTime = &v
	return s
}

// SetImportJobStartTime sets the ImportJobStartTime field's value.
func (s *DescribeModelVersionOutput) SetImportJobStartTime(v time.Time) *DescribeModelVersionOutput {
	s.ImportJobStartTime = &v
	return s
}

// SetImportedDataSizeInBytes sets the ImportedDataSizeInBytes field's value.
func (s *DescribeModelVersionOutput) SetImportedDataSizeInBytes(v int64) *DescribeModelVersionOutput {
	s.ImportedDataSizeInBytes = &v
	return s
}

// SetLabelsInputConfiguration sets the LabelsInputConfiguration field's value.
func (s *DescribeModelVersionOutput) SetLabelsInputConfiguration(v *LabelsInputConfiguration) *DescribeModelVersionOutput {
	s.LabelsInputConfiguration = v
	return s
}

// SetLastUpdatedTime sets the LastUpdatedTime field's value.
func (s *DescribeModelVersionOutput) SetLastUpdatedTime(v time.Time) *DescribeModelVersionOutput {
	s.LastUpdatedTime = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *DescribeModelVersionOutput) SetModelArn(v string) *DescribeModelVersionOutput {
	s.ModelArn = &v
	return s
}

// SetModelMetrics sets the ModelMetrics field's value.
func (s *DescribeModelVersionOutput) SetModelMetrics(v string) *DescribeModelVersionOutput {
	s.ModelMetrics = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *DescribeModelVersionOutput) SetModelName(v string) *DescribeModelVersionOutput {
	s.ModelName = &v
	return s
}

// SetModelVersion sets the ModelVersion field's value.
func (s *DescribeModelVersionOutput) SetModelVersion(v int64) *DescribeModelVersionOutput {
	s.ModelVersion = &v
	return s
}

// SetModelVersionArn sets the ModelVersionArn field's value.
func (s *DescribeModelVersionOutput) SetModelVersionArn(v string) *DescribeModelVersionOutput {
	s.ModelVersionArn = &v
	return s
}

// SetOffCondition sets the OffCondition field's value.
func (s *DescribeModelVersionOutput) SetOffCondition(v string) *DescribeModelVersionOutput {
	s.OffCondition = &v
	return s
}

// SetPriorModelMetrics sets the PriorModelMetrics field's value.
func (s *DescribeModelVersionOutput) SetPriorModelMetrics(v string) *DescribeModelVersionOutput {
	s.PriorModelMetrics = &v
	return s
}

// SetRetrainingAvailableDataInDays sets the RetrainingAvailableDataInDays field's value.
func (s *DescribeModelVersionOutput) SetRetrainingAvailableDataInDays(v int64) *DescribeModelVersionOutput {
	s.RetrainingAvailableDataInDays = &v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *DescribeModelVersionOutput) SetRoleArn(v string) *DescribeModelVersionOutput {
	s.RoleArn = &v
	return s
}

// SetSchema sets the Schema field's value.
func (s *DescribeModelVersionOutput) SetSchema(v string) *DescribeModelVersionOutput {
	s.Schema = &v
	return s
}

// SetServerSideKmsKeyId sets the ServerSideKmsKeyId field's value.
func (s *DescribeModelVersionOutput) SetServerSideKmsKeyId(v string) *DescribeModelVersionOutput {
	s.ServerSideKmsKeyId = &v
	return s
}

// SetSourceModelVersionArn sets the SourceModelVersionArn field's value.
func (s *DescribeModelVersionOutput) SetSourceModelVersionArn(v string) *DescribeModelVersionOutput {
	s.SourceModelVersionArn = &v
	return s
}

// SetSourceType sets the SourceType field's value.
func (s *DescribeModelVersionOutput) SetSourceType(v string) *DescribeModelVersionOutput {
	s.SourceType = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *DescribeModelVersionOutput) SetStatus(v string) *DescribeModelVersionOutput {
	s.Status = &v
	return s
}

// SetTrainingDataEndTime sets the TrainingDataEndTime field's value.
func (s *DescribeModelVersionOutput) SetTrainingDataEndTime(v time.Time) *DescribeModelVersionOutput {
	s.TrainingDataEndTime = &v
	return s
}

// SetTrainingDataStartTime sets the TrainingDataStartTime field's value.
func (s *DescribeModelVersionOutput) SetTrainingDataStartTime(v time.Time) *DescribeModelVersionOutput {
	s.TrainingDataStartTime = &v
	return s
}

// SetTrainingExecutionEndTime sets the TrainingExecutionEndTime field's value.
func (s *DescribeModelVersionOutput) SetTrainingExecutionEndTime(v time.Time) *DescribeModelVersionOutput {
	s.TrainingExecutionEndTime = &v
	return s
}

// SetTrainingExecutionStartTime sets the TrainingExecutionStartTime field's value.
func (s *DescribeModelVersionOutput) SetTrainingExecutionStartTime(v time.Time) *DescribeModelVersionOutput {
	s.TrainingExecutionStartTime = &v
	return s
}

type DescribeResourcePolicyInput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the resource that is associated with the
	// resource policy.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeResourcePolicyInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeResourcePolicyInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeResourcePolicyInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DescribeResourcePolicyInput"}
	if s.ResourceArn == nil {
		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
	}
	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetResourceArn sets the ResourceArn field's value.
func (s *DescribeResourcePolicyInput) SetResourceArn(v string) *DescribeResourcePolicyInput {
	s.ResourceArn = &v
	return s
}

type DescribeResourcePolicyOutput struct {
	_ struct{} `type:"structure"`

	// The time when the resource policy was created.
	CreationTime *time.Time `type:"timestamp"`

	// The time when the resource policy was last modified.
	LastModifiedTime *time.Time `type:"timestamp"`

	// A unique identifier for a revision of the resource policy.
	PolicyRevisionId *string `type:"string"`

	// The resource policy in a JSON-formatted string.
	ResourcePolicy *string `min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeResourcePolicyOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeResourcePolicyOutput) GoString() string {
	return s.String()
}

// SetCreationTime sets the CreationTime field's value.
func (s *DescribeResourcePolicyOutput) SetCreationTime(v time.Time) *DescribeResourcePolicyOutput {
	s.CreationTime = &v
	return s
}

// SetLastModifiedTime sets the LastModifiedTime field's value.
func (s *DescribeResourcePolicyOutput) SetLastModifiedTime(v time.Time) *DescribeResourcePolicyOutput {
	s.LastModifiedTime = &v
	return s
}

// SetPolicyRevisionId sets the PolicyRevisionId field's value.
func (s *DescribeResourcePolicyOutput) SetPolicyRevisionId(v string) *DescribeResourcePolicyOutput {
	s.PolicyRevisionId = &v
	return s
}

// SetResourcePolicy sets the ResourcePolicy field's value.
func (s *DescribeResourcePolicyOutput) SetResourcePolicy(v string) *DescribeResourcePolicyOutput {
	s.ResourcePolicy = &v
	return s
}

type DescribeRetrainingSchedulerInput struct {
	_ struct{} `type:"structure"`

	// The name of the model that the retraining scheduler is attached to.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRetrainingSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRetrainingSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeRetrainingSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DescribeRetrainingSchedulerInput"}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetModelName sets the ModelName field's value.
func (s *DescribeRetrainingSchedulerInput) SetModelName(v string) *DescribeRetrainingSchedulerInput {
	s.ModelName = &v
	return s
}

type DescribeRetrainingSchedulerOutput struct {
	_ struct{} `type:"structure"`

	// Indicates the time and date at which the retraining scheduler was created.
	CreatedAt *time.Time `type:"timestamp"`

	// The number of past days of data used for retraining.
	LookbackWindow *string `type:"string"`

	// The ARN of the model that the retraining scheduler is attached to.
	ModelArn *string `min:"20" type:"string"`

	// The name of the model that the retraining scheduler is attached to.
	ModelName *string `min:"1" type:"string"`

	// Indicates how the service uses new models. In MANAGED mode, new models are
	// used for inference if they have better performance than the current model.
	// In MANUAL mode, the new models are not used until they are manually activated
	// (https://docs.aws.amazon.com/lookout-for-equipment/latest/ug/versioning-model.html#model-activation).
	PromoteMode *string `type:"string" enum:"ModelPromoteMode"`

	// The frequency at which the model retraining is set. This follows the ISO
	// 8601 (https://en.wikipedia.org/wiki/ISO_8601#Durations) guidelines.
	RetrainingFrequency *string `min:"1" type:"string"`

	// The start date for the retraining scheduler. Lookout for Equipment truncates
	// the time you provide to the nearest UTC day.
	RetrainingStartDate *time.Time `type:"timestamp"`

	// The status of the retraining scheduler.
	Status *string `type:"string" enum:"RetrainingSchedulerStatus"`

	// Indicates the time and date at which the retraining scheduler was updated.
	UpdatedAt *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRetrainingSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRetrainingSchedulerOutput) GoString() string {
	return s.String()
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *DescribeRetrainingSchedulerOutput) SetCreatedAt(v time.Time) *DescribeRetrainingSchedulerOutput {
	s.CreatedAt = &v
	return s
}

// SetLookbackWindow sets the LookbackWindow field's value.
func (s *DescribeRetrainingSchedulerOutput) SetLookbackWindow(v string) *DescribeRetrainingSchedulerOutput {
	s.LookbackWindow = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *DescribeRetrainingSchedulerOutput) SetModelArn(v string) *DescribeRetrainingSchedulerOutput {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *DescribeRetrainingSchedulerOutput) SetModelName(v string) *DescribeRetrainingSchedulerOutput {
	s.ModelName = &v
	return s
}

// SetPromoteMode sets the PromoteMode field's value.
func (s *DescribeRetrainingSchedulerOutput) SetPromoteMode(v string) *DescribeRetrainingSchedulerOutput {
	s.PromoteMode = &v
	return s
}

// SetRetrainingFrequency sets the RetrainingFrequency field's value.
func (s *DescribeRetrainingSchedulerOutput) SetRetrainingFrequency(v string) *DescribeRetrainingSchedulerOutput {
	s.RetrainingFrequency = &v
	return s
}

// SetRetrainingStartDate sets the RetrainingStartDate field's value.
func (s *DescribeRetrainingSchedulerOutput) SetRetrainingStartDate(v time.Time) *DescribeRetrainingSchedulerOutput {
	s.RetrainingStartDate = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *DescribeRetrainingSchedulerOutput) SetStatus(v string) *DescribeRetrainingSchedulerOutput {
	s.Status = &v
	return s
}

// SetUpdatedAt sets the UpdatedAt field's value.
func (s *DescribeRetrainingSchedulerOutput) SetUpdatedAt(v time.Time) *DescribeRetrainingSchedulerOutput {
	s.UpdatedAt = &v
	return s
}

// Entity that comprises information abount duplicate timestamps in the dataset.
type DuplicateTimestamps struct {
	_ struct{} `type:"structure"`

	// Indicates the total number of duplicate timestamps.
	//
	// TotalNumberOfDuplicateTimestamps is a required field
	TotalNumberOfDuplicateTimestamps *int64 `type:"integer" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DuplicateTimestamps) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DuplicateTimestamps) GoString() string {
	return s.String()
}

// SetTotalNumberOfDuplicateTimestamps sets the TotalNumberOfDuplicateTimestamps field's value.
func (s *DuplicateTimestamps) SetTotalNumberOfDuplicateTimestamps(v int64) *DuplicateTimestamps {
	s.TotalNumberOfDuplicateTimestamps = &v
	return s
}

type ImportDatasetInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the request. If you do not set the client request
	// token, Amazon Lookout for Equipment generates one.
	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`

	// The name of the machine learning dataset to be created. If the dataset already
	// exists, Amazon Lookout for Equipment overwrites the existing dataset. If
	// you don't specify this field, it is filled with the name of the source dataset.
	DatasetName *string `min:"1" type:"string"`

	// Provides the identifier of the KMS key key used to encrypt model data by
	// Amazon Lookout for Equipment.
	ServerSideKmsKeyId *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the dataset to import.
	//
	// SourceDatasetArn is a required field
	SourceDatasetArn *string `min:"20" type:"string" required:"true"`

	// Any tags associated with the dataset to be created.
	Tags []*Tag `type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ImportDatasetInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ImportDatasetInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ImportDatasetInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ImportDatasetInput"}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
	}
	if s.ServerSideKmsKeyId != nil && len(*s.ServerSideKmsKeyId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ServerSideKmsKeyId", 1))
	}
	if s.SourceDatasetArn == nil {
		invalidParams.Add(request.NewErrParamRequired("SourceDatasetArn"))
	}
	if s.SourceDatasetArn != nil && len(*s.SourceDatasetArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("SourceDatasetArn", 20))
	}
	if s.Tags != nil {
		for i, v := range s.Tags {
			if v == nil {
				continue
			}
			if err := v.Validate(); err != nil {
				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
			}
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClientToken sets the ClientToken field's value.
func (s *ImportDatasetInput) SetClientToken(v string) *ImportDatasetInput {
	s.ClientToken = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *ImportDatasetInput) SetDatasetName(v string) *ImportDatasetInput {
	s.DatasetName = &v
	return s
}

// SetServerSideKmsKeyId sets the ServerSideKmsKeyId field's value.
func (s *ImportDatasetInput) SetServerSideKmsKeyId(v string) *ImportDatasetInput {
	s.ServerSideKmsKeyId = &v
	return s
}

// SetSourceDatasetArn sets the SourceDatasetArn field's value.
func (s *ImportDatasetInput) SetSourceDatasetArn(v string) *ImportDatasetInput {
	s.SourceDatasetArn = &v
	return s
}

// SetTags sets the Tags field's value.
func (s *ImportDatasetInput) SetTags(v []*Tag) *ImportDatasetInput {
	s.Tags = v
	return s
}

type ImportDatasetOutput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the dataset that was imported.
	DatasetArn *string `min:"20" type:"string"`

	// The name of the created machine learning dataset.
	DatasetName *string `min:"1" type:"string"`

	// A unique identifier for the job of importing the dataset.
	JobId *string `type:"string"`

	// The status of the ImportDataset operation.
	Status *string `type:"string" enum:"DatasetStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ImportDatasetOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ImportDatasetOutput) GoString() string {
	return s.String()
}

// SetDatasetArn sets the DatasetArn field's value.
func (s *ImportDatasetOutput) SetDatasetArn(v string) *ImportDatasetOutput {
	s.DatasetArn = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *ImportDatasetOutput) SetDatasetName(v string) *ImportDatasetOutput {
	s.DatasetName = &v
	return s
}

// SetJobId sets the JobId field's value.
func (s *ImportDatasetOutput) SetJobId(v string) *ImportDatasetOutput {
	s.JobId = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ImportDatasetOutput) SetStatus(v string) *ImportDatasetOutput {
	s.Status = &v
	return s
}

type ImportModelVersionInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the request. If you do not set the client request
	// token, Amazon Lookout for Equipment generates one.
	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`

	// The name of the dataset for the machine learning model being imported.
	//
	// DatasetName is a required field
	DatasetName *string `min:"1" type:"string" required:"true"`

	// Indicates how to import the accumulated inference data when a model version
	// is imported. The possible values are as follows:
	//
	//    * NO_IMPORT – Don't import the data.
	//
	//    * ADD_WHEN_EMPTY – Only import the data from the source model if there
	//    is no existing data in the target model.
	//
	//    * OVERWRITE – Import the data from the source model and overwrite the
	//    existing data in the target model.
	InferenceDataImportStrategy *string `type:"string" enum:"InferenceDataImportStrategy"`

	// Contains the configuration information for the S3 location being used to
	// hold label data.
	LabelsInputConfiguration *LabelsInputConfiguration `type:"structure"`

	// The name for the machine learning model to be created. If the model already
	// exists, Amazon Lookout for Equipment creates a new version. If you do not
	// specify this field, it is filled with the name of the source model.
	ModelName *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of a role with permission to access the data
	// source being used to create the machine learning model.
	RoleArn *string `min:"20" type:"string"`

	// Provides the identifier of the KMS key key used to encrypt model data by
	// Amazon Lookout for Equipment.
	ServerSideKmsKeyId *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the model version to import.
	//
	// SourceModelVersionArn is a required field
	SourceModelVersionArn *string `min:"20" type:"string" required:"true"`

	// The tags associated with the machine learning model to be created.
	Tags []*Tag `type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ImportModelVersionInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ImportModelVersionInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ImportModelVersionInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ImportModelVersionInput"}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.DatasetName == nil {
		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
	}
	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}
	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
	}
	if s.ServerSideKmsKeyId != nil && len(*s.ServerSideKmsKeyId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ServerSideKmsKeyId", 1))
	}
	if s.SourceModelVersionArn == nil {
		invalidParams.Add(request.NewErrParamRequired("SourceModelVersionArn"))
	}
	if s.SourceModelVersionArn != nil && len(*s.SourceModelVersionArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("SourceModelVersionArn", 20))
	}
	if s.LabelsInputConfiguration != nil {
		if err := s.LabelsInputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("LabelsInputConfiguration", err.(request.ErrInvalidParams))
		}
	}
	if s.Tags != nil {
		for i, v := range s.Tags {
			if v == nil {
				continue
			}
			if err := v.Validate(); err != nil {
				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
			}
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClientToken sets the ClientToken field's value.
func (s *ImportModelVersionInput) SetClientToken(v string) *ImportModelVersionInput {
	s.ClientToken = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *ImportModelVersionInput) SetDatasetName(v string) *ImportModelVersionInput {
	s.DatasetName = &v
	return s
}

// SetInferenceDataImportStrategy sets the InferenceDataImportStrategy field's value.
func (s *ImportModelVersionInput) SetInferenceDataImportStrategy(v string) *ImportModelVersionInput {
	s.InferenceDataImportStrategy = &v
	return s
}

// SetLabelsInputConfiguration sets the LabelsInputConfiguration field's value.
func (s *ImportModelVersionInput) SetLabelsInputConfiguration(v *LabelsInputConfiguration) *ImportModelVersionInput {
	s.LabelsInputConfiguration = v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *ImportModelVersionInput) SetModelName(v string) *ImportModelVersionInput {
	s.ModelName = &v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *ImportModelVersionInput) SetRoleArn(v string) *ImportModelVersionInput {
	s.RoleArn = &v
	return s
}

// SetServerSideKmsKeyId sets the ServerSideKmsKeyId field's value.
func (s *ImportModelVersionInput) SetServerSideKmsKeyId(v string) *ImportModelVersionInput {
	s.ServerSideKmsKeyId = &v
	return s
}

// SetSourceModelVersionArn sets the SourceModelVersionArn field's value.
func (s *ImportModelVersionInput) SetSourceModelVersionArn(v string) *ImportModelVersionInput {
	s.SourceModelVersionArn = &v
	return s
}

// SetTags sets the Tags field's value.
func (s *ImportModelVersionInput) SetTags(v []*Tag) *ImportModelVersionInput {
	s.Tags = v
	return s
}

type ImportModelVersionOutput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the model being created.
	ModelArn *string `min:"20" type:"string"`

	// The name for the machine learning model.
	ModelName *string `min:"1" type:"string"`

	// The version of the model being created.
	ModelVersion *int64 `min:"1" type:"long"`

	// The Amazon Resource Name (ARN) of the model version being created.
	ModelVersionArn *string `min:"20" type:"string"`

	// The status of the ImportModelVersion operation.
	Status *string `type:"string" enum:"ModelVersionStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ImportModelVersionOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ImportModelVersionOutput) GoString() string {
	return s.String()
}

// SetModelArn sets the ModelArn field's value.
func (s *ImportModelVersionOutput) SetModelArn(v string) *ImportModelVersionOutput {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *ImportModelVersionOutput) SetModelName(v string) *ImportModelVersionOutput {
	s.ModelName = &v
	return s
}

// SetModelVersion sets the ModelVersion field's value.
func (s *ImportModelVersionOutput) SetModelVersion(v int64) *ImportModelVersionOutput {
	s.ModelVersion = &v
	return s
}

// SetModelVersionArn sets the ModelVersionArn field's value.
func (s *ImportModelVersionOutput) SetModelVersionArn(v string) *ImportModelVersionOutput {
	s.ModelVersionArn = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ImportModelVersionOutput) SetStatus(v string) *ImportModelVersionOutput {
	s.Status = &v
	return s
}

// Contains information about the specific inference event, including start
// and end time, diagnostics information, event duration and so on.
type InferenceEventSummary struct {
	_ struct{} `type:"structure"`

	// An array which specifies the names and values of all sensors contributing
	// to an inference event.
	Diagnostics *string `min:"1" type:"string"`

	// Indicates the size of an inference event in seconds.
	EventDurationInSeconds *int64 `type:"long"`

	// Indicates the ending time of an inference event.
	EventEndTime *time.Time `type:"timestamp"`

	// Indicates the starting time of an inference event.
	EventStartTime *time.Time `type:"timestamp"`

	// The Amazon Resource Name (ARN) of the inference scheduler being used for
	// the inference event.
	InferenceSchedulerArn *string `min:"20" type:"string"`

	// The name of the inference scheduler being used for the inference events.
	InferenceSchedulerName *string `min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceEventSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceEventSummary) GoString() string {
	return s.String()
}

// SetDiagnostics sets the Diagnostics field's value.
func (s *InferenceEventSummary) SetDiagnostics(v string) *InferenceEventSummary {
	s.Diagnostics = &v
	return s
}

// SetEventDurationInSeconds sets the EventDurationInSeconds field's value.
func (s *InferenceEventSummary) SetEventDurationInSeconds(v int64) *InferenceEventSummary {
	s.EventDurationInSeconds = &v
	return s
}

// SetEventEndTime sets the EventEndTime field's value.
func (s *InferenceEventSummary) SetEventEndTime(v time.Time) *InferenceEventSummary {
	s.EventEndTime = &v
	return s
}

// SetEventStartTime sets the EventStartTime field's value.
func (s *InferenceEventSummary) SetEventStartTime(v time.Time) *InferenceEventSummary {
	s.EventStartTime = &v
	return s
}

// SetInferenceSchedulerArn sets the InferenceSchedulerArn field's value.
func (s *InferenceEventSummary) SetInferenceSchedulerArn(v string) *InferenceEventSummary {
	s.InferenceSchedulerArn = &v
	return s
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *InferenceEventSummary) SetInferenceSchedulerName(v string) *InferenceEventSummary {
	s.InferenceSchedulerName = &v
	return s
}

// Contains information about the specific inference execution, including input
// and output data configuration, inference scheduling information, status,
// and so on.
type InferenceExecutionSummary struct {
	_ struct{} `type:"structure"`

	// The S3 object that the inference execution results were uploaded to.
	CustomerResultObject *S3Object `type:"structure"`

	// Indicates the time reference in the dataset at which the inference execution
	// stopped.
	DataEndTime *time.Time `type:"timestamp"`

	// Specifies configuration information for the input data for the inference
	// scheduler, including delimiter, format, and dataset location.
	DataInputConfiguration *InferenceInputConfiguration `type:"structure"`

	// Specifies configuration information for the output results from for the inference
	// execution, including the output Amazon S3 location.
	DataOutputConfiguration *InferenceOutputConfiguration `type:"structure"`

	// Indicates the time reference in the dataset at which the inference execution
	// began.
	DataStartTime *time.Time `type:"timestamp"`

	// Specifies the reason for failure when an inference execution has failed.
	FailedReason *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the inference scheduler being used for
	// the inference execution.
	InferenceSchedulerArn *string `min:"20" type:"string"`

	// The name of the inference scheduler being used for the inference execution.
	InferenceSchedulerName *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the machine learning model used for the
	// inference execution.
	ModelArn *string `min:"20" type:"string"`

	// The name of the machine learning model being used for the inference execution.
	ModelName *string `min:"1" type:"string"`

	// The model version used for the inference execution.
	ModelVersion *int64 `min:"1" type:"long"`

	// The Amazon Resource Number (ARN) of the model version used for the inference
	// execution.
	ModelVersionArn *string `min:"20" type:"string"`

	// Indicates the start time at which the inference scheduler began the specific
	// inference execution.
	ScheduledStartTime *time.Time `type:"timestamp"`

	// Indicates the status of the inference execution.
	Status *string `type:"string" enum:"InferenceExecutionStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceExecutionSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceExecutionSummary) GoString() string {
	return s.String()
}

// SetCustomerResultObject sets the CustomerResultObject field's value.
func (s *InferenceExecutionSummary) SetCustomerResultObject(v *S3Object) *InferenceExecutionSummary {
	s.CustomerResultObject = v
	return s
}

// SetDataEndTime sets the DataEndTime field's value.
func (s *InferenceExecutionSummary) SetDataEndTime(v time.Time) *InferenceExecutionSummary {
	s.DataEndTime = &v
	return s
}

// SetDataInputConfiguration sets the DataInputConfiguration field's value.
func (s *InferenceExecutionSummary) SetDataInputConfiguration(v *InferenceInputConfiguration) *InferenceExecutionSummary {
	s.DataInputConfiguration = v
	return s
}

// SetDataOutputConfiguration sets the DataOutputConfiguration field's value.
func (s *InferenceExecutionSummary) SetDataOutputConfiguration(v *InferenceOutputConfiguration) *InferenceExecutionSummary {
	s.DataOutputConfiguration = v
	return s
}

// SetDataStartTime sets the DataStartTime field's value.
func (s *InferenceExecutionSummary) SetDataStartTime(v time.Time) *InferenceExecutionSummary {
	s.DataStartTime = &v
	return s
}

// SetFailedReason sets the FailedReason field's value.
func (s *InferenceExecutionSummary) SetFailedReason(v string) *InferenceExecutionSummary {
	s.FailedReason = &v
	return s
}

// SetInferenceSchedulerArn sets the InferenceSchedulerArn field's value.
func (s *InferenceExecutionSummary) SetInferenceSchedulerArn(v string) *InferenceExecutionSummary {
	s.InferenceSchedulerArn = &v
	return s
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *InferenceExecutionSummary) SetInferenceSchedulerName(v string) *InferenceExecutionSummary {
	s.InferenceSchedulerName = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *InferenceExecutionSummary) SetModelArn(v string) *InferenceExecutionSummary {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *InferenceExecutionSummary) SetModelName(v string) *InferenceExecutionSummary {
	s.ModelName = &v
	return s
}

// SetModelVersion sets the ModelVersion field's value.
func (s *InferenceExecutionSummary) SetModelVersion(v int64) *InferenceExecutionSummary {
	s.ModelVersion = &v
	return s
}

// SetModelVersionArn sets the ModelVersionArn field's value.
func (s *InferenceExecutionSummary) SetModelVersionArn(v string) *InferenceExecutionSummary {
	s.ModelVersionArn = &v
	return s
}

// SetScheduledStartTime sets the ScheduledStartTime field's value.
func (s *InferenceExecutionSummary) SetScheduledStartTime(v time.Time) *InferenceExecutionSummary {
	s.ScheduledStartTime = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *InferenceExecutionSummary) SetStatus(v string) *InferenceExecutionSummary {
	s.Status = &v
	return s
}

// Specifies configuration information for the input data for the inference,
// including Amazon S3 location of input data..
type InferenceInputConfiguration struct {
	_ struct{} `type:"structure"`

	// Specifies configuration information for the input data for the inference,
	// including timestamp format and delimiter.
	InferenceInputNameConfiguration *InferenceInputNameConfiguration `type:"structure"`

	// Indicates the difference between your time zone and Coordinated Universal
	// Time (UTC).
	InputTimeZoneOffset *string `type:"string"`

	// Specifies configuration information for the input data for the inference,
	// including Amazon S3 location of input data.
	S3InputConfiguration *InferenceS3InputConfiguration `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceInputConfiguration) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceInputConfiguration) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *InferenceInputConfiguration) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "InferenceInputConfiguration"}
	if s.S3InputConfiguration != nil {
		if err := s.S3InputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("S3InputConfiguration", err.(request.ErrInvalidParams))
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetInferenceInputNameConfiguration sets the InferenceInputNameConfiguration field's value.
func (s *InferenceInputConfiguration) SetInferenceInputNameConfiguration(v *InferenceInputNameConfiguration) *InferenceInputConfiguration {
	s.InferenceInputNameConfiguration = v
	return s
}

// SetInputTimeZoneOffset sets the InputTimeZoneOffset field's value.
func (s *InferenceInputConfiguration) SetInputTimeZoneOffset(v string) *InferenceInputConfiguration {
	s.InputTimeZoneOffset = &v
	return s
}

// SetS3InputConfiguration sets the S3InputConfiguration field's value.
func (s *InferenceInputConfiguration) SetS3InputConfiguration(v *InferenceS3InputConfiguration) *InferenceInputConfiguration {
	s.S3InputConfiguration = v
	return s
}

// Specifies configuration information for the input data for the inference,
// including timestamp format and delimiter.
type InferenceInputNameConfiguration struct {
	_ struct{} `type:"structure"`

	// Indicates the delimiter character used between items in the data.
	ComponentTimestampDelimiter *string `type:"string"`

	// The format of the timestamp, whether Epoch time, or standard, with or without
	// hyphens (-).
	TimestampFormat *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceInputNameConfiguration) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceInputNameConfiguration) GoString() string {
	return s.String()
}

// SetComponentTimestampDelimiter sets the ComponentTimestampDelimiter field's value.
func (s *InferenceInputNameConfiguration) SetComponentTimestampDelimiter(v string) *InferenceInputNameConfiguration {
	s.ComponentTimestampDelimiter = &v
	return s
}

// SetTimestampFormat sets the TimestampFormat field's value.
func (s *InferenceInputNameConfiguration) SetTimestampFormat(v string) *InferenceInputNameConfiguration {
	s.TimestampFormat = &v
	return s
}

// Specifies configuration information for the output results from for the inference,
// including KMS key ID and output S3 location.
type InferenceOutputConfiguration struct {
	_ struct{} `type:"structure"`

	// The ID number for the KMS key key used to encrypt the inference output.
	KmsKeyId *string `min:"1" type:"string"`

	// Specifies configuration information for the output results from for the inference,
	// output S3 location.
	//
	// S3OutputConfiguration is a required field
	S3OutputConfiguration *InferenceS3OutputConfiguration `type:"structure" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceOutputConfiguration) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceOutputConfiguration) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *InferenceOutputConfiguration) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "InferenceOutputConfiguration"}
	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
	}
	if s.S3OutputConfiguration == nil {
		invalidParams.Add(request.NewErrParamRequired("S3OutputConfiguration"))
	}
	if s.S3OutputConfiguration != nil {
		if err := s.S3OutputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("S3OutputConfiguration", err.(request.ErrInvalidParams))
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetKmsKeyId sets the KmsKeyId field's value.
func (s *InferenceOutputConfiguration) SetKmsKeyId(v string) *InferenceOutputConfiguration {
	s.KmsKeyId = &v
	return s
}

// SetS3OutputConfiguration sets the S3OutputConfiguration field's value.
func (s *InferenceOutputConfiguration) SetS3OutputConfiguration(v *InferenceS3OutputConfiguration) *InferenceOutputConfiguration {
	s.S3OutputConfiguration = v
	return s
}

// Specifies configuration information for the input data for the inference,
// including input data S3 location.
type InferenceS3InputConfiguration struct {
	_ struct{} `type:"structure"`

	// The bucket containing the input dataset for the inference.
	//
	// Bucket is a required field
	Bucket *string `min:"3" type:"string" required:"true"`

	// The prefix for the S3 bucket used for the input data for the inference.
	Prefix *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceS3InputConfiguration) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceS3InputConfiguration) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *InferenceS3InputConfiguration) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "InferenceS3InputConfiguration"}
	if s.Bucket == nil {
		invalidParams.Add(request.NewErrParamRequired("Bucket"))
	}
	if s.Bucket != nil && len(*s.Bucket) < 3 {
		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetBucket sets the Bucket field's value.
func (s *InferenceS3InputConfiguration) SetBucket(v string) *InferenceS3InputConfiguration {
	s.Bucket = &v
	return s
}

// SetPrefix sets the Prefix field's value.
func (s *InferenceS3InputConfiguration) SetPrefix(v string) *InferenceS3InputConfiguration {
	s.Prefix = &v
	return s
}

// Specifies configuration information for the output results from the inference,
// including output S3 location.
type InferenceS3OutputConfiguration struct {
	_ struct{} `type:"structure"`

	// The bucket containing the output results from the inference
	//
	// Bucket is a required field
	Bucket *string `min:"3" type:"string" required:"true"`

	// The prefix for the S3 bucket used for the output results from the inference.
	Prefix *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceS3OutputConfiguration) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceS3OutputConfiguration) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *InferenceS3OutputConfiguration) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "InferenceS3OutputConfiguration"}
	if s.Bucket == nil {
		invalidParams.Add(request.NewErrParamRequired("Bucket"))
	}
	if s.Bucket != nil && len(*s.Bucket) < 3 {
		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetBucket sets the Bucket field's value.
func (s *InferenceS3OutputConfiguration) SetBucket(v string) *InferenceS3OutputConfiguration {
	s.Bucket = &v
	return s
}

// SetPrefix sets the Prefix field's value.
func (s *InferenceS3OutputConfiguration) SetPrefix(v string) *InferenceS3OutputConfiguration {
	s.Prefix = &v
	return s
}

// Contains information about the specific inference scheduler, including data
// delay offset, model name and ARN, status, and so on.
type InferenceSchedulerSummary struct {
	_ struct{} `type:"structure"`

	// A period of time (in minutes) by which inference on the data is delayed after
	// the data starts. For instance, if an offset delay time of five minutes was
	// selected, inference will not begin on the data until the first data measurement
	// after the five minute mark. For example, if five minutes is selected, the
	// inference scheduler will wake up at the configured frequency with the additional
	// five minute delay time to check the customer S3 bucket. The customer can
	// upload data at the same frequency and they don't need to stop and restart
	// the scheduler when uploading new data.
	DataDelayOffsetInMinutes *int64 `type:"long"`

	// How often data is uploaded to the source S3 bucket for the input data. This
	// value is the length of time between data uploads. For instance, if you select
	// 5 minutes, Amazon Lookout for Equipment will upload the real-time data to
	// the source bucket once every 5 minutes. This frequency also determines how
	// often Amazon Lookout for Equipment starts a scheduled inference on your data.
	// In this example, it starts once every 5 minutes.
	DataUploadFrequency *string `type:"string" enum:"DataUploadFrequency"`

	// The Amazon Resource Name (ARN) of the inference scheduler.
	InferenceSchedulerArn *string `min:"20" type:"string"`

	// The name of the inference scheduler.
	InferenceSchedulerName *string `min:"1" type:"string"`

	// Indicates whether the latest execution for the inference scheduler was Anomalous
	// (anomalous events found) or Normal (no anomalous events found).
	LatestInferenceResult *string `type:"string" enum:"LatestInferenceResult"`

	// The Amazon Resource Name (ARN) of the machine learning model used by the
	// inference scheduler.
	ModelArn *string `min:"20" type:"string"`

	// The name of the machine learning model used for the inference scheduler.
	ModelName *string `min:"1" type:"string"`

	// Indicates the status of the inference scheduler.
	Status *string `type:"string" enum:"InferenceSchedulerStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceSchedulerSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InferenceSchedulerSummary) GoString() string {
	return s.String()
}

// SetDataDelayOffsetInMinutes sets the DataDelayOffsetInMinutes field's value.
func (s *InferenceSchedulerSummary) SetDataDelayOffsetInMinutes(v int64) *InferenceSchedulerSummary {
	s.DataDelayOffsetInMinutes = &v
	return s
}

// SetDataUploadFrequency sets the DataUploadFrequency field's value.
func (s *InferenceSchedulerSummary) SetDataUploadFrequency(v string) *InferenceSchedulerSummary {
	s.DataUploadFrequency = &v
	return s
}

// SetInferenceSchedulerArn sets the InferenceSchedulerArn field's value.
func (s *InferenceSchedulerSummary) SetInferenceSchedulerArn(v string) *InferenceSchedulerSummary {
	s.InferenceSchedulerArn = &v
	return s
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *InferenceSchedulerSummary) SetInferenceSchedulerName(v string) *InferenceSchedulerSummary {
	s.InferenceSchedulerName = &v
	return s
}

// SetLatestInferenceResult sets the LatestInferenceResult field's value.
func (s *InferenceSchedulerSummary) SetLatestInferenceResult(v string) *InferenceSchedulerSummary {
	s.LatestInferenceResult = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *InferenceSchedulerSummary) SetModelArn(v string) *InferenceSchedulerSummary {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *InferenceSchedulerSummary) SetModelName(v string) *InferenceSchedulerSummary {
	s.ModelName = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *InferenceSchedulerSummary) SetStatus(v string) *InferenceSchedulerSummary {
	s.Status = &v
	return s
}

// Gives statistics about how many files have been ingested, and which files
// have not been ingested, for a particular ingestion job.
type IngestedFilesSummary struct {
	_ struct{} `type:"structure"`

	// Indicates the number of files that were discarded. A file could be discarded
	// because its format is invalid (for example, a jpg or pdf) or not readable.
	DiscardedFiles []*S3Object `type:"list"`

	// Indicates the number of files that were successfully ingested.
	//
	// IngestedNumberOfFiles is a required field
	IngestedNumberOfFiles *int64 `type:"integer" required:"true"`

	// Indicates the total number of files that were submitted for ingestion.
	//
	// TotalNumberOfFiles is a required field
	TotalNumberOfFiles *int64 `type:"integer" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s IngestedFilesSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s IngestedFilesSummary) GoString() string {
	return s.String()
}

// SetDiscardedFiles sets the DiscardedFiles field's value.
func (s *IngestedFilesSummary) SetDiscardedFiles(v []*S3Object) *IngestedFilesSummary {
	s.DiscardedFiles = v
	return s
}

// SetIngestedNumberOfFiles sets the IngestedNumberOfFiles field's value.
func (s *IngestedFilesSummary) SetIngestedNumberOfFiles(v int64) *IngestedFilesSummary {
	s.IngestedNumberOfFiles = &v
	return s
}

// SetTotalNumberOfFiles sets the TotalNumberOfFiles field's value.
func (s *IngestedFilesSummary) SetTotalNumberOfFiles(v int64) *IngestedFilesSummary {
	s.TotalNumberOfFiles = &v
	return s
}

// Specifies configuration information for the input data for the data ingestion
// job, including input data S3 location.
type IngestionInputConfiguration struct {
	_ struct{} `type:"structure"`

	// The location information for the S3 bucket used for input data for the data
	// ingestion.
	//
	// S3InputConfiguration is a required field
	S3InputConfiguration *IngestionS3InputConfiguration `type:"structure" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s IngestionInputConfiguration) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s IngestionInputConfiguration) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *IngestionInputConfiguration) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "IngestionInputConfiguration"}
	if s.S3InputConfiguration == nil {
		invalidParams.Add(request.NewErrParamRequired("S3InputConfiguration"))
	}
	if s.S3InputConfiguration != nil {
		if err := s.S3InputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("S3InputConfiguration", err.(request.ErrInvalidParams))
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetS3InputConfiguration sets the S3InputConfiguration field's value.
func (s *IngestionInputConfiguration) SetS3InputConfiguration(v *IngestionS3InputConfiguration) *IngestionInputConfiguration {
	s.S3InputConfiguration = v
	return s
}

// Specifies S3 configuration information for the input data for the data ingestion
// job.
type IngestionS3InputConfiguration struct {
	_ struct{} `type:"structure"`

	// The name of the S3 bucket used for the input data for the data ingestion.
	//
	// Bucket is a required field
	Bucket *string `min:"3" type:"string" required:"true"`

	// The pattern for matching the Amazon S3 files that will be used for ingestion.
	// If the schema was created previously without any KeyPattern, then the default
	// KeyPattern {prefix}/{component_name}/* is used to download files from Amazon
	// S3 according to the schema. This field is required when ingestion is being
	// done for the first time.
	//
	// Valid Values: {prefix}/{component_name}_* | {prefix}/{component_name}/* |
	// {prefix}/{component_name}[DELIMITER]* (Allowed delimiters : space, dot, underscore,
	// hyphen)
	KeyPattern *string `min:"1" type:"string"`

	// The prefix for the S3 location being used for the input data for the data
	// ingestion.
	Prefix *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s IngestionS3InputConfiguration) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s IngestionS3InputConfiguration) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *IngestionS3InputConfiguration) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "IngestionS3InputConfiguration"}
	if s.Bucket == nil {
		invalidParams.Add(request.NewErrParamRequired("Bucket"))
	}
	if s.Bucket != nil && len(*s.Bucket) < 3 {
		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
	}
	if s.KeyPattern != nil && len(*s.KeyPattern) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("KeyPattern", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetBucket sets the Bucket field's value.
func (s *IngestionS3InputConfiguration) SetBucket(v string) *IngestionS3InputConfiguration {
	s.Bucket = &v
	return s
}

// SetKeyPattern sets the KeyPattern field's value.
func (s *IngestionS3InputConfiguration) SetKeyPattern(v string) *IngestionS3InputConfiguration {
	s.KeyPattern = &v
	return s
}

// SetPrefix sets the Prefix field's value.
func (s *IngestionS3InputConfiguration) SetPrefix(v string) *IngestionS3InputConfiguration {
	s.Prefix = &v
	return s
}

// Entity that comprises aggregated information on sensors having insufficient
// data.
type InsufficientSensorData struct {
	_ struct{} `type:"structure"`

	// Parameter that describes the total number of sensors that have data completely
	// missing for it.
	//
	// MissingCompleteSensorData is a required field
	MissingCompleteSensorData *MissingCompleteSensorData `type:"structure" required:"true"`

	// Parameter that describes the total number of sensors that have a short date
	// range of less than 90 days of data overall.
	//
	// SensorsWithShortDateRange is a required field
	SensorsWithShortDateRange *SensorsWithShortDateRange `type:"structure" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InsufficientSensorData) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InsufficientSensorData) GoString() string {
	return s.String()
}

// SetMissingCompleteSensorData sets the MissingCompleteSensorData field's value.
func (s *InsufficientSensorData) SetMissingCompleteSensorData(v *MissingCompleteSensorData) *InsufficientSensorData {
	s.MissingCompleteSensorData = v
	return s
}

// SetSensorsWithShortDateRange sets the SensorsWithShortDateRange field's value.
func (s *InsufficientSensorData) SetSensorsWithShortDateRange(v *SensorsWithShortDateRange) *InsufficientSensorData {
	s.SensorsWithShortDateRange = v
	return s
}

// Processing of the request has failed because of an unknown error, exception
// or failure.
type InternalServerException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalServerException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalServerException) GoString() string {
	return s.String()
}

func newErrorInternalServerException(v protocol.ResponseMetadata) error {
	return &InternalServerException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *InternalServerException) Code() string {
	return "InternalServerException"
}

// Message returns the exception's message.
func (s *InternalServerException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InternalServerException) OrigErr() error {
	return nil
}

func (s *InternalServerException) Error() string {
	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}

// Status code returns the HTTP status code for the request's response error.
func (s *InternalServerException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *InternalServerException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Entity that comprises aggregated information on sensors having insufficient
// data.
type InvalidSensorData struct {
	_ struct{} `type:"structure"`

	// Indicates the number of sensors that have at least some invalid values.
	//
	// AffectedSensorCount is a required field
	AffectedSensorCount *int64 `type:"integer" required:"true"`

	// Indicates the total number of invalid values across all the sensors.
	//
	// TotalNumberOfInvalidValues is a required field
	TotalNumberOfInvalidValues *int64 `type:"integer" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvalidSensorData) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvalidSensorData) GoString() string {
	return s.String()
}

// SetAffectedSensorCount sets the AffectedSensorCount field's value.
func (s *InvalidSensorData) SetAffectedSensorCount(v int64) *InvalidSensorData {
	s.AffectedSensorCount = &v
	return s
}

// SetTotalNumberOfInvalidValues sets the TotalNumberOfInvalidValues field's value.
func (s *InvalidSensorData) SetTotalNumberOfInvalidValues(v int64) *InvalidSensorData {
	s.TotalNumberOfInvalidValues = &v
	return s
}

// Contains information about the label group.
type LabelGroupSummary struct {
	_ struct{} `type:"structure"`

	// The time at which the label group was created.
	CreatedAt *time.Time `type:"timestamp"`

	// The Amazon Resource Name (ARN) of the label group.
	LabelGroupArn *string `min:"20" type:"string"`

	// The name of the label group.
	LabelGroupName *string `min:"1" type:"string"`

	// The time at which the label group was updated.
	UpdatedAt *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LabelGroupSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LabelGroupSummary) GoString() string {
	return s.String()
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *LabelGroupSummary) SetCreatedAt(v time.Time) *LabelGroupSummary {
	s.CreatedAt = &v
	return s
}

// SetLabelGroupArn sets the LabelGroupArn field's value.
func (s *LabelGroupSummary) SetLabelGroupArn(v string) *LabelGroupSummary {
	s.LabelGroupArn = &v
	return s
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *LabelGroupSummary) SetLabelGroupName(v string) *LabelGroupSummary {
	s.LabelGroupName = &v
	return s
}

// SetUpdatedAt sets the UpdatedAt field's value.
func (s *LabelGroupSummary) SetUpdatedAt(v time.Time) *LabelGroupSummary {
	s.UpdatedAt = &v
	return s
}

// Information about the label.
type LabelSummary struct {
	_ struct{} `type:"structure"`

	// The time at which the label was created.
	CreatedAt *time.Time `type:"timestamp"`

	// The timestamp indicating the end of the label.
	EndTime *time.Time `type:"timestamp"`

	// Indicates that a label pertains to a particular piece of equipment.
	Equipment *string `min:"1" type:"string"`

	// Indicates the type of anomaly associated with the label.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	FaultCode *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the label group.
	LabelGroupArn *string `min:"20" type:"string"`

	// The name of the label group.
	LabelGroupName *string `min:"1" type:"string"`

	// The ID of the label.
	LabelId *string `type:"string"`

	// Indicates whether a labeled event represents an anomaly.
	Rating *string `type:"string" enum:"LabelRating"`

	// The timestamp indicating the start of the label.
	StartTime *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LabelSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LabelSummary) GoString() string {
	return s.String()
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *LabelSummary) SetCreatedAt(v time.Time) *LabelSummary {
	s.CreatedAt = &v
	return s
}

// SetEndTime sets the EndTime field's value.
func (s *LabelSummary) SetEndTime(v time.Time) *LabelSummary {
	s.EndTime = &v
	return s
}

// SetEquipment sets the Equipment field's value.
func (s *LabelSummary) SetEquipment(v string) *LabelSummary {
	s.Equipment = &v
	return s
}

// SetFaultCode sets the FaultCode field's value.
func (s *LabelSummary) SetFaultCode(v string) *LabelSummary {
	s.FaultCode = &v
	return s
}

// SetLabelGroupArn sets the LabelGroupArn field's value.
func (s *LabelSummary) SetLabelGroupArn(v string) *LabelSummary {
	s.LabelGroupArn = &v
	return s
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *LabelSummary) SetLabelGroupName(v string) *LabelSummary {
	s.LabelGroupName = &v
	return s
}

// SetLabelId sets the LabelId field's value.
func (s *LabelSummary) SetLabelId(v string) *LabelSummary {
	s.LabelId = &v
	return s
}

// SetRating sets the Rating field's value.
func (s *LabelSummary) SetRating(v string) *LabelSummary {
	s.Rating = &v
	return s
}

// SetStartTime sets the StartTime field's value.
func (s *LabelSummary) SetStartTime(v time.Time) *LabelSummary {
	s.StartTime = &v
	return s
}

// Contains the configuration information for the S3 location being used to
// hold label data.
type LabelsInputConfiguration struct {
	_ struct{} `type:"structure"`

	// The name of the label group to be used for label data.
	LabelGroupName *string `min:"1" type:"string"`

	// Contains location information for the S3 location being used for label data.
	S3InputConfiguration *LabelsS3InputConfiguration `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LabelsInputConfiguration) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LabelsInputConfiguration) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *LabelsInputConfiguration) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "LabelsInputConfiguration"}
	if s.LabelGroupName != nil && len(*s.LabelGroupName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LabelGroupName", 1))
	}
	if s.S3InputConfiguration != nil {
		if err := s.S3InputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("S3InputConfiguration", err.(request.ErrInvalidParams))
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *LabelsInputConfiguration) SetLabelGroupName(v string) *LabelsInputConfiguration {
	s.LabelGroupName = &v
	return s
}

// SetS3InputConfiguration sets the S3InputConfiguration field's value.
func (s *LabelsInputConfiguration) SetS3InputConfiguration(v *LabelsS3InputConfiguration) *LabelsInputConfiguration {
	s.S3InputConfiguration = v
	return s
}

// The location information (prefix and bucket name) for the s3 location being
// used for label data.
type LabelsS3InputConfiguration struct {
	_ struct{} `type:"structure"`

	// The name of the S3 bucket holding the label data.
	//
	// Bucket is a required field
	Bucket *string `min:"3" type:"string" required:"true"`

	// The prefix for the S3 bucket used for the label data.
	Prefix *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LabelsS3InputConfiguration) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LabelsS3InputConfiguration) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *LabelsS3InputConfiguration) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "LabelsS3InputConfiguration"}
	if s.Bucket == nil {
		invalidParams.Add(request.NewErrParamRequired("Bucket"))
	}
	if s.Bucket != nil && len(*s.Bucket) < 3 {
		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetBucket sets the Bucket field's value.
func (s *LabelsS3InputConfiguration) SetBucket(v string) *LabelsS3InputConfiguration {
	s.Bucket = &v
	return s
}

// SetPrefix sets the Prefix field's value.
func (s *LabelsS3InputConfiguration) SetPrefix(v string) *LabelsS3InputConfiguration {
	s.Prefix = &v
	return s
}

// Entity that comprises information on large gaps between consecutive timestamps
// in data.
type LargeTimestampGaps struct {
	_ struct{} `type:"structure"`

	// Indicates the size of the largest timestamp gap, in days.
	MaxTimestampGapInDays *int64 `type:"integer"`

	// Indicates the number of large timestamp gaps, if there are any.
	NumberOfLargeTimestampGaps *int64 `type:"integer"`

	// Indicates whether there is a potential data issue related to large gaps in
	// timestamps.
	//
	// Status is a required field
	Status *string `type:"string" required:"true" enum:"StatisticalIssueStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LargeTimestampGaps) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LargeTimestampGaps) GoString() string {
	return s.String()
}

// SetMaxTimestampGapInDays sets the MaxTimestampGapInDays field's value.
func (s *LargeTimestampGaps) SetMaxTimestampGapInDays(v int64) *LargeTimestampGaps {
	s.MaxTimestampGapInDays = &v
	return s
}

// SetNumberOfLargeTimestampGaps sets the NumberOfLargeTimestampGaps field's value.
func (s *LargeTimestampGaps) SetNumberOfLargeTimestampGaps(v int64) *LargeTimestampGaps {
	s.NumberOfLargeTimestampGaps = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *LargeTimestampGaps) SetStatus(v string) *LargeTimestampGaps {
	s.Status = &v
	return s
}

type ListDataIngestionJobsInput struct {
	_ struct{} `type:"structure"`

	// The name of the dataset being used for the data ingestion job.
	DatasetName *string `min:"1" type:"string"`

	// Specifies the maximum number of data ingestion jobs to list.
	MaxResults *int64 `min:"1" type:"integer"`

	// An opaque pagination token indicating where to continue the listing of data
	// ingestion jobs.
	NextToken *string `type:"string"`

	// Indicates the status of the data ingestion job.
	Status *string `type:"string" enum:"IngestionJobStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDataIngestionJobsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDataIngestionJobsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListDataIngestionJobsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListDataIngestionJobsInput"}
	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
	}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetDatasetName sets the DatasetName field's value.
func (s *ListDataIngestionJobsInput) SetDatasetName(v string) *ListDataIngestionJobsInput {
	s.DatasetName = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListDataIngestionJobsInput) SetMaxResults(v int64) *ListDataIngestionJobsInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListDataIngestionJobsInput) SetNextToken(v string) *ListDataIngestionJobsInput {
	s.NextToken = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ListDataIngestionJobsInput) SetStatus(v string) *ListDataIngestionJobsInput {
	s.Status = &v
	return s
}

type ListDataIngestionJobsOutput struct {
	_ struct{} `type:"structure"`

	// Specifies information about the specific data ingestion job, including dataset
	// name and status.
	DataIngestionJobSummaries []*DataIngestionJobSummary `type:"list"`

	// An opaque pagination token indicating where to continue the listing of data
	// ingestion jobs.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDataIngestionJobsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDataIngestionJobsOutput) GoString() string {
	return s.String()
}

// SetDataIngestionJobSummaries sets the DataIngestionJobSummaries field's value.
func (s *ListDataIngestionJobsOutput) SetDataIngestionJobSummaries(v []*DataIngestionJobSummary) *ListDataIngestionJobsOutput {
	s.DataIngestionJobSummaries = v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListDataIngestionJobsOutput) SetNextToken(v string) *ListDataIngestionJobsOutput {
	s.NextToken = &v
	return s
}

type ListDatasetsInput struct {
	_ struct{} `type:"structure"`

	// The beginning of the name of the datasets to be listed.
	DatasetNameBeginsWith *string `min:"1" type:"string"`

	// Specifies the maximum number of datasets to list.
	MaxResults *int64 `min:"1" type:"integer"`

	// An opaque pagination token indicating where to continue the listing of datasets.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDatasetsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDatasetsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListDatasetsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"}
	if s.DatasetNameBeginsWith != nil && len(*s.DatasetNameBeginsWith) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetNameBeginsWith", 1))
	}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetDatasetNameBeginsWith sets the DatasetNameBeginsWith field's value.
func (s *ListDatasetsInput) SetDatasetNameBeginsWith(v string) *ListDatasetsInput {
	s.DatasetNameBeginsWith = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput {
	s.NextToken = &v
	return s
}

type ListDatasetsOutput struct {
	_ struct{} `type:"structure"`

	// Provides information about the specified dataset, including creation time,
	// dataset ARN, and status.
	DatasetSummaries []*DatasetSummary `type:"list"`

	// An opaque pagination token indicating where to continue the listing of datasets.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDatasetsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDatasetsOutput) GoString() string {
	return s.String()
}

// SetDatasetSummaries sets the DatasetSummaries field's value.
func (s *ListDatasetsOutput) SetDatasetSummaries(v []*DatasetSummary) *ListDatasetsOutput {
	s.DatasetSummaries = v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput {
	s.NextToken = &v
	return s
}

type ListInferenceEventsInput struct {
	_ struct{} `type:"structure"`

	// The name of the inference scheduler for the inference events listed.
	//
	// InferenceSchedulerName is a required field
	InferenceSchedulerName *string `min:"1" type:"string" required:"true"`

	// Returns all the inference events with an end start time equal to or greater
	// than less than the end time given.
	//
	// IntervalEndTime is a required field
	IntervalEndTime *time.Time `type:"timestamp" required:"true"`

	// Lookout for Equipment will return all the inference events with an end time
	// equal to or greater than the start time given.
	//
	// IntervalStartTime is a required field
	IntervalStartTime *time.Time `type:"timestamp" required:"true"`

	// Specifies the maximum number of inference events to list.
	MaxResults *int64 `min:"1" type:"integer"`

	// An opaque pagination token indicating where to continue the listing of inference
	// events.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceEventsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceEventsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListInferenceEventsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListInferenceEventsInput"}
	if s.InferenceSchedulerName == nil {
		invalidParams.Add(request.NewErrParamRequired("InferenceSchedulerName"))
	}
	if s.InferenceSchedulerName != nil && len(*s.InferenceSchedulerName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("InferenceSchedulerName", 1))
	}
	if s.IntervalEndTime == nil {
		invalidParams.Add(request.NewErrParamRequired("IntervalEndTime"))
	}
	if s.IntervalStartTime == nil {
		invalidParams.Add(request.NewErrParamRequired("IntervalStartTime"))
	}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *ListInferenceEventsInput) SetInferenceSchedulerName(v string) *ListInferenceEventsInput {
	s.InferenceSchedulerName = &v
	return s
}

// SetIntervalEndTime sets the IntervalEndTime field's value.
func (s *ListInferenceEventsInput) SetIntervalEndTime(v time.Time) *ListInferenceEventsInput {
	s.IntervalEndTime = &v
	return s
}

// SetIntervalStartTime sets the IntervalStartTime field's value.
func (s *ListInferenceEventsInput) SetIntervalStartTime(v time.Time) *ListInferenceEventsInput {
	s.IntervalStartTime = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListInferenceEventsInput) SetMaxResults(v int64) *ListInferenceEventsInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListInferenceEventsInput) SetNextToken(v string) *ListInferenceEventsInput {
	s.NextToken = &v
	return s
}

type ListInferenceEventsOutput struct {
	_ struct{} `type:"structure"`

	// Provides an array of information about the individual inference events returned
	// from the ListInferenceEvents operation, including scheduler used, event start
	// time, event end time, diagnostics, and so on.
	InferenceEventSummaries []*InferenceEventSummary `type:"list"`

	// An opaque pagination token indicating where to continue the listing of inference
	// executions.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceEventsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceEventsOutput) GoString() string {
	return s.String()
}

// SetInferenceEventSummaries sets the InferenceEventSummaries field's value.
func (s *ListInferenceEventsOutput) SetInferenceEventSummaries(v []*InferenceEventSummary) *ListInferenceEventsOutput {
	s.InferenceEventSummaries = v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListInferenceEventsOutput) SetNextToken(v string) *ListInferenceEventsOutput {
	s.NextToken = &v
	return s
}

type ListInferenceExecutionsInput struct {
	_ struct{} `type:"structure"`

	// The time reference in the inferenced dataset before which Amazon Lookout
	// for Equipment stopped the inference execution.
	DataEndTimeBefore *time.Time `type:"timestamp"`

	// The time reference in the inferenced dataset after which Amazon Lookout for
	// Equipment started the inference execution.
	DataStartTimeAfter *time.Time `type:"timestamp"`

	// The name of the inference scheduler for the inference execution listed.
	//
	// InferenceSchedulerName is a required field
	InferenceSchedulerName *string `min:"1" type:"string" required:"true"`

	// Specifies the maximum number of inference executions to list.
	MaxResults *int64 `min:"1" type:"integer"`

	// An opaque pagination token indicating where to continue the listing of inference
	// executions.
	NextToken *string `type:"string"`

	// The status of the inference execution.
	Status *string `type:"string" enum:"InferenceExecutionStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceExecutionsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceExecutionsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListInferenceExecutionsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListInferenceExecutionsInput"}
	if s.InferenceSchedulerName == nil {
		invalidParams.Add(request.NewErrParamRequired("InferenceSchedulerName"))
	}
	if s.InferenceSchedulerName != nil && len(*s.InferenceSchedulerName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("InferenceSchedulerName", 1))
	}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetDataEndTimeBefore sets the DataEndTimeBefore field's value.
func (s *ListInferenceExecutionsInput) SetDataEndTimeBefore(v time.Time) *ListInferenceExecutionsInput {
	s.DataEndTimeBefore = &v
	return s
}

// SetDataStartTimeAfter sets the DataStartTimeAfter field's value.
func (s *ListInferenceExecutionsInput) SetDataStartTimeAfter(v time.Time) *ListInferenceExecutionsInput {
	s.DataStartTimeAfter = &v
	return s
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *ListInferenceExecutionsInput) SetInferenceSchedulerName(v string) *ListInferenceExecutionsInput {
	s.InferenceSchedulerName = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListInferenceExecutionsInput) SetMaxResults(v int64) *ListInferenceExecutionsInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListInferenceExecutionsInput) SetNextToken(v string) *ListInferenceExecutionsInput {
	s.NextToken = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ListInferenceExecutionsInput) SetStatus(v string) *ListInferenceExecutionsInput {
	s.Status = &v
	return s
}

type ListInferenceExecutionsOutput struct {
	_ struct{} `type:"structure"`

	// Provides an array of information about the individual inference executions
	// returned from the ListInferenceExecutions operation, including model used,
	// inference scheduler, data configuration, and so on.
	InferenceExecutionSummaries []*InferenceExecutionSummary `type:"list"`

	// An opaque pagination token indicating where to continue the listing of inference
	// executions.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceExecutionsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceExecutionsOutput) GoString() string {
	return s.String()
}

// SetInferenceExecutionSummaries sets the InferenceExecutionSummaries field's value.
func (s *ListInferenceExecutionsOutput) SetInferenceExecutionSummaries(v []*InferenceExecutionSummary) *ListInferenceExecutionsOutput {
	s.InferenceExecutionSummaries = v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListInferenceExecutionsOutput) SetNextToken(v string) *ListInferenceExecutionsOutput {
	s.NextToken = &v
	return s
}

type ListInferenceSchedulersInput struct {
	_ struct{} `type:"structure"`

	// The beginning of the name of the inference schedulers to be listed.
	InferenceSchedulerNameBeginsWith *string `min:"1" type:"string"`

	// Specifies the maximum number of inference schedulers to list.
	MaxResults *int64 `min:"1" type:"integer"`

	// The name of the machine learning model used by the inference scheduler to
	// be listed.
	ModelName *string `min:"1" type:"string"`

	// An opaque pagination token indicating where to continue the listing of inference
	// schedulers.
	NextToken *string `type:"string"`

	// Specifies the current status of the inference schedulers.
	Status *string `type:"string" enum:"InferenceSchedulerStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceSchedulersInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceSchedulersInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListInferenceSchedulersInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListInferenceSchedulersInput"}
	if s.InferenceSchedulerNameBeginsWith != nil && len(*s.InferenceSchedulerNameBeginsWith) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("InferenceSchedulerNameBeginsWith", 1))
	}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetInferenceSchedulerNameBeginsWith sets the InferenceSchedulerNameBeginsWith field's value.
func (s *ListInferenceSchedulersInput) SetInferenceSchedulerNameBeginsWith(v string) *ListInferenceSchedulersInput {
	s.InferenceSchedulerNameBeginsWith = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListInferenceSchedulersInput) SetMaxResults(v int64) *ListInferenceSchedulersInput {
	s.MaxResults = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *ListInferenceSchedulersInput) SetModelName(v string) *ListInferenceSchedulersInput {
	s.ModelName = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListInferenceSchedulersInput) SetNextToken(v string) *ListInferenceSchedulersInput {
	s.NextToken = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ListInferenceSchedulersInput) SetStatus(v string) *ListInferenceSchedulersInput {
	s.Status = &v
	return s
}

type ListInferenceSchedulersOutput struct {
	_ struct{} `type:"structure"`

	// Provides information about the specified inference scheduler, including data
	// upload frequency, model name and ARN, and status.
	InferenceSchedulerSummaries []*InferenceSchedulerSummary `type:"list"`

	// An opaque pagination token indicating where to continue the listing of inference
	// schedulers.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceSchedulersOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInferenceSchedulersOutput) GoString() string {
	return s.String()
}

// SetInferenceSchedulerSummaries sets the InferenceSchedulerSummaries field's value.
func (s *ListInferenceSchedulersOutput) SetInferenceSchedulerSummaries(v []*InferenceSchedulerSummary) *ListInferenceSchedulersOutput {
	s.InferenceSchedulerSummaries = v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListInferenceSchedulersOutput) SetNextToken(v string) *ListInferenceSchedulersOutput {
	s.NextToken = &v
	return s
}

type ListLabelGroupsInput struct {
	_ struct{} `type:"structure"`

	// The beginning of the name of the label groups to be listed.
	LabelGroupNameBeginsWith *string `min:"1" type:"string"`

	// Specifies the maximum number of label groups to list.
	MaxResults *int64 `min:"1" type:"integer"`

	// An opaque pagination token indicating where to continue the listing of label
	// groups.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLabelGroupsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLabelGroupsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListLabelGroupsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListLabelGroupsInput"}
	if s.LabelGroupNameBeginsWith != nil && len(*s.LabelGroupNameBeginsWith) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LabelGroupNameBeginsWith", 1))
	}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetLabelGroupNameBeginsWith sets the LabelGroupNameBeginsWith field's value.
func (s *ListLabelGroupsInput) SetLabelGroupNameBeginsWith(v string) *ListLabelGroupsInput {
	s.LabelGroupNameBeginsWith = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListLabelGroupsInput) SetMaxResults(v int64) *ListLabelGroupsInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListLabelGroupsInput) SetNextToken(v string) *ListLabelGroupsInput {
	s.NextToken = &v
	return s
}

type ListLabelGroupsOutput struct {
	_ struct{} `type:"structure"`

	// A summary of the label groups.
	LabelGroupSummaries []*LabelGroupSummary `type:"list"`

	// An opaque pagination token indicating where to continue the listing of label
	// groups.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLabelGroupsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLabelGroupsOutput) GoString() string {
	return s.String()
}

// SetLabelGroupSummaries sets the LabelGroupSummaries field's value.
func (s *ListLabelGroupsOutput) SetLabelGroupSummaries(v []*LabelGroupSummary) *ListLabelGroupsOutput {
	s.LabelGroupSummaries = v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListLabelGroupsOutput) SetNextToken(v string) *ListLabelGroupsOutput {
	s.NextToken = &v
	return s
}

type ListLabelsInput struct {
	_ struct{} `type:"structure"`

	// Lists the labels that pertain to a particular piece of equipment.
	Equipment *string `min:"1" type:"string"`

	// Returns labels with a particular fault code.
	FaultCode *string `min:"1" type:"string"`

	// Returns all labels with a start time earlier than the end time given.
	IntervalEndTime *time.Time `type:"timestamp"`

	// Returns all the labels with a end time equal to or later than the start time
	// given.
	IntervalStartTime *time.Time `type:"timestamp"`

	// Retruns the name of the label group.
	//
	// LabelGroupName is a required field
	LabelGroupName *string `min:"1" type:"string" required:"true"`

	// Specifies the maximum number of labels to list.
	MaxResults *int64 `min:"1" type:"integer"`

	// An opaque pagination token indicating where to continue the listing of label
	// groups.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLabelsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLabelsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListLabelsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListLabelsInput"}
	if s.Equipment != nil && len(*s.Equipment) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Equipment", 1))
	}
	if s.FaultCode != nil && len(*s.FaultCode) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("FaultCode", 1))
	}
	if s.LabelGroupName == nil {
		invalidParams.Add(request.NewErrParamRequired("LabelGroupName"))
	}
	if s.LabelGroupName != nil && len(*s.LabelGroupName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LabelGroupName", 1))
	}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetEquipment sets the Equipment field's value.
func (s *ListLabelsInput) SetEquipment(v string) *ListLabelsInput {
	s.Equipment = &v
	return s
}

// SetFaultCode sets the FaultCode field's value.
func (s *ListLabelsInput) SetFaultCode(v string) *ListLabelsInput {
	s.FaultCode = &v
	return s
}

// SetIntervalEndTime sets the IntervalEndTime field's value.
func (s *ListLabelsInput) SetIntervalEndTime(v time.Time) *ListLabelsInput {
	s.IntervalEndTime = &v
	return s
}

// SetIntervalStartTime sets the IntervalStartTime field's value.
func (s *ListLabelsInput) SetIntervalStartTime(v time.Time) *ListLabelsInput {
	s.IntervalStartTime = &v
	return s
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *ListLabelsInput) SetLabelGroupName(v string) *ListLabelsInput {
	s.LabelGroupName = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListLabelsInput) SetMaxResults(v int64) *ListLabelsInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListLabelsInput) SetNextToken(v string) *ListLabelsInput {
	s.NextToken = &v
	return s
}

type ListLabelsOutput struct {
	_ struct{} `type:"structure"`

	// A summary of the items in the label group.
	LabelSummaries []*LabelSummary `type:"list"`

	// An opaque pagination token indicating where to continue the listing of datasets.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLabelsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLabelsOutput) GoString() string {
	return s.String()
}

// SetLabelSummaries sets the LabelSummaries field's value.
func (s *ListLabelsOutput) SetLabelSummaries(v []*LabelSummary) *ListLabelsOutput {
	s.LabelSummaries = v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListLabelsOutput) SetNextToken(v string) *ListLabelsOutput {
	s.NextToken = &v
	return s
}

type ListModelVersionsInput struct {
	_ struct{} `type:"structure"`

	// Filter results to return all the model versions created before this time.
	CreatedAtEndTime *time.Time `type:"timestamp"`

	// Filter results to return all the model versions created after this time.
	CreatedAtStartTime *time.Time `type:"timestamp"`

	// Specifies the highest version of the model to return in the list.
	MaxModelVersion *int64 `min:"1" type:"long"`

	// Specifies the maximum number of machine learning model versions to list.
	MaxResults *int64 `min:"1" type:"integer"`

	// Specifies the lowest version of the model to return in the list.
	MinModelVersion *int64 `min:"1" type:"long"`

	// Then name of the machine learning model for which the model versions are
	// to be listed.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`

	// If the total number of results exceeds the limit that the response can display,
	// the response returns an opaque pagination token indicating where to continue
	// the listing of machine learning model versions. Use this token in the NextToken
	// field in the request to list the next page of results.
	NextToken *string `type:"string"`

	// Filter the results based on the way the model version was generated.
	SourceType *string `type:"string" enum:"ModelVersionSourceType"`

	// Filter the results based on the current status of the model version.
	Status *string `type:"string" enum:"ModelVersionStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListModelVersionsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListModelVersionsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListModelVersionsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListModelVersionsInput"}
	if s.MaxModelVersion != nil && *s.MaxModelVersion < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxModelVersion", 1))
	}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}
	if s.MinModelVersion != nil && *s.MinModelVersion < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MinModelVersion", 1))
	}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetCreatedAtEndTime sets the CreatedAtEndTime field's value.
func (s *ListModelVersionsInput) SetCreatedAtEndTime(v time.Time) *ListModelVersionsInput {
	s.CreatedAtEndTime = &v
	return s
}

// SetCreatedAtStartTime sets the CreatedAtStartTime field's value.
func (s *ListModelVersionsInput) SetCreatedAtStartTime(v time.Time) *ListModelVersionsInput {
	s.CreatedAtStartTime = &v
	return s
}

// SetMaxModelVersion sets the MaxModelVersion field's value.
func (s *ListModelVersionsInput) SetMaxModelVersion(v int64) *ListModelVersionsInput {
	s.MaxModelVersion = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListModelVersionsInput) SetMaxResults(v int64) *ListModelVersionsInput {
	s.MaxResults = &v
	return s
}

// SetMinModelVersion sets the MinModelVersion field's value.
func (s *ListModelVersionsInput) SetMinModelVersion(v int64) *ListModelVersionsInput {
	s.MinModelVersion = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *ListModelVersionsInput) SetModelName(v string) *ListModelVersionsInput {
	s.ModelName = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListModelVersionsInput) SetNextToken(v string) *ListModelVersionsInput {
	s.NextToken = &v
	return s
}

// SetSourceType sets the SourceType field's value.
func (s *ListModelVersionsInput) SetSourceType(v string) *ListModelVersionsInput {
	s.SourceType = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ListModelVersionsInput) SetStatus(v string) *ListModelVersionsInput {
	s.Status = &v
	return s
}

type ListModelVersionsOutput struct {
	_ struct{} `type:"structure"`

	// Provides information on the specified model version, including the created
	// time, model and dataset ARNs, and status.
	ModelVersionSummaries []*ModelVersionSummary `type:"list"`

	// If the total number of results exceeds the limit that the response can display,
	// the response returns an opaque pagination token indicating where to continue
	// the listing of machine learning model versions. Use this token in the NextToken
	// field in the request to list the next page of results.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListModelVersionsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListModelVersionsOutput) GoString() string {
	return s.String()
}

// SetModelVersionSummaries sets the ModelVersionSummaries field's value.
func (s *ListModelVersionsOutput) SetModelVersionSummaries(v []*ModelVersionSummary) *ListModelVersionsOutput {
	s.ModelVersionSummaries = v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListModelVersionsOutput) SetNextToken(v string) *ListModelVersionsOutput {
	s.NextToken = &v
	return s
}

type ListModelsInput struct {
	_ struct{} `type:"structure"`

	// The beginning of the name of the dataset of the machine learning models to
	// be listed.
	DatasetNameBeginsWith *string `min:"1" type:"string"`

	// Specifies the maximum number of machine learning models to list.
	MaxResults *int64 `min:"1" type:"integer"`

	// The beginning of the name of the machine learning models being listed.
	ModelNameBeginsWith *string `min:"1" type:"string"`

	// An opaque pagination token indicating where to continue the listing of machine
	// learning models.
	NextToken *string `type:"string"`

	// The status of the machine learning model.
	Status *string `type:"string" enum:"ModelStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListModelsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListModelsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListModelsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListModelsInput"}
	if s.DatasetNameBeginsWith != nil && len(*s.DatasetNameBeginsWith) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetNameBeginsWith", 1))
	}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}
	if s.ModelNameBeginsWith != nil && len(*s.ModelNameBeginsWith) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelNameBeginsWith", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetDatasetNameBeginsWith sets the DatasetNameBeginsWith field's value.
func (s *ListModelsInput) SetDatasetNameBeginsWith(v string) *ListModelsInput {
	s.DatasetNameBeginsWith = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListModelsInput) SetMaxResults(v int64) *ListModelsInput {
	s.MaxResults = &v
	return s
}

// SetModelNameBeginsWith sets the ModelNameBeginsWith field's value.
func (s *ListModelsInput) SetModelNameBeginsWith(v string) *ListModelsInput {
	s.ModelNameBeginsWith = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListModelsInput) SetNextToken(v string) *ListModelsInput {
	s.NextToken = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ListModelsInput) SetStatus(v string) *ListModelsInput {
	s.Status = &v
	return s
}

type ListModelsOutput struct {
	_ struct{} `type:"structure"`

	// Provides information on the specified model, including created time, model
	// and dataset ARNs, and status.
	ModelSummaries []*ModelSummary `type:"list"`

	// An opaque pagination token indicating where to continue the listing of machine
	// learning models.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListModelsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListModelsOutput) GoString() string {
	return s.String()
}

// SetModelSummaries sets the ModelSummaries field's value.
func (s *ListModelsOutput) SetModelSummaries(v []*ModelSummary) *ListModelsOutput {
	s.ModelSummaries = v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListModelsOutput) SetNextToken(v string) *ListModelsOutput {
	s.NextToken = &v
	return s
}

type ListRetrainingSchedulersInput struct {
	_ struct{} `type:"structure"`

	// Specifies the maximum number of retraining schedulers to list.
	MaxResults *int64 `min:"1" type:"integer"`

	// Specify this field to only list retraining schedulers whose machine learning
	// models begin with the value you specify.
	ModelNameBeginsWith *string `min:"1" type:"string"`

	// If the number of results exceeds the maximum, a pagination token is returned.
	// Use the token in the request to show the next page of retraining schedulers.
	NextToken *string `type:"string"`

	// Specify this field to only list retraining schedulers whose status matches
	// the value you specify.
	Status *string `type:"string" enum:"RetrainingSchedulerStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListRetrainingSchedulersInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListRetrainingSchedulersInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListRetrainingSchedulersInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListRetrainingSchedulersInput"}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}
	if s.ModelNameBeginsWith != nil && len(*s.ModelNameBeginsWith) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelNameBeginsWith", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListRetrainingSchedulersInput) SetMaxResults(v int64) *ListRetrainingSchedulersInput {
	s.MaxResults = &v
	return s
}

// SetModelNameBeginsWith sets the ModelNameBeginsWith field's value.
func (s *ListRetrainingSchedulersInput) SetModelNameBeginsWith(v string) *ListRetrainingSchedulersInput {
	s.ModelNameBeginsWith = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListRetrainingSchedulersInput) SetNextToken(v string) *ListRetrainingSchedulersInput {
	s.NextToken = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ListRetrainingSchedulersInput) SetStatus(v string) *ListRetrainingSchedulersInput {
	s.Status = &v
	return s
}

type ListRetrainingSchedulersOutput struct {
	_ struct{} `type:"structure"`

	// If the number of results exceeds the maximum, this pagination token is returned.
	// Use this token in the request to show the next page of retraining schedulers.
	NextToken *string `type:"string"`

	// Provides information on the specified retraining scheduler, including the
	// model name, model ARN, status, and start date.
	RetrainingSchedulerSummaries []*RetrainingSchedulerSummary `type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListRetrainingSchedulersOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListRetrainingSchedulersOutput) GoString() string {
	return s.String()
}

// SetNextToken sets the NextToken field's value.
func (s *ListRetrainingSchedulersOutput) SetNextToken(v string) *ListRetrainingSchedulersOutput {
	s.NextToken = &v
	return s
}

// SetRetrainingSchedulerSummaries sets the RetrainingSchedulerSummaries field's value.
func (s *ListRetrainingSchedulersOutput) SetRetrainingSchedulerSummaries(v []*RetrainingSchedulerSummary) *ListRetrainingSchedulersOutput {
	s.RetrainingSchedulerSummaries = v
	return s
}

type ListSensorStatisticsInput struct {
	_ struct{} `type:"structure"`

	// The name of the dataset associated with the list of Sensor Statistics.
	//
	// DatasetName is a required field
	DatasetName *string `min:"1" type:"string" required:"true"`

	// The ingestion job id associated with the list of Sensor Statistics. To get
	// sensor statistics for a particular ingestion job id, both dataset name and
	// ingestion job id must be submitted as inputs.
	IngestionJobId *string `type:"string"`

	// Specifies the maximum number of sensors for which to retrieve statistics.
	MaxResults *int64 `min:"1" type:"integer"`

	// An opaque pagination token indicating where to continue the listing of sensor
	// statistics.
	NextToken *string `type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListSensorStatisticsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListSensorStatisticsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListSensorStatisticsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListSensorStatisticsInput"}
	if s.DatasetName == nil {
		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
	}
	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
	}
	if s.MaxResults != nil && *s.MaxResults < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetDatasetName sets the DatasetName field's value.
func (s *ListSensorStatisticsInput) SetDatasetName(v string) *ListSensorStatisticsInput {
	s.DatasetName = &v
	return s
}

// SetIngestionJobId sets the IngestionJobId field's value.
func (s *ListSensorStatisticsInput) SetIngestionJobId(v string) *ListSensorStatisticsInput {
	s.IngestionJobId = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListSensorStatisticsInput) SetMaxResults(v int64) *ListSensorStatisticsInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListSensorStatisticsInput) SetNextToken(v string) *ListSensorStatisticsInput {
	s.NextToken = &v
	return s
}

type ListSensorStatisticsOutput struct {
	_ struct{} `type:"structure"`

	// An opaque pagination token indicating where to continue the listing of sensor
	// statistics.
	NextToken *string `type:"string"`

	// Provides ingestion-based statistics regarding the specified sensor with respect
	// to various validation types, such as whether data exists, the number and
	// percentage of missing values, and the number and percentage of duplicate
	// timestamps.
	SensorStatisticsSummaries []*SensorStatisticsSummary `type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListSensorStatisticsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListSensorStatisticsOutput) GoString() string {
	return s.String()
}

// SetNextToken sets the NextToken field's value.
func (s *ListSensorStatisticsOutput) SetNextToken(v string) *ListSensorStatisticsOutput {
	s.NextToken = &v
	return s
}

// SetSensorStatisticsSummaries sets the SensorStatisticsSummaries field's value.
func (s *ListSensorStatisticsOutput) SetSensorStatisticsSummaries(v []*SensorStatisticsSummary) *ListSensorStatisticsOutput {
	s.SensorStatisticsSummaries = v
	return s
}

type ListTagsForResourceInput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the resource (such as the dataset or model)
	// that is the focus of the ListTagsForResource operation.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListTagsForResourceInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
	if s.ResourceArn == nil {
		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
	}
	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetResourceArn sets the ResourceArn field's value.
func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
	s.ResourceArn = &v
	return s
}

type ListTagsForResourceOutput struct {
	_ struct{} `type:"structure"`

	// Any tags associated with the resource.
	Tags []*Tag `type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceOutput) GoString() string {
	return s.String()
}

// SetTags sets the Tags field's value.
func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
	s.Tags = v
	return s
}

// Entity that comprises information on sensors that have sensor data completely
// missing.
type MissingCompleteSensorData struct {
	_ struct{} `type:"structure"`

	// Indicates the number of sensors that have data missing completely.
	//
	// AffectedSensorCount is a required field
	AffectedSensorCount *int64 `type:"integer" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MissingCompleteSensorData) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MissingCompleteSensorData) GoString() string {
	return s.String()
}

// SetAffectedSensorCount sets the AffectedSensorCount field's value.
func (s *MissingCompleteSensorData) SetAffectedSensorCount(v int64) *MissingCompleteSensorData {
	s.AffectedSensorCount = &v
	return s
}

// Entity that comprises aggregated information on sensors having missing data.
type MissingSensorData struct {
	_ struct{} `type:"structure"`

	// Indicates the number of sensors that have atleast some data missing.
	//
	// AffectedSensorCount is a required field
	AffectedSensorCount *int64 `type:"integer" required:"true"`

	// Indicates the total number of missing values across all the sensors.
	//
	// TotalNumberOfMissingValues is a required field
	TotalNumberOfMissingValues *int64 `type:"integer" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MissingSensorData) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MissingSensorData) GoString() string {
	return s.String()
}

// SetAffectedSensorCount sets the AffectedSensorCount field's value.
func (s *MissingSensorData) SetAffectedSensorCount(v int64) *MissingSensorData {
	s.AffectedSensorCount = &v
	return s
}

// SetTotalNumberOfMissingValues sets the TotalNumberOfMissingValues field's value.
func (s *MissingSensorData) SetTotalNumberOfMissingValues(v int64) *MissingSensorData {
	s.TotalNumberOfMissingValues = &v
	return s
}

// Provides information about the specified machine learning model, including
// dataset and model names and ARNs, as well as status.
type ModelSummary struct {
	_ struct{} `type:"structure"`

	// The model version that the inference scheduler uses to run an inference execution.
	ActiveModelVersion *int64 `min:"1" type:"long"`

	// The Amazon Resource Name (ARN) of the model version that is set as active.
	// The active model version is the model version that the inference scheduler
	// uses to run an inference execution.
	ActiveModelVersionArn *string `min:"20" type:"string"`

	// The time at which the specific model was created.
	CreatedAt *time.Time `type:"timestamp"`

	// The Amazon Resource Name (ARN) of the dataset used to create the model.
	DatasetArn *string `min:"20" type:"string"`

	// The name of the dataset being used for the machine learning model.
	DatasetName *string `min:"1" type:"string"`

	// Indicates the most recent model version that was generated by retraining.
	LatestScheduledRetrainingModelVersion *int64 `min:"1" type:"long"`

	// Indicates the start time of the most recent scheduled retraining run.
	LatestScheduledRetrainingStartTime *time.Time `type:"timestamp"`

	// Indicates the status of the most recent scheduled retraining run.
	LatestScheduledRetrainingStatus *string `type:"string" enum:"ModelVersionStatus"`

	// The Amazon Resource Name (ARN) of the machine learning model.
	ModelArn *string `min:"20" type:"string"`

	// The name of the machine learning model.
	ModelName *string `min:"1" type:"string"`

	// Indicates the date that the next scheduled retraining run will start on.
	// Lookout for Equipment truncates the time you provide to the nearest UTC day
	// (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-types.html#parameter-type-timestamp).
	NextScheduledRetrainingStartDate *time.Time `type:"timestamp"`

	// Indicates the status of the retraining scheduler.
	RetrainingSchedulerStatus *string `type:"string" enum:"RetrainingSchedulerStatus"`

	// Indicates the status of the machine learning model.
	Status *string `type:"string" enum:"ModelStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ModelSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ModelSummary) GoString() string {
	return s.String()
}

// SetActiveModelVersion sets the ActiveModelVersion field's value.
func (s *ModelSummary) SetActiveModelVersion(v int64) *ModelSummary {
	s.ActiveModelVersion = &v
	return s
}

// SetActiveModelVersionArn sets the ActiveModelVersionArn field's value.
func (s *ModelSummary) SetActiveModelVersionArn(v string) *ModelSummary {
	s.ActiveModelVersionArn = &v
	return s
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *ModelSummary) SetCreatedAt(v time.Time) *ModelSummary {
	s.CreatedAt = &v
	return s
}

// SetDatasetArn sets the DatasetArn field's value.
func (s *ModelSummary) SetDatasetArn(v string) *ModelSummary {
	s.DatasetArn = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *ModelSummary) SetDatasetName(v string) *ModelSummary {
	s.DatasetName = &v
	return s
}

// SetLatestScheduledRetrainingModelVersion sets the LatestScheduledRetrainingModelVersion field's value.
func (s *ModelSummary) SetLatestScheduledRetrainingModelVersion(v int64) *ModelSummary {
	s.LatestScheduledRetrainingModelVersion = &v
	return s
}

// SetLatestScheduledRetrainingStartTime sets the LatestScheduledRetrainingStartTime field's value.
func (s *ModelSummary) SetLatestScheduledRetrainingStartTime(v time.Time) *ModelSummary {
	s.LatestScheduledRetrainingStartTime = &v
	return s
}

// SetLatestScheduledRetrainingStatus sets the LatestScheduledRetrainingStatus field's value.
func (s *ModelSummary) SetLatestScheduledRetrainingStatus(v string) *ModelSummary {
	s.LatestScheduledRetrainingStatus = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *ModelSummary) SetModelArn(v string) *ModelSummary {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *ModelSummary) SetModelName(v string) *ModelSummary {
	s.ModelName = &v
	return s
}

// SetNextScheduledRetrainingStartDate sets the NextScheduledRetrainingStartDate field's value.
func (s *ModelSummary) SetNextScheduledRetrainingStartDate(v time.Time) *ModelSummary {
	s.NextScheduledRetrainingStartDate = &v
	return s
}

// SetRetrainingSchedulerStatus sets the RetrainingSchedulerStatus field's value.
func (s *ModelSummary) SetRetrainingSchedulerStatus(v string) *ModelSummary {
	s.RetrainingSchedulerStatus = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ModelSummary) SetStatus(v string) *ModelSummary {
	s.Status = &v
	return s
}

// Contains information about the specific model version.
type ModelVersionSummary struct {
	_ struct{} `type:"structure"`

	// The time when this model version was created.
	CreatedAt *time.Time `type:"timestamp"`

	// The Amazon Resource Name (ARN) of the model that this model version is a
	// version of.
	ModelArn *string `min:"20" type:"string"`

	// The name of the model that this model version is a version of.
	ModelName *string `min:"1" type:"string"`

	// The version of the model.
	ModelVersion *int64 `min:"1" type:"long"`

	// The Amazon Resource Name (ARN) of the model version.
	ModelVersionArn *string `min:"20" type:"string"`

	// Indicates how this model version was generated.
	SourceType *string `type:"string" enum:"ModelVersionSourceType"`

	// The current status of the model version.
	Status *string `type:"string" enum:"ModelVersionStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ModelVersionSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ModelVersionSummary) GoString() string {
	return s.String()
}

// SetCreatedAt sets the CreatedAt field's value.
func (s *ModelVersionSummary) SetCreatedAt(v time.Time) *ModelVersionSummary {
	s.CreatedAt = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *ModelVersionSummary) SetModelArn(v string) *ModelVersionSummary {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *ModelVersionSummary) SetModelName(v string) *ModelVersionSummary {
	s.ModelName = &v
	return s
}

// SetModelVersion sets the ModelVersion field's value.
func (s *ModelVersionSummary) SetModelVersion(v int64) *ModelVersionSummary {
	s.ModelVersion = &v
	return s
}

// SetModelVersionArn sets the ModelVersionArn field's value.
func (s *ModelVersionSummary) SetModelVersionArn(v string) *ModelVersionSummary {
	s.ModelVersionArn = &v
	return s
}

// SetSourceType sets the SourceType field's value.
func (s *ModelVersionSummary) SetSourceType(v string) *ModelVersionSummary {
	s.SourceType = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ModelVersionSummary) SetStatus(v string) *ModelVersionSummary {
	s.Status = &v
	return s
}

// Entity that comprises information on monotonic values in the data.
type MonotonicValues struct {
	_ struct{} `type:"structure"`

	// Indicates the monotonicity of values. Can be INCREASING, DECREASING, or STATIC.
	Monotonicity *string `type:"string" enum:"Monotonicity"`

	// Indicates whether there is a potential data issue related to having monotonic
	// values.
	//
	// Status is a required field
	Status *string `type:"string" required:"true" enum:"StatisticalIssueStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MonotonicValues) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MonotonicValues) GoString() string {
	return s.String()
}

// SetMonotonicity sets the Monotonicity field's value.
func (s *MonotonicValues) SetMonotonicity(v string) *MonotonicValues {
	s.Monotonicity = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *MonotonicValues) SetStatus(v string) *MonotonicValues {
	s.Status = &v
	return s
}

// Entity that comprises information on operating modes in data.
type MultipleOperatingModes struct {
	_ struct{} `type:"structure"`

	// Indicates whether there is a potential data issue related to having multiple
	// operating modes.
	//
	// Status is a required field
	Status *string `type:"string" required:"true" enum:"StatisticalIssueStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MultipleOperatingModes) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MultipleOperatingModes) GoString() string {
	return s.String()
}

// SetStatus sets the Status field's value.
func (s *MultipleOperatingModes) SetStatus(v string) *MultipleOperatingModes {
	s.Status = &v
	return s
}

type PutResourcePolicyInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the request. If you do not set the client request
	// token, Amazon Lookout for Equipment generates one.
	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`

	// A unique identifier for a revision of the resource policy.
	PolicyRevisionId *string `type:"string"`

	// The Amazon Resource Name (ARN) of the resource for which the policy is being
	// created.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"20" type:"string" required:"true"`

	// The JSON-formatted resource policy to create.
	//
	// ResourcePolicy is a required field
	ResourcePolicy *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PutResourcePolicyInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PutResourcePolicyInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *PutResourcePolicyInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.ResourceArn == nil {
		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
	}
	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
	}
	if s.ResourcePolicy == nil {
		invalidParams.Add(request.NewErrParamRequired("ResourcePolicy"))
	}
	if s.ResourcePolicy != nil && len(*s.ResourcePolicy) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ResourcePolicy", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClientToken sets the ClientToken field's value.
func (s *PutResourcePolicyInput) SetClientToken(v string) *PutResourcePolicyInput {
	s.ClientToken = &v
	return s
}

// SetPolicyRevisionId sets the PolicyRevisionId field's value.
func (s *PutResourcePolicyInput) SetPolicyRevisionId(v string) *PutResourcePolicyInput {
	s.PolicyRevisionId = &v
	return s
}

// SetResourceArn sets the ResourceArn field's value.
func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput {
	s.ResourceArn = &v
	return s
}

// SetResourcePolicy sets the ResourcePolicy field's value.
func (s *PutResourcePolicyInput) SetResourcePolicy(v string) *PutResourcePolicyInput {
	s.ResourcePolicy = &v
	return s
}

type PutResourcePolicyOutput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for a revision of the resource policy.
	PolicyRevisionId *string `type:"string"`

	// The Amazon Resource Name (ARN) of the resource for which the policy was created.
	ResourceArn *string `min:"20" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PutResourcePolicyOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PutResourcePolicyOutput) GoString() string {
	return s.String()
}

// SetPolicyRevisionId sets the PolicyRevisionId field's value.
func (s *PutResourcePolicyOutput) SetPolicyRevisionId(v string) *PutResourcePolicyOutput {
	s.PolicyRevisionId = &v
	return s
}

// SetResourceArn sets the ResourceArn field's value.
func (s *PutResourcePolicyOutput) SetResourceArn(v string) *PutResourcePolicyOutput {
	s.ResourceArn = &v
	return s
}

// The resource requested could not be found. Verify the resource ID and retry
// your request.
type ResourceNotFoundException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ResourceNotFoundException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ResourceNotFoundException) GoString() string {
	return s.String()
}

func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
	return &ResourceNotFoundException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ResourceNotFoundException) Code() string {
	return "ResourceNotFoundException"
}

// Message returns the exception's message.
func (s *ResourceNotFoundException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ResourceNotFoundException) OrigErr() error {
	return nil
}

func (s *ResourceNotFoundException) Error() string {
	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ResourceNotFoundException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ResourceNotFoundException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Provides information about the specified retraining scheduler, including
// model name, status, start date, frequency, and lookback window.
type RetrainingSchedulerSummary struct {
	_ struct{} `type:"structure"`

	// The number of past days of data used for retraining.
	LookbackWindow *string `type:"string"`

	// The ARN of the model that the retraining scheduler is attached to.
	ModelArn *string `min:"20" type:"string"`

	// The name of the model that the retraining scheduler is attached to.
	ModelName *string `min:"1" type:"string"`

	// The frequency at which the model retraining is set. This follows the ISO
	// 8601 (https://en.wikipedia.org/wiki/ISO_8601#Durations) guidelines.
	RetrainingFrequency *string `min:"1" type:"string"`

	// The start date for the retraining scheduler. Lookout for Equipment truncates
	// the time you provide to the nearest UTC day.
	RetrainingStartDate *time.Time `type:"timestamp"`

	// The status of the retraining scheduler.
	Status *string `type:"string" enum:"RetrainingSchedulerStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrainingSchedulerSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RetrainingSchedulerSummary) GoString() string {
	return s.String()
}

// SetLookbackWindow sets the LookbackWindow field's value.
func (s *RetrainingSchedulerSummary) SetLookbackWindow(v string) *RetrainingSchedulerSummary {
	s.LookbackWindow = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *RetrainingSchedulerSummary) SetModelArn(v string) *RetrainingSchedulerSummary {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *RetrainingSchedulerSummary) SetModelName(v string) *RetrainingSchedulerSummary {
	s.ModelName = &v
	return s
}

// SetRetrainingFrequency sets the RetrainingFrequency field's value.
func (s *RetrainingSchedulerSummary) SetRetrainingFrequency(v string) *RetrainingSchedulerSummary {
	s.RetrainingFrequency = &v
	return s
}

// SetRetrainingStartDate sets the RetrainingStartDate field's value.
func (s *RetrainingSchedulerSummary) SetRetrainingStartDate(v time.Time) *RetrainingSchedulerSummary {
	s.RetrainingStartDate = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *RetrainingSchedulerSummary) SetStatus(v string) *RetrainingSchedulerSummary {
	s.Status = &v
	return s
}

// Contains information about an S3 bucket.
type S3Object struct {
	_ struct{} `type:"structure"`

	// The name of the specific S3 bucket.
	//
	// Bucket is a required field
	Bucket *string `min:"3" type:"string" required:"true"`

	// The Amazon Web Services Key Management Service (KMS key) key being used to
	// encrypt the S3 object. Without this key, data in the bucket is not accessible.
	//
	// Key is a required field
	Key *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3Object) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3Object) GoString() string {
	return s.String()
}

// SetBucket sets the Bucket field's value.
func (s *S3Object) SetBucket(v string) *S3Object {
	s.Bucket = &v
	return s
}

// SetKey sets the Key field's value.
func (s *S3Object) SetKey(v string) *S3Object {
	s.Key = &v
	return s
}

// Summary of ingestion statistics like whether data exists, number of missing
// values, number of invalid values and so on related to the particular sensor.
type SensorStatisticsSummary struct {
	_ struct{} `type:"structure"`

	// Parameter that describes potential risk about whether data associated with
	// the sensor is categorical.
	CategoricalValues *CategoricalValues `type:"structure"`

	// Name of the component to which the particular sensor belongs for which the
	// statistics belong to.
	ComponentName *string `min:"1" type:"string"`

	// Indicates the time reference to indicate the end of valid data associated
	// with the sensor that the statistics belong to.
	DataEndTime *time.Time `type:"timestamp"`

	// Parameter that indicates whether data exists for the sensor that the statistics
	// belong to.
	DataExists *bool `type:"boolean"`

	// Indicates the time reference to indicate the beginning of valid data associated
	// with the sensor that the statistics belong to.
	DataStartTime *time.Time `type:"timestamp"`

	// Parameter that describes the total number of duplicate timestamp records
	// associated with the sensor that the statistics belong to.
	DuplicateTimestamps *CountPercent `type:"structure"`

	// Parameter that describes the total number of invalid date entries associated
	// with the sensor that the statistics belong to.
	InvalidDateEntries *CountPercent `type:"structure"`

	// Parameter that describes the total number of, and percentage of, values that
	// are invalid for the sensor that the statistics belong to.
	InvalidValues *CountPercent `type:"structure"`

	// Parameter that describes potential risk about whether data associated with
	// the sensor contains one or more large gaps between consecutive timestamps.
	LargeTimestampGaps *LargeTimestampGaps `type:"structure"`

	// Parameter that describes the total number of, and percentage of, values that
	// are missing for the sensor that the statistics belong to.
	MissingValues *CountPercent `type:"structure"`

	// Parameter that describes potential risk about whether data associated with
	// the sensor is mostly monotonic.
	MonotonicValues *MonotonicValues `type:"structure"`

	// Parameter that describes potential risk about whether data associated with
	// the sensor has more than one operating mode.
	MultipleOperatingModes *MultipleOperatingModes `type:"structure"`

	// Name of the sensor that the statistics belong to.
	SensorName *string `min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SensorStatisticsSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SensorStatisticsSummary) GoString() string {
	return s.String()
}

// SetCategoricalValues sets the CategoricalValues field's value.
func (s *SensorStatisticsSummary) SetCategoricalValues(v *CategoricalValues) *SensorStatisticsSummary {
	s.CategoricalValues = v
	return s
}

// SetComponentName sets the ComponentName field's value.
func (s *SensorStatisticsSummary) SetComponentName(v string) *SensorStatisticsSummary {
	s.ComponentName = &v
	return s
}

// SetDataEndTime sets the DataEndTime field's value.
func (s *SensorStatisticsSummary) SetDataEndTime(v time.Time) *SensorStatisticsSummary {
	s.DataEndTime = &v
	return s
}

// SetDataExists sets the DataExists field's value.
func (s *SensorStatisticsSummary) SetDataExists(v bool) *SensorStatisticsSummary {
	s.DataExists = &v
	return s
}

// SetDataStartTime sets the DataStartTime field's value.
func (s *SensorStatisticsSummary) SetDataStartTime(v time.Time) *SensorStatisticsSummary {
	s.DataStartTime = &v
	return s
}

// SetDuplicateTimestamps sets the DuplicateTimestamps field's value.
func (s *SensorStatisticsSummary) SetDuplicateTimestamps(v *CountPercent) *SensorStatisticsSummary {
	s.DuplicateTimestamps = v
	return s
}

// SetInvalidDateEntries sets the InvalidDateEntries field's value.
func (s *SensorStatisticsSummary) SetInvalidDateEntries(v *CountPercent) *SensorStatisticsSummary {
	s.InvalidDateEntries = v
	return s
}

// SetInvalidValues sets the InvalidValues field's value.
func (s *SensorStatisticsSummary) SetInvalidValues(v *CountPercent) *SensorStatisticsSummary {
	s.InvalidValues = v
	return s
}

// SetLargeTimestampGaps sets the LargeTimestampGaps field's value.
func (s *SensorStatisticsSummary) SetLargeTimestampGaps(v *LargeTimestampGaps) *SensorStatisticsSummary {
	s.LargeTimestampGaps = v
	return s
}

// SetMissingValues sets the MissingValues field's value.
func (s *SensorStatisticsSummary) SetMissingValues(v *CountPercent) *SensorStatisticsSummary {
	s.MissingValues = v
	return s
}

// SetMonotonicValues sets the MonotonicValues field's value.
func (s *SensorStatisticsSummary) SetMonotonicValues(v *MonotonicValues) *SensorStatisticsSummary {
	s.MonotonicValues = v
	return s
}

// SetMultipleOperatingModes sets the MultipleOperatingModes field's value.
func (s *SensorStatisticsSummary) SetMultipleOperatingModes(v *MultipleOperatingModes) *SensorStatisticsSummary {
	s.MultipleOperatingModes = v
	return s
}

// SetSensorName sets the SensorName field's value.
func (s *SensorStatisticsSummary) SetSensorName(v string) *SensorStatisticsSummary {
	s.SensorName = &v
	return s
}

// Entity that comprises information on sensors that have shorter date range.
type SensorsWithShortDateRange struct {
	_ struct{} `type:"structure"`

	// Indicates the number of sensors that have less than 90 days of data.
	//
	// AffectedSensorCount is a required field
	AffectedSensorCount *int64 `type:"integer" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SensorsWithShortDateRange) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SensorsWithShortDateRange) GoString() string {
	return s.String()
}

// SetAffectedSensorCount sets the AffectedSensorCount field's value.
func (s *SensorsWithShortDateRange) SetAffectedSensorCount(v int64) *SensorsWithShortDateRange {
	s.AffectedSensorCount = &v
	return s
}

// Resource limitations have been exceeded.
type ServiceQuotaExceededException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceQuotaExceededException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceQuotaExceededException) GoString() string {
	return s.String()
}

func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
	return &ServiceQuotaExceededException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ServiceQuotaExceededException) Code() string {
	return "ServiceQuotaExceededException"
}

// Message returns the exception's message.
func (s *ServiceQuotaExceededException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ServiceQuotaExceededException) OrigErr() error {
	return nil
}

func (s *ServiceQuotaExceededException) Error() string {
	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ServiceQuotaExceededException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ServiceQuotaExceededException) RequestID() string {
	return s.RespMetadata.RequestID
}

type StartDataIngestionJobInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the request. If you do not set the client request
	// token, Amazon Lookout for Equipment generates one.
	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`

	// The name of the dataset being used by the data ingestion job.
	//
	// DatasetName is a required field
	DatasetName *string `min:"1" type:"string" required:"true"`

	// Specifies information for the input data for the data ingestion job, including
	// dataset S3 location.
	//
	// IngestionInputConfiguration is a required field
	IngestionInputConfiguration *IngestionInputConfiguration `type:"structure" required:"true"`

	// The Amazon Resource Name (ARN) of a role with permission to access the data
	// source for the data ingestion job.
	//
	// RoleArn is a required field
	RoleArn *string `min:"20" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartDataIngestionJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartDataIngestionJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *StartDataIngestionJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "StartDataIngestionJobInput"}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.DatasetName == nil {
		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
	}
	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
	}
	if s.IngestionInputConfiguration == nil {
		invalidParams.Add(request.NewErrParamRequired("IngestionInputConfiguration"))
	}
	if s.RoleArn == nil {
		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
	}
	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
	}
	if s.IngestionInputConfiguration != nil {
		if err := s.IngestionInputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("IngestionInputConfiguration", err.(request.ErrInvalidParams))
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClientToken sets the ClientToken field's value.
func (s *StartDataIngestionJobInput) SetClientToken(v string) *StartDataIngestionJobInput {
	s.ClientToken = &v
	return s
}

// SetDatasetName sets the DatasetName field's value.
func (s *StartDataIngestionJobInput) SetDatasetName(v string) *StartDataIngestionJobInput {
	s.DatasetName = &v
	return s
}

// SetIngestionInputConfiguration sets the IngestionInputConfiguration field's value.
func (s *StartDataIngestionJobInput) SetIngestionInputConfiguration(v *IngestionInputConfiguration) *StartDataIngestionJobInput {
	s.IngestionInputConfiguration = v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *StartDataIngestionJobInput) SetRoleArn(v string) *StartDataIngestionJobInput {
	s.RoleArn = &v
	return s
}

type StartDataIngestionJobOutput struct {
	_ struct{} `type:"structure"`

	// Indicates the job ID of the data ingestion job.
	JobId *string `type:"string"`

	// Indicates the status of the StartDataIngestionJob operation.
	Status *string `type:"string" enum:"IngestionJobStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartDataIngestionJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartDataIngestionJobOutput) GoString() string {
	return s.String()
}

// SetJobId sets the JobId field's value.
func (s *StartDataIngestionJobOutput) SetJobId(v string) *StartDataIngestionJobOutput {
	s.JobId = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *StartDataIngestionJobOutput) SetStatus(v string) *StartDataIngestionJobOutput {
	s.Status = &v
	return s
}

type StartInferenceSchedulerInput struct {
	_ struct{} `type:"structure"`

	// The name of the inference scheduler to be started.
	//
	// InferenceSchedulerName is a required field
	InferenceSchedulerName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartInferenceSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartInferenceSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *StartInferenceSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "StartInferenceSchedulerInput"}
	if s.InferenceSchedulerName == nil {
		invalidParams.Add(request.NewErrParamRequired("InferenceSchedulerName"))
	}
	if s.InferenceSchedulerName != nil && len(*s.InferenceSchedulerName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("InferenceSchedulerName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *StartInferenceSchedulerInput) SetInferenceSchedulerName(v string) *StartInferenceSchedulerInput {
	s.InferenceSchedulerName = &v
	return s
}

type StartInferenceSchedulerOutput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the inference scheduler being started.
	InferenceSchedulerArn *string `min:"20" type:"string"`

	// The name of the inference scheduler being started.
	InferenceSchedulerName *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the machine learning model being used by
	// the inference scheduler.
	ModelArn *string `min:"20" type:"string"`

	// The name of the machine learning model being used by the inference scheduler.
	ModelName *string `min:"1" type:"string"`

	// Indicates the status of the inference scheduler.
	Status *string `type:"string" enum:"InferenceSchedulerStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartInferenceSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartInferenceSchedulerOutput) GoString() string {
	return s.String()
}

// SetInferenceSchedulerArn sets the InferenceSchedulerArn field's value.
func (s *StartInferenceSchedulerOutput) SetInferenceSchedulerArn(v string) *StartInferenceSchedulerOutput {
	s.InferenceSchedulerArn = &v
	return s
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *StartInferenceSchedulerOutput) SetInferenceSchedulerName(v string) *StartInferenceSchedulerOutput {
	s.InferenceSchedulerName = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *StartInferenceSchedulerOutput) SetModelArn(v string) *StartInferenceSchedulerOutput {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *StartInferenceSchedulerOutput) SetModelName(v string) *StartInferenceSchedulerOutput {
	s.ModelName = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *StartInferenceSchedulerOutput) SetStatus(v string) *StartInferenceSchedulerOutput {
	s.Status = &v
	return s
}

type StartRetrainingSchedulerInput struct {
	_ struct{} `type:"structure"`

	// The name of the model whose retraining scheduler you want to start.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartRetrainingSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartRetrainingSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *StartRetrainingSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "StartRetrainingSchedulerInput"}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetModelName sets the ModelName field's value.
func (s *StartRetrainingSchedulerInput) SetModelName(v string) *StartRetrainingSchedulerInput {
	s.ModelName = &v
	return s
}

type StartRetrainingSchedulerOutput struct {
	_ struct{} `type:"structure"`

	// The ARN of the model whose retraining scheduler is being started.
	ModelArn *string `min:"20" type:"string"`

	// The name of the model whose retraining scheduler is being started.
	ModelName *string `min:"1" type:"string"`

	// The status of the retraining scheduler.
	Status *string `type:"string" enum:"RetrainingSchedulerStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartRetrainingSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartRetrainingSchedulerOutput) GoString() string {
	return s.String()
}

// SetModelArn sets the ModelArn field's value.
func (s *StartRetrainingSchedulerOutput) SetModelArn(v string) *StartRetrainingSchedulerOutput {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *StartRetrainingSchedulerOutput) SetModelName(v string) *StartRetrainingSchedulerOutput {
	s.ModelName = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *StartRetrainingSchedulerOutput) SetStatus(v string) *StartRetrainingSchedulerOutput {
	s.Status = &v
	return s
}

type StopInferenceSchedulerInput struct {
	_ struct{} `type:"structure"`

	// The name of the inference scheduler to be stopped.
	//
	// InferenceSchedulerName is a required field
	InferenceSchedulerName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StopInferenceSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StopInferenceSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *StopInferenceSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "StopInferenceSchedulerInput"}
	if s.InferenceSchedulerName == nil {
		invalidParams.Add(request.NewErrParamRequired("InferenceSchedulerName"))
	}
	if s.InferenceSchedulerName != nil && len(*s.InferenceSchedulerName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("InferenceSchedulerName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *StopInferenceSchedulerInput) SetInferenceSchedulerName(v string) *StopInferenceSchedulerInput {
	s.InferenceSchedulerName = &v
	return s
}

type StopInferenceSchedulerOutput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the inference schedule being stopped.
	InferenceSchedulerArn *string `min:"20" type:"string"`

	// The name of the inference scheduler being stopped.
	InferenceSchedulerName *string `min:"1" type:"string"`

	// The Amazon Resource Name (ARN) of the machine learning model used by the
	// inference scheduler being stopped.
	ModelArn *string `min:"20" type:"string"`

	// The name of the machine learning model used by the inference scheduler being
	// stopped.
	ModelName *string `min:"1" type:"string"`

	// Indicates the status of the inference scheduler.
	Status *string `type:"string" enum:"InferenceSchedulerStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StopInferenceSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StopInferenceSchedulerOutput) GoString() string {
	return s.String()
}

// SetInferenceSchedulerArn sets the InferenceSchedulerArn field's value.
func (s *StopInferenceSchedulerOutput) SetInferenceSchedulerArn(v string) *StopInferenceSchedulerOutput {
	s.InferenceSchedulerArn = &v
	return s
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *StopInferenceSchedulerOutput) SetInferenceSchedulerName(v string) *StopInferenceSchedulerOutput {
	s.InferenceSchedulerName = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *StopInferenceSchedulerOutput) SetModelArn(v string) *StopInferenceSchedulerOutput {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *StopInferenceSchedulerOutput) SetModelName(v string) *StopInferenceSchedulerOutput {
	s.ModelName = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *StopInferenceSchedulerOutput) SetStatus(v string) *StopInferenceSchedulerOutput {
	s.Status = &v
	return s
}

type StopRetrainingSchedulerInput struct {
	_ struct{} `type:"structure"`

	// The name of the model whose retraining scheduler you want to stop.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StopRetrainingSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StopRetrainingSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *StopRetrainingSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "StopRetrainingSchedulerInput"}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetModelName sets the ModelName field's value.
func (s *StopRetrainingSchedulerInput) SetModelName(v string) *StopRetrainingSchedulerInput {
	s.ModelName = &v
	return s
}

type StopRetrainingSchedulerOutput struct {
	_ struct{} `type:"structure"`

	// The ARN of the model whose retraining scheduler is being stopped.
	ModelArn *string `min:"20" type:"string"`

	// The name of the model whose retraining scheduler is being stopped.
	ModelName *string `min:"1" type:"string"`

	// The status of the retraining scheduler.
	Status *string `type:"string" enum:"RetrainingSchedulerStatus"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StopRetrainingSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StopRetrainingSchedulerOutput) GoString() string {
	return s.String()
}

// SetModelArn sets the ModelArn field's value.
func (s *StopRetrainingSchedulerOutput) SetModelArn(v string) *StopRetrainingSchedulerOutput {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *StopRetrainingSchedulerOutput) SetModelName(v string) *StopRetrainingSchedulerOutput {
	s.ModelName = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *StopRetrainingSchedulerOutput) SetStatus(v string) *StopRetrainingSchedulerOutput {
	s.Status = &v
	return s
}

// A tag is a key-value pair that can be added to a resource as metadata.
type Tag struct {
	_ struct{} `type:"structure"`

	// The key for the specified tag.
	//
	// Key is a required field
	Key *string `min:"1" type:"string" required:"true"`

	// The value for the specified tag.
	//
	// Value is a required field
	Value *string `type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Tag) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Tag) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *Tag) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "Tag"}
	if s.Key == nil {
		invalidParams.Add(request.NewErrParamRequired("Key"))
	}
	if s.Key != nil && len(*s.Key) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
	}
	if s.Value == nil {
		invalidParams.Add(request.NewErrParamRequired("Value"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetKey sets the Key field's value.
func (s *Tag) SetKey(v string) *Tag {
	s.Key = &v
	return s
}

// SetValue sets the Value field's value.
func (s *Tag) SetValue(v string) *Tag {
	s.Value = &v
	return s
}

type TagResourceInput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the specific resource to which the tag
	// should be associated.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"1" type:"string" required:"true"`

	// The tag or tags to be associated with a specific resource. Both the tag key
	// and value are specified.
	//
	// Tags is a required field
	Tags []*Tag `type:"list" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *TagResourceInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
	if s.ResourceArn == nil {
		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
	}
	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
	}
	if s.Tags == nil {
		invalidParams.Add(request.NewErrParamRequired("Tags"))
	}
	if s.Tags != nil {
		for i, v := range s.Tags {
			if v == nil {
				continue
			}
			if err := v.Validate(); err != nil {
				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
			}
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetResourceArn sets the ResourceArn field's value.
func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
	s.ResourceArn = &v
	return s
}

// SetTags sets the Tags field's value.
func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
	s.Tags = v
	return s
}

type TagResourceOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceOutput) GoString() string {
	return s.String()
}

// The request was denied due to request throttling.
type ThrottlingException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ThrottlingException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ThrottlingException) GoString() string {
	return s.String()
}

func newErrorThrottlingException(v protocol.ResponseMetadata) error {
	return &ThrottlingException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ThrottlingException) Code() string {
	return "ThrottlingException"
}

// Message returns the exception's message.
func (s *ThrottlingException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ThrottlingException) OrigErr() error {
	return nil
}

func (s *ThrottlingException) Error() string {
	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ThrottlingException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ThrottlingException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Entity that comprises information abount unsupported timestamps in the dataset.
type UnsupportedTimestamps struct {
	_ struct{} `type:"structure"`

	// Indicates the total number of unsupported timestamps across the ingested
	// data.
	//
	// TotalNumberOfUnsupportedTimestamps is a required field
	TotalNumberOfUnsupportedTimestamps *int64 `type:"integer" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UnsupportedTimestamps) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UnsupportedTimestamps) GoString() string {
	return s.String()
}

// SetTotalNumberOfUnsupportedTimestamps sets the TotalNumberOfUnsupportedTimestamps field's value.
func (s *UnsupportedTimestamps) SetTotalNumberOfUnsupportedTimestamps(v int64) *UnsupportedTimestamps {
	s.TotalNumberOfUnsupportedTimestamps = &v
	return s
}

type UntagResourceInput struct {
	_ struct{} `type:"structure"`

	// The Amazon Resource Name (ARN) of the resource to which the tag is currently
	// associated.
	//
	// ResourceArn is a required field
	ResourceArn *string `min:"1" type:"string" required:"true"`

	// Specifies the key of the tag to be removed from a specified resource.
	//
	// TagKeys is a required field
	TagKeys []*string `type:"list" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *UntagResourceInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
	if s.ResourceArn == nil {
		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
	}
	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
	}
	if s.TagKeys == nil {
		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetResourceArn sets the ResourceArn field's value.
func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
	s.ResourceArn = &v
	return s
}

// SetTagKeys sets the TagKeys field's value.
func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
	s.TagKeys = v
	return s
}

type UntagResourceOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceOutput) GoString() string {
	return s.String()
}

type UpdateActiveModelVersionInput struct {
	_ struct{} `type:"structure"`

	// The name of the machine learning model for which the active model version
	// is being set.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`

	// The version of the machine learning model for which the active model version
	// is being set.
	//
	// ModelVersion is a required field
	ModelVersion *int64 `min:"1" type:"long" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateActiveModelVersionInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateActiveModelVersionInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateActiveModelVersionInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "UpdateActiveModelVersionInput"}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}
	if s.ModelVersion == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelVersion"))
	}
	if s.ModelVersion != nil && *s.ModelVersion < 1 {
		invalidParams.Add(request.NewErrParamMinValue("ModelVersion", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetModelName sets the ModelName field's value.
func (s *UpdateActiveModelVersionInput) SetModelName(v string) *UpdateActiveModelVersionInput {
	s.ModelName = &v
	return s
}

// SetModelVersion sets the ModelVersion field's value.
func (s *UpdateActiveModelVersionInput) SetModelVersion(v int64) *UpdateActiveModelVersionInput {
	s.ModelVersion = &v
	return s
}

type UpdateActiveModelVersionOutput struct {
	_ struct{} `type:"structure"`

	// The version that is currently active of the machine learning model for which
	// the active model version was set.
	CurrentActiveVersion *int64 `min:"1" type:"long"`

	// The Amazon Resource Name (ARN) of the machine learning model version that
	// is the current active model version.
	CurrentActiveVersionArn *string `min:"20" type:"string"`

	// The Amazon Resource Name (ARN) of the machine learning model for which the
	// active model version was set.
	ModelArn *string `min:"20" type:"string"`

	// The name of the machine learning model for which the active model version
	// was set.
	ModelName *string `min:"1" type:"string"`

	// The previous version that was active of the machine learning model for which
	// the active model version was set.
	PreviousActiveVersion *int64 `min:"1" type:"long"`

	// The Amazon Resource Name (ARN) of the machine learning model version that
	// was the previous active model version.
	PreviousActiveVersionArn *string `min:"20" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateActiveModelVersionOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateActiveModelVersionOutput) GoString() string {
	return s.String()
}

// SetCurrentActiveVersion sets the CurrentActiveVersion field's value.
func (s *UpdateActiveModelVersionOutput) SetCurrentActiveVersion(v int64) *UpdateActiveModelVersionOutput {
	s.CurrentActiveVersion = &v
	return s
}

// SetCurrentActiveVersionArn sets the CurrentActiveVersionArn field's value.
func (s *UpdateActiveModelVersionOutput) SetCurrentActiveVersionArn(v string) *UpdateActiveModelVersionOutput {
	s.CurrentActiveVersionArn = &v
	return s
}

// SetModelArn sets the ModelArn field's value.
func (s *UpdateActiveModelVersionOutput) SetModelArn(v string) *UpdateActiveModelVersionOutput {
	s.ModelArn = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *UpdateActiveModelVersionOutput) SetModelName(v string) *UpdateActiveModelVersionOutput {
	s.ModelName = &v
	return s
}

// SetPreviousActiveVersion sets the PreviousActiveVersion field's value.
func (s *UpdateActiveModelVersionOutput) SetPreviousActiveVersion(v int64) *UpdateActiveModelVersionOutput {
	s.PreviousActiveVersion = &v
	return s
}

// SetPreviousActiveVersionArn sets the PreviousActiveVersionArn field's value.
func (s *UpdateActiveModelVersionOutput) SetPreviousActiveVersionArn(v string) *UpdateActiveModelVersionOutput {
	s.PreviousActiveVersionArn = &v
	return s
}

type UpdateInferenceSchedulerInput struct {
	_ struct{} `type:"structure"`

	// A period of time (in minutes) by which inference on the data is delayed after
	// the data starts. For instance, if you select an offset delay time of five
	// minutes, inference will not begin on the data until the first data measurement
	// after the five minute mark. For example, if five minutes is selected, the
	// inference scheduler will wake up at the configured frequency with the additional
	// five minute delay time to check the customer S3 bucket. The customer can
	// upload data at the same frequency and they don't need to stop and restart
	// the scheduler when uploading new data.
	DataDelayOffsetInMinutes *int64 `type:"long"`

	// Specifies information for the input data for the inference scheduler, including
	// delimiter, format, and dataset location.
	DataInputConfiguration *InferenceInputConfiguration `type:"structure"`

	// Specifies information for the output results from the inference scheduler,
	// including the output S3 location.
	DataOutputConfiguration *InferenceOutputConfiguration `type:"structure"`

	// How often data is uploaded to the source S3 bucket for the input data. The
	// value chosen is the length of time between data uploads. For instance, if
	// you select 5 minutes, Amazon Lookout for Equipment will upload the real-time
	// data to the source bucket once every 5 minutes. This frequency also determines
	// how often Amazon Lookout for Equipment starts a scheduled inference on your
	// data. In this example, it starts once every 5 minutes.
	DataUploadFrequency *string `type:"string" enum:"DataUploadFrequency"`

	// The name of the inference scheduler to be updated.
	//
	// InferenceSchedulerName is a required field
	InferenceSchedulerName *string `min:"1" type:"string" required:"true"`

	// The Amazon Resource Name (ARN) of a role with permission to access the data
	// source for the inference scheduler.
	RoleArn *string `min:"20" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateInferenceSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateInferenceSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateInferenceSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "UpdateInferenceSchedulerInput"}
	if s.InferenceSchedulerName == nil {
		invalidParams.Add(request.NewErrParamRequired("InferenceSchedulerName"))
	}
	if s.InferenceSchedulerName != nil && len(*s.InferenceSchedulerName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("InferenceSchedulerName", 1))
	}
	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
	}
	if s.DataInputConfiguration != nil {
		if err := s.DataInputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("DataInputConfiguration", err.(request.ErrInvalidParams))
		}
	}
	if s.DataOutputConfiguration != nil {
		if err := s.DataOutputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("DataOutputConfiguration", err.(request.ErrInvalidParams))
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetDataDelayOffsetInMinutes sets the DataDelayOffsetInMinutes field's value.
func (s *UpdateInferenceSchedulerInput) SetDataDelayOffsetInMinutes(v int64) *UpdateInferenceSchedulerInput {
	s.DataDelayOffsetInMinutes = &v
	return s
}

// SetDataInputConfiguration sets the DataInputConfiguration field's value.
func (s *UpdateInferenceSchedulerInput) SetDataInputConfiguration(v *InferenceInputConfiguration) *UpdateInferenceSchedulerInput {
	s.DataInputConfiguration = v
	return s
}

// SetDataOutputConfiguration sets the DataOutputConfiguration field's value.
func (s *UpdateInferenceSchedulerInput) SetDataOutputConfiguration(v *InferenceOutputConfiguration) *UpdateInferenceSchedulerInput {
	s.DataOutputConfiguration = v
	return s
}

// SetDataUploadFrequency sets the DataUploadFrequency field's value.
func (s *UpdateInferenceSchedulerInput) SetDataUploadFrequency(v string) *UpdateInferenceSchedulerInput {
	s.DataUploadFrequency = &v
	return s
}

// SetInferenceSchedulerName sets the InferenceSchedulerName field's value.
func (s *UpdateInferenceSchedulerInput) SetInferenceSchedulerName(v string) *UpdateInferenceSchedulerInput {
	s.InferenceSchedulerName = &v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *UpdateInferenceSchedulerInput) SetRoleArn(v string) *UpdateInferenceSchedulerInput {
	s.RoleArn = &v
	return s
}

type UpdateInferenceSchedulerOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateInferenceSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateInferenceSchedulerOutput) GoString() string {
	return s.String()
}

type UpdateLabelGroupInput struct {
	_ struct{} `type:"structure"`

	// Updates the code indicating the type of anomaly associated with the label.
	//
	// Data in this field will be retained for service usage. Follow best practices
	// for the security of your data.
	FaultCodes []*string `type:"list"`

	// The name of the label group to be updated.
	//
	// LabelGroupName is a required field
	LabelGroupName *string `min:"1" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateLabelGroupInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateLabelGroupInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateLabelGroupInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "UpdateLabelGroupInput"}
	if s.LabelGroupName == nil {
		invalidParams.Add(request.NewErrParamRequired("LabelGroupName"))
	}
	if s.LabelGroupName != nil && len(*s.LabelGroupName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LabelGroupName", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetFaultCodes sets the FaultCodes field's value.
func (s *UpdateLabelGroupInput) SetFaultCodes(v []*string) *UpdateLabelGroupInput {
	s.FaultCodes = v
	return s
}

// SetLabelGroupName sets the LabelGroupName field's value.
func (s *UpdateLabelGroupInput) SetLabelGroupName(v string) *UpdateLabelGroupInput {
	s.LabelGroupName = &v
	return s
}

type UpdateLabelGroupOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateLabelGroupOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateLabelGroupOutput) GoString() string {
	return s.String()
}

type UpdateModelInput struct {
	_ struct{} `type:"structure"`

	// Contains the configuration information for the S3 location being used to
	// hold label data.
	LabelsInputConfiguration *LabelsInputConfiguration `type:"structure"`

	// The name of the model to update.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`

	// The ARN of the model to update.
	RoleArn *string `min:"20" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateModelInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateModelInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateModelInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "UpdateModelInput"}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}
	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
	}
	if s.LabelsInputConfiguration != nil {
		if err := s.LabelsInputConfiguration.Validate(); err != nil {
			invalidParams.AddNested("LabelsInputConfiguration", err.(request.ErrInvalidParams))
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetLabelsInputConfiguration sets the LabelsInputConfiguration field's value.
func (s *UpdateModelInput) SetLabelsInputConfiguration(v *LabelsInputConfiguration) *UpdateModelInput {
	s.LabelsInputConfiguration = v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *UpdateModelInput) SetModelName(v string) *UpdateModelInput {
	s.ModelName = &v
	return s
}

// SetRoleArn sets the RoleArn field's value.
func (s *UpdateModelInput) SetRoleArn(v string) *UpdateModelInput {
	s.RoleArn = &v
	return s
}

type UpdateModelOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateModelOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateModelOutput) GoString() string {
	return s.String()
}

type UpdateRetrainingSchedulerInput struct {
	_ struct{} `type:"structure"`

	// The number of past days of data that will be used for retraining.
	LookbackWindow *string `type:"string"`

	// The name of the model whose retraining scheduler you want to update.
	//
	// ModelName is a required field
	ModelName *string `min:"1" type:"string" required:"true"`

	// Indicates how the service will use new models. In MANAGED mode, new models
	// will automatically be used for inference if they have better performance
	// than the current model. In MANUAL mode, the new models will not be used until
	// they are manually activated (https://docs.aws.amazon.com/lookout-for-equipment/latest/ug/versioning-model.html#model-activation).
	PromoteMode *string `type:"string" enum:"ModelPromoteMode"`

	// This parameter uses the ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601#Durations)
	// standard to set the frequency at which you want retraining to occur in terms
	// of Years, Months, and/or Days (note: other parameters like Time are not currently
	// supported). The minimum value is 30 days (P30D) and the maximum value is
	// 1 year (P1Y). For example, the following values are valid:
	//
	//    * P3M15D – Every 3 months and 15 days
	//
	//    * P2M – Every 2 months
	//
	//    * P150D – Every 150 days
	RetrainingFrequency *string `min:"1" type:"string"`

	// The start date for the retraining scheduler. Lookout for Equipment truncates
	// the time you provide to the nearest UTC day.
	RetrainingStartDate *time.Time `type:"timestamp"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateRetrainingSchedulerInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateRetrainingSchedulerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateRetrainingSchedulerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "UpdateRetrainingSchedulerInput"}
	if s.ModelName == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelName"))
	}
	if s.ModelName != nil && len(*s.ModelName) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ModelName", 1))
	}
	if s.RetrainingFrequency != nil && len(*s.RetrainingFrequency) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("RetrainingFrequency", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetLookbackWindow sets the LookbackWindow field's value.
func (s *UpdateRetrainingSchedulerInput) SetLookbackWindow(v string) *UpdateRetrainingSchedulerInput {
	s.LookbackWindow = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *UpdateRetrainingSchedulerInput) SetModelName(v string) *UpdateRetrainingSchedulerInput {
	s.ModelName = &v
	return s
}

// SetPromoteMode sets the PromoteMode field's value.
func (s *UpdateRetrainingSchedulerInput) SetPromoteMode(v string) *UpdateRetrainingSchedulerInput {
	s.PromoteMode = &v
	return s
}

// SetRetrainingFrequency sets the RetrainingFrequency field's value.
func (s *UpdateRetrainingSchedulerInput) SetRetrainingFrequency(v string) *UpdateRetrainingSchedulerInput {
	s.RetrainingFrequency = &v
	return s
}

// SetRetrainingStartDate sets the RetrainingStartDate field's value.
func (s *UpdateRetrainingSchedulerInput) SetRetrainingStartDate(v time.Time) *UpdateRetrainingSchedulerInput {
	s.RetrainingStartDate = &v
	return s
}

type UpdateRetrainingSchedulerOutput struct {
	_ struct{} `type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateRetrainingSchedulerOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateRetrainingSchedulerOutput) GoString() string {
	return s.String()
}

// The input fails to satisfy constraints specified by Amazon Lookout for Equipment
// or a related Amazon Web Services service that's being utilized.
type ValidationException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" min:"1" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ValidationException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ValidationException) GoString() string {
	return s.String()
}

func newErrorValidationException(v protocol.ResponseMetadata) error {
	return &ValidationException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ValidationException) Code() string {
	return "ValidationException"
}

// Message returns the exception's message.
func (s *ValidationException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ValidationException) OrigErr() error {
	return nil
}

func (s *ValidationException) Error() string {
	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ValidationException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ValidationException) RequestID() string {
	return s.RespMetadata.RequestID
}

const (
	// AutoPromotionResultModelPromoted is a AutoPromotionResult enum value
	AutoPromotionResultModelPromoted = "MODEL_PROMOTED"

	// AutoPromotionResultModelNotPromoted is a AutoPromotionResult enum value
	AutoPromotionResultModelNotPromoted = "MODEL_NOT_PROMOTED"

	// AutoPromotionResultRetrainingInternalError is a AutoPromotionResult enum value
	AutoPromotionResultRetrainingInternalError = "RETRAINING_INTERNAL_ERROR"

	// AutoPromotionResultRetrainingCustomerError is a AutoPromotionResult enum value
	AutoPromotionResultRetrainingCustomerError = "RETRAINING_CUSTOMER_ERROR"

	// AutoPromotionResultRetrainingCancelled is a AutoPromotionResult enum value
	AutoPromotionResultRetrainingCancelled = "RETRAINING_CANCELLED"
)

// AutoPromotionResult_Values returns all elements of the AutoPromotionResult enum
func AutoPromotionResult_Values() []string {
	return []string{
		AutoPromotionResultModelPromoted,
		AutoPromotionResultModelNotPromoted,
		AutoPromotionResultRetrainingInternalError,
		AutoPromotionResultRetrainingCustomerError,
		AutoPromotionResultRetrainingCancelled,
	}
}

const (
	// DataUploadFrequencyPt5m is a DataUploadFrequency enum value
	DataUploadFrequencyPt5m = "PT5M"

	// DataUploadFrequencyPt10m is a DataUploadFrequency enum value
	DataUploadFrequencyPt10m = "PT10M"

	// DataUploadFrequencyPt15m is a DataUploadFrequency enum value
	DataUploadFrequencyPt15m = "PT15M"

	// DataUploadFrequencyPt30m is a DataUploadFrequency enum value
	DataUploadFrequencyPt30m = "PT30M"

	// DataUploadFrequencyPt1h is a DataUploadFrequency enum value
	DataUploadFrequencyPt1h = "PT1H"
)

// DataUploadFrequency_Values returns all elements of the DataUploadFrequency enum
func DataUploadFrequency_Values() []string {
	return []string{
		DataUploadFrequencyPt5m,
		DataUploadFrequencyPt10m,
		DataUploadFrequencyPt15m,
		DataUploadFrequencyPt30m,
		DataUploadFrequencyPt1h,
	}
}

const (
	// DatasetStatusCreated is a DatasetStatus enum value
	DatasetStatusCreated = "CREATED"

	// DatasetStatusIngestionInProgress is a DatasetStatus enum value
	DatasetStatusIngestionInProgress = "INGESTION_IN_PROGRESS"

	// DatasetStatusActive is a DatasetStatus enum value
	DatasetStatusActive = "ACTIVE"

	// DatasetStatusImportInProgress is a DatasetStatus enum value
	DatasetStatusImportInProgress = "IMPORT_IN_PROGRESS"
)

// DatasetStatus_Values returns all elements of the DatasetStatus enum
func DatasetStatus_Values() []string {
	return []string{
		DatasetStatusCreated,
		DatasetStatusIngestionInProgress,
		DatasetStatusActive,
		DatasetStatusImportInProgress,
	}
}

const (
	// InferenceDataImportStrategyNoImport is a InferenceDataImportStrategy enum value
	InferenceDataImportStrategyNoImport = "NO_IMPORT"

	// InferenceDataImportStrategyAddWhenEmpty is a InferenceDataImportStrategy enum value
	InferenceDataImportStrategyAddWhenEmpty = "ADD_WHEN_EMPTY"

	// InferenceDataImportStrategyOverwrite is a InferenceDataImportStrategy enum value
	InferenceDataImportStrategyOverwrite = "OVERWRITE"
)

// InferenceDataImportStrategy_Values returns all elements of the InferenceDataImportStrategy enum
func InferenceDataImportStrategy_Values() []string {
	return []string{
		InferenceDataImportStrategyNoImport,
		InferenceDataImportStrategyAddWhenEmpty,
		InferenceDataImportStrategyOverwrite,
	}
}

const (
	// InferenceExecutionStatusInProgress is a InferenceExecutionStatus enum value
	InferenceExecutionStatusInProgress = "IN_PROGRESS"

	// InferenceExecutionStatusSuccess is a InferenceExecutionStatus enum value
	InferenceExecutionStatusSuccess = "SUCCESS"

	// InferenceExecutionStatusFailed is a InferenceExecutionStatus enum value
	InferenceExecutionStatusFailed = "FAILED"
)

// InferenceExecutionStatus_Values returns all elements of the InferenceExecutionStatus enum
func InferenceExecutionStatus_Values() []string {
	return []string{
		InferenceExecutionStatusInProgress,
		InferenceExecutionStatusSuccess,
		InferenceExecutionStatusFailed,
	}
}

const (
	// InferenceSchedulerStatusPending is a InferenceSchedulerStatus enum value
	InferenceSchedulerStatusPending = "PENDING"

	// InferenceSchedulerStatusRunning is a InferenceSchedulerStatus enum value
	InferenceSchedulerStatusRunning = "RUNNING"

	// InferenceSchedulerStatusStopping is a InferenceSchedulerStatus enum value
	InferenceSchedulerStatusStopping = "STOPPING"

	// InferenceSchedulerStatusStopped is a InferenceSchedulerStatus enum value
	InferenceSchedulerStatusStopped = "STOPPED"
)

// InferenceSchedulerStatus_Values returns all elements of the InferenceSchedulerStatus enum
func InferenceSchedulerStatus_Values() []string {
	return []string{
		InferenceSchedulerStatusPending,
		InferenceSchedulerStatusRunning,
		InferenceSchedulerStatusStopping,
		InferenceSchedulerStatusStopped,
	}
}

const (
	// IngestionJobStatusInProgress is a IngestionJobStatus enum value
	IngestionJobStatusInProgress = "IN_PROGRESS"

	// IngestionJobStatusSuccess is a IngestionJobStatus enum value
	IngestionJobStatusSuccess = "SUCCESS"

	// IngestionJobStatusFailed is a IngestionJobStatus enum value
	IngestionJobStatusFailed = "FAILED"

	// IngestionJobStatusImportInProgress is a IngestionJobStatus enum value
	IngestionJobStatusImportInProgress = "IMPORT_IN_PROGRESS"
)

// IngestionJobStatus_Values returns all elements of the IngestionJobStatus enum
func IngestionJobStatus_Values() []string {
	return []string{
		IngestionJobStatusInProgress,
		IngestionJobStatusSuccess,
		IngestionJobStatusFailed,
		IngestionJobStatusImportInProgress,
	}
}

const (
	// LabelRatingAnomaly is a LabelRating enum value
	LabelRatingAnomaly = "ANOMALY"

	// LabelRatingNoAnomaly is a LabelRating enum value
	LabelRatingNoAnomaly = "NO_ANOMALY"

	// LabelRatingNeutral is a LabelRating enum value
	LabelRatingNeutral = "NEUTRAL"
)

// LabelRating_Values returns all elements of the LabelRating enum
func LabelRating_Values() []string {
	return []string{
		LabelRatingAnomaly,
		LabelRatingNoAnomaly,
		LabelRatingNeutral,
	}
}

const (
	// LatestInferenceResultAnomalous is a LatestInferenceResult enum value
	LatestInferenceResultAnomalous = "ANOMALOUS"

	// LatestInferenceResultNormal is a LatestInferenceResult enum value
	LatestInferenceResultNormal = "NORMAL"
)

// LatestInferenceResult_Values returns all elements of the LatestInferenceResult enum
func LatestInferenceResult_Values() []string {
	return []string{
		LatestInferenceResultAnomalous,
		LatestInferenceResultNormal,
	}
}

const (
	// ModelPromoteModeManaged is a ModelPromoteMode enum value
	ModelPromoteModeManaged = "MANAGED"

	// ModelPromoteModeManual is a ModelPromoteMode enum value
	ModelPromoteModeManual = "MANUAL"
)

// ModelPromoteMode_Values returns all elements of the ModelPromoteMode enum
func ModelPromoteMode_Values() []string {
	return []string{
		ModelPromoteModeManaged,
		ModelPromoteModeManual,
	}
}

const (
	// ModelStatusInProgress is a ModelStatus enum value
	ModelStatusInProgress = "IN_PROGRESS"

	// ModelStatusSuccess is a ModelStatus enum value
	ModelStatusSuccess = "SUCCESS"

	// ModelStatusFailed is a ModelStatus enum value
	ModelStatusFailed = "FAILED"

	// ModelStatusImportInProgress is a ModelStatus enum value
	ModelStatusImportInProgress = "IMPORT_IN_PROGRESS"
)

// ModelStatus_Values returns all elements of the ModelStatus enum
func ModelStatus_Values() []string {
	return []string{
		ModelStatusInProgress,
		ModelStatusSuccess,
		ModelStatusFailed,
		ModelStatusImportInProgress,
	}
}

const (
	// ModelVersionSourceTypeTraining is a ModelVersionSourceType enum value
	ModelVersionSourceTypeTraining = "TRAINING"

	// ModelVersionSourceTypeRetraining is a ModelVersionSourceType enum value
	ModelVersionSourceTypeRetraining = "RETRAINING"

	// ModelVersionSourceTypeImport is a ModelVersionSourceType enum value
	ModelVersionSourceTypeImport = "IMPORT"
)

// ModelVersionSourceType_Values returns all elements of the ModelVersionSourceType enum
func ModelVersionSourceType_Values() []string {
	return []string{
		ModelVersionSourceTypeTraining,
		ModelVersionSourceTypeRetraining,
		ModelVersionSourceTypeImport,
	}
}

const (
	// ModelVersionStatusInProgress is a ModelVersionStatus enum value
	ModelVersionStatusInProgress = "IN_PROGRESS"

	// ModelVersionStatusSuccess is a ModelVersionStatus enum value
	ModelVersionStatusSuccess = "SUCCESS"

	// ModelVersionStatusFailed is a ModelVersionStatus enum value
	ModelVersionStatusFailed = "FAILED"

	// ModelVersionStatusImportInProgress is a ModelVersionStatus enum value
	ModelVersionStatusImportInProgress = "IMPORT_IN_PROGRESS"

	// ModelVersionStatusCanceled is a ModelVersionStatus enum value
	ModelVersionStatusCanceled = "CANCELED"
)

// ModelVersionStatus_Values returns all elements of the ModelVersionStatus enum
func ModelVersionStatus_Values() []string {
	return []string{
		ModelVersionStatusInProgress,
		ModelVersionStatusSuccess,
		ModelVersionStatusFailed,
		ModelVersionStatusImportInProgress,
		ModelVersionStatusCanceled,
	}
}

const (
	// MonotonicityDecreasing is a Monotonicity enum value
	MonotonicityDecreasing = "DECREASING"

	// MonotonicityIncreasing is a Monotonicity enum value
	MonotonicityIncreasing = "INCREASING"

	// MonotonicityStatic is a Monotonicity enum value
	MonotonicityStatic = "STATIC"
)

// Monotonicity_Values returns all elements of the Monotonicity enum
func Monotonicity_Values() []string {
	return []string{
		MonotonicityDecreasing,
		MonotonicityIncreasing,
		MonotonicityStatic,
	}
}

const (
	// RetrainingSchedulerStatusPending is a RetrainingSchedulerStatus enum value
	RetrainingSchedulerStatusPending = "PENDING"

	// RetrainingSchedulerStatusRunning is a RetrainingSchedulerStatus enum value
	RetrainingSchedulerStatusRunning = "RUNNING"

	// RetrainingSchedulerStatusStopping is a RetrainingSchedulerStatus enum value
	RetrainingSchedulerStatusStopping = "STOPPING"

	// RetrainingSchedulerStatusStopped is a RetrainingSchedulerStatus enum value
	RetrainingSchedulerStatusStopped = "STOPPED"
)

// RetrainingSchedulerStatus_Values returns all elements of the RetrainingSchedulerStatus enum
func RetrainingSchedulerStatus_Values() []string {
	return []string{
		RetrainingSchedulerStatusPending,
		RetrainingSchedulerStatusRunning,
		RetrainingSchedulerStatusStopping,
		RetrainingSchedulerStatusStopped,
	}
}

const (
	// StatisticalIssueStatusPotentialIssueDetected is a StatisticalIssueStatus enum value
	StatisticalIssueStatusPotentialIssueDetected = "POTENTIAL_ISSUE_DETECTED"

	// StatisticalIssueStatusNoIssueDetected is a StatisticalIssueStatus enum value
	StatisticalIssueStatusNoIssueDetected = "NO_ISSUE_DETECTED"
)

// StatisticalIssueStatus_Values returns all elements of the StatisticalIssueStatus enum
func StatisticalIssueStatus_Values() []string {
	return []string{
		StatisticalIssueStatusPotentialIssueDetected,
		StatisticalIssueStatusNoIssueDetected,
	}
}

const (
	// TargetSamplingRatePt1s is a TargetSamplingRate enum value
	TargetSamplingRatePt1s = "PT1S"

	// TargetSamplingRatePt5s is a TargetSamplingRate enum value
	TargetSamplingRatePt5s = "PT5S"

	// TargetSamplingRatePt10s is a TargetSamplingRate enum value
	TargetSamplingRatePt10s = "PT10S"

	// TargetSamplingRatePt15s is a TargetSamplingRate enum value
	TargetSamplingRatePt15s = "PT15S"

	// TargetSamplingRatePt30s is a TargetSamplingRate enum value
	TargetSamplingRatePt30s = "PT30S"

	// TargetSamplingRatePt1m is a TargetSamplingRate enum value
	TargetSamplingRatePt1m = "PT1M"

	// TargetSamplingRatePt5m is a TargetSamplingRate enum value
	TargetSamplingRatePt5m = "PT5M"

	// TargetSamplingRatePt10m is a TargetSamplingRate enum value
	TargetSamplingRatePt10m = "PT10M"

	// TargetSamplingRatePt15m is a TargetSamplingRate enum value
	TargetSamplingRatePt15m = "PT15M"

	// TargetSamplingRatePt30m is a TargetSamplingRate enum value
	TargetSamplingRatePt30m = "PT30M"

	// TargetSamplingRatePt1h is a TargetSamplingRate enum value
	TargetSamplingRatePt1h = "PT1H"
)

// TargetSamplingRate_Values returns all elements of the TargetSamplingRate enum
func TargetSamplingRate_Values() []string {
	return []string{
		TargetSamplingRatePt1s,
		TargetSamplingRatePt5s,
		TargetSamplingRatePt10s,
		TargetSamplingRatePt15s,
		TargetSamplingRatePt30s,
		TargetSamplingRatePt1m,
		TargetSamplingRatePt5m,
		TargetSamplingRatePt10m,
		TargetSamplingRatePt15m,
		TargetSamplingRatePt30m,
		TargetSamplingRatePt1h,
	}
}
© 2026 GrazzMean
Beegazpacho


Let’s  Start  Your  Online  Journey  with  Beegazpacho 

Welcome to Beegazpacho,
where creativity meets strategy,
and innovation drives success.


Contact
Now


OUR CLIENTS

WhatsApp-Image-2021-12-06.png
Untitled-design-11.png
niaf-logo.png
20220406-163308-scaled.jpg
karchi-logo.png
20220405-171252.png
20220405-171309.png
20220321-161603.png
20220321-161611.png
20220321-161628.png
20220321-161244.png
20220321-161256.png
20220321-161450.png
20220321-161205.png
20220226-170222.png
20220321-161051.png
20211202-170852.png
Untitled-design-9
pidilite-png-logo-colour
logo-black-e1706125740216-qisosldqhzgcaerhdt6n4t3m4s50jr0iik48z0h5vk
Fraikin-Dayim-logo-1
hpcl-logo-2-1
services

Transforming Ideas into
Success

.01
Digital Marketing

We drive growth through data-driven strategies and cutting-edge techniques.

Learn More

.02
SEO

Improve your online visibility and rank higher on search engines with our expert SEO services.

Learn More

.03
Website Designing

We design websites that are not only visually stunning but also user-centric, ensuring seamless navigation and enhanced user experience.

Learn More

.04
App Development

Our apps are crafted to be intuitive, engaging, and functional, providing your users with an exceptional mobile experience.

Learn More

.05
Social Media Ads

Target the right audience with precision and creativity to maximize engagement and conversions.

Learn More

.06
Google Ads

Maximize ROI with precision-targeted campaigns on Google’s powerful ad platform.

Learn More

.07
Google My Business

Optimize your local presence with strategies that put your business on the map and attract more customers.

Learn More

.08
Graphic Designing

Our designs tell your brand’s story in a visually compelling way.

Learn More

.09
3D Videos

Bring your product to life with immersive and dynamic 3D explainer videos.

Learn More

about BEEGAZPACHO

creating special Things
For special brands

Join the ranks of successful brands by partnering with Beegazpacho

00+

Happy Customer

00+

Continents

Our vision is not just to be a service provider but to be your partner in growth. We see ourselves as an extension of your team, working tirelessly to ensure that your brand not only meets its goals but surpasses them.

Explore
more

Our Recent Work

Crafted with Passion and Precision

Connect now


Web Design
Design, Development & Identity

Logo Design
Design, Development & Identity

Creative Brand design
Design, Development & Identity

Product Design Marketing
Design, Development & Identity

DIGITAL MARKETING
SEO
WEBSITE DESIGNING
APP DEVELOPMENT
SOCIAL MEDIA ADS
GOOGLE ADS
GOOGLE MY BUSINESS
GRAPHIC DESINING
3D VIDEOS
Client Stories

Hear It from Those Who Know Us Best

Our clients’ success stories speak volumes about our commitment to excellence. Don’t just take our word for it—hear directly from the brands we’ve partnered with. Their testimonials highlight our ability to bring visions to life and create a lasting impact on their businesses.

“Beegazpacho feels like an extension of our team. Their content marketing and social media expertise have elevated our brand. They listen, adapt, and always deliver on time. We look forward to continuing this partnership.”

— Sarah Williams

Head of Marketing, GreenPlanet Apparel

“Beegazpacho’s data-driven strategies helped us improve our online ads, optimize our website, and enhance branding. We’ve seen great ROI and increased visibility. Their professionalism is unmatched.”

— Arvind Shah

CEO, InnovateTech Solutions

“Partnering with Beegazpacho has been a game-changer for our brand. Their creative ad campaigns and SEO services have boosted our online presence and significantly increased leads and sales. We couldn’t ask for a better partner!”

— Rina Kapoor

Marketing Director, Luxury Home Interiors

“Beegazpacho feels like an extension of our team. Their content marketing and social media expertise have elevated our brand. They listen, adapt, and always deliver on time. We look forward to continuing this partnership.”

— Sarah Williams

Head of Marketing, GreenPlanet Apparel

“Beegazpacho’s data-driven strategies helped us improve our online ads, optimize our website, and enhance branding. We’ve seen great ROI and increased visibility. Their professionalism is unmatched.”

— Arvind Shah

CEO, InnovateTech Solutions

“Partnering with Beegazpacho has been a game-changer for our brand. Their creative ad campaigns and SEO services have boosted our online presence and significantly increased leads and sales. We couldn’t ask for a better partner!”

— Rina Kapoor

Marketing Director, Luxury Home Interiors