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.103
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 iotroborunner

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/restjson"
)

const opCreateDestination = "CreateDestination"

// CreateDestinationRequest generates a "aws/request.Request" representing the
// client's request for the CreateDestination 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 CreateDestination for more information on using the CreateDestination
// 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 CreateDestinationRequest method.
//	req, resp := client.CreateDestinationRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/CreateDestination
func (c *IoTRoboRunner) CreateDestinationRequest(input *CreateDestinationInput) (req *request.Request, output *CreateDestinationOutput) {
	op := &request.Operation{
		Name:       opCreateDestination,
		HTTPMethod: "POST",
		HTTPPath:   "/createDestination",
	}

	if input == nil {
		input = &CreateDestinationInput{}
	}

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

// CreateDestination API operation for AWS IoT RoboRunner.
//
// # Grants permission to create a destination
//
// 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 AWS IoT RoboRunner's
// API operation CreateDestination for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     Exception thrown if a resource in a create request already exists.
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
//   - ServiceQuotaExceededException
//     Exception thrown if the user's AWS account has reached a service limit and
//     the operation cannot proceed.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/CreateDestination
func (c *IoTRoboRunner) CreateDestination(input *CreateDestinationInput) (*CreateDestinationOutput, error) {
	req, out := c.CreateDestinationRequest(input)
	return out, req.Send()
}

// CreateDestinationWithContext is the same as CreateDestination with the addition of
// the ability to pass a context and additional request options.
//
// See CreateDestination 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 *IoTRoboRunner) CreateDestinationWithContext(ctx aws.Context, input *CreateDestinationInput, opts ...request.Option) (*CreateDestinationOutput, error) {
	req, out := c.CreateDestinationRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCreateSite = "CreateSite"

// CreateSiteRequest generates a "aws/request.Request" representing the
// client's request for the CreateSite 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 CreateSite for more information on using the CreateSite
// 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 CreateSiteRequest method.
//	req, resp := client.CreateSiteRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/CreateSite
func (c *IoTRoboRunner) CreateSiteRequest(input *CreateSiteInput) (req *request.Request, output *CreateSiteOutput) {
	op := &request.Operation{
		Name:       opCreateSite,
		HTTPMethod: "POST",
		HTTPPath:   "/createSite",
	}

	if input == nil {
		input = &CreateSiteInput{}
	}

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

// CreateSite API operation for AWS IoT RoboRunner.
//
// # Grants permission to create a site
//
// 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 AWS IoT RoboRunner's
// API operation CreateSite for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     Exception thrown if a resource in a create request already exists.
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
//   - ServiceQuotaExceededException
//     Exception thrown if the user's AWS account has reached a service limit and
//     the operation cannot proceed.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/CreateSite
func (c *IoTRoboRunner) CreateSite(input *CreateSiteInput) (*CreateSiteOutput, error) {
	req, out := c.CreateSiteRequest(input)
	return out, req.Send()
}

// CreateSiteWithContext is the same as CreateSite with the addition of
// the ability to pass a context and additional request options.
//
// See CreateSite 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 *IoTRoboRunner) CreateSiteWithContext(ctx aws.Context, input *CreateSiteInput, opts ...request.Option) (*CreateSiteOutput, error) {
	req, out := c.CreateSiteRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCreateWorker = "CreateWorker"

// CreateWorkerRequest generates a "aws/request.Request" representing the
// client's request for the CreateWorker 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 CreateWorker for more information on using the CreateWorker
// 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 CreateWorkerRequest method.
//	req, resp := client.CreateWorkerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/CreateWorker
func (c *IoTRoboRunner) CreateWorkerRequest(input *CreateWorkerInput) (req *request.Request, output *CreateWorkerOutput) {
	op := &request.Operation{
		Name:       opCreateWorker,
		HTTPMethod: "POST",
		HTTPPath:   "/createWorker",
	}

	if input == nil {
		input = &CreateWorkerInput{}
	}

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

// CreateWorker API operation for AWS IoT RoboRunner.
//
// # Grants permission to create a worker
//
// 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 AWS IoT RoboRunner's
// API operation CreateWorker for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     Exception thrown if a resource in a create request already exists.
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
//   - ServiceQuotaExceededException
//     Exception thrown if the user's AWS account has reached a service limit and
//     the operation cannot proceed.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/CreateWorker
func (c *IoTRoboRunner) CreateWorker(input *CreateWorkerInput) (*CreateWorkerOutput, error) {
	req, out := c.CreateWorkerRequest(input)
	return out, req.Send()
}

// CreateWorkerWithContext is the same as CreateWorker with the addition of
// the ability to pass a context and additional request options.
//
// See CreateWorker 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 *IoTRoboRunner) CreateWorkerWithContext(ctx aws.Context, input *CreateWorkerInput, opts ...request.Option) (*CreateWorkerOutput, error) {
	req, out := c.CreateWorkerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCreateWorkerFleet = "CreateWorkerFleet"

// CreateWorkerFleetRequest generates a "aws/request.Request" representing the
// client's request for the CreateWorkerFleet 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 CreateWorkerFleet for more information on using the CreateWorkerFleet
// 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 CreateWorkerFleetRequest method.
//	req, resp := client.CreateWorkerFleetRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/CreateWorkerFleet
func (c *IoTRoboRunner) CreateWorkerFleetRequest(input *CreateWorkerFleetInput) (req *request.Request, output *CreateWorkerFleetOutput) {
	op := &request.Operation{
		Name:       opCreateWorkerFleet,
		HTTPMethod: "POST",
		HTTPPath:   "/createWorkerFleet",
	}

	if input == nil {
		input = &CreateWorkerFleetInput{}
	}

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

// CreateWorkerFleet API operation for AWS IoT RoboRunner.
//
// # Grants permission to create a worker fleet
//
// 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 AWS IoT RoboRunner's
// API operation CreateWorkerFleet for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     Exception thrown if a resource in a create request already exists.
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
//   - ServiceQuotaExceededException
//     Exception thrown if the user's AWS account has reached a service limit and
//     the operation cannot proceed.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/CreateWorkerFleet
func (c *IoTRoboRunner) CreateWorkerFleet(input *CreateWorkerFleetInput) (*CreateWorkerFleetOutput, error) {
	req, out := c.CreateWorkerFleetRequest(input)
	return out, req.Send()
}

// CreateWorkerFleetWithContext is the same as CreateWorkerFleet with the addition of
// the ability to pass a context and additional request options.
//
// See CreateWorkerFleet 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 *IoTRoboRunner) CreateWorkerFleetWithContext(ctx aws.Context, input *CreateWorkerFleetInput, opts ...request.Option) (*CreateWorkerFleetOutput, error) {
	req, out := c.CreateWorkerFleetRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteDestination = "DeleteDestination"

// DeleteDestinationRequest generates a "aws/request.Request" representing the
// client's request for the DeleteDestination 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 DeleteDestination for more information on using the DeleteDestination
// 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 DeleteDestinationRequest method.
//	req, resp := client.DeleteDestinationRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/DeleteDestination
func (c *IoTRoboRunner) DeleteDestinationRequest(input *DeleteDestinationInput) (req *request.Request, output *DeleteDestinationOutput) {
	op := &request.Operation{
		Name:       opDeleteDestination,
		HTTPMethod: "POST",
		HTTPPath:   "/deleteDestination",
	}

	if input == nil {
		input = &DeleteDestinationInput{}
	}

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

// DeleteDestination API operation for AWS IoT RoboRunner.
//
// # Grants permission to delete a destination
//
// 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 AWS IoT RoboRunner's
// API operation DeleteDestination for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     Exception thrown if a resource in a create request already exists.
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/DeleteDestination
func (c *IoTRoboRunner) DeleteDestination(input *DeleteDestinationInput) (*DeleteDestinationOutput, error) {
	req, out := c.DeleteDestinationRequest(input)
	return out, req.Send()
}

// DeleteDestinationWithContext is the same as DeleteDestination with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteDestination 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 *IoTRoboRunner) DeleteDestinationWithContext(ctx aws.Context, input *DeleteDestinationInput, opts ...request.Option) (*DeleteDestinationOutput, error) {
	req, out := c.DeleteDestinationRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteSite = "DeleteSite"

// DeleteSiteRequest generates a "aws/request.Request" representing the
// client's request for the DeleteSite 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 DeleteSite for more information on using the DeleteSite
// 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 DeleteSiteRequest method.
//	req, resp := client.DeleteSiteRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/DeleteSite
func (c *IoTRoboRunner) DeleteSiteRequest(input *DeleteSiteInput) (req *request.Request, output *DeleteSiteOutput) {
	op := &request.Operation{
		Name:       opDeleteSite,
		HTTPMethod: "POST",
		HTTPPath:   "/deleteSite",
	}

	if input == nil {
		input = &DeleteSiteInput{}
	}

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

// DeleteSite API operation for AWS IoT RoboRunner.
//
// # Grants permission to delete a site
//
// 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 AWS IoT RoboRunner's
// API operation DeleteSite for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     Exception thrown if a resource in a create request already exists.
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/DeleteSite
func (c *IoTRoboRunner) DeleteSite(input *DeleteSiteInput) (*DeleteSiteOutput, error) {
	req, out := c.DeleteSiteRequest(input)
	return out, req.Send()
}

// DeleteSiteWithContext is the same as DeleteSite with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteSite 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 *IoTRoboRunner) DeleteSiteWithContext(ctx aws.Context, input *DeleteSiteInput, opts ...request.Option) (*DeleteSiteOutput, error) {
	req, out := c.DeleteSiteRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteWorker = "DeleteWorker"

// DeleteWorkerRequest generates a "aws/request.Request" representing the
// client's request for the DeleteWorker 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 DeleteWorker for more information on using the DeleteWorker
// 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 DeleteWorkerRequest method.
//	req, resp := client.DeleteWorkerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/DeleteWorker
func (c *IoTRoboRunner) DeleteWorkerRequest(input *DeleteWorkerInput) (req *request.Request, output *DeleteWorkerOutput) {
	op := &request.Operation{
		Name:       opDeleteWorker,
		HTTPMethod: "POST",
		HTTPPath:   "/deleteWorker",
	}

	if input == nil {
		input = &DeleteWorkerInput{}
	}

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

// DeleteWorker API operation for AWS IoT RoboRunner.
//
// # Grants permission to delete a worker
//
// 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 AWS IoT RoboRunner's
// API operation DeleteWorker for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     Exception thrown if a resource in a create request already exists.
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/DeleteWorker
func (c *IoTRoboRunner) DeleteWorker(input *DeleteWorkerInput) (*DeleteWorkerOutput, error) {
	req, out := c.DeleteWorkerRequest(input)
	return out, req.Send()
}

// DeleteWorkerWithContext is the same as DeleteWorker with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteWorker 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 *IoTRoboRunner) DeleteWorkerWithContext(ctx aws.Context, input *DeleteWorkerInput, opts ...request.Option) (*DeleteWorkerOutput, error) {
	req, out := c.DeleteWorkerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteWorkerFleet = "DeleteWorkerFleet"

// DeleteWorkerFleetRequest generates a "aws/request.Request" representing the
// client's request for the DeleteWorkerFleet 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 DeleteWorkerFleet for more information on using the DeleteWorkerFleet
// 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 DeleteWorkerFleetRequest method.
//	req, resp := client.DeleteWorkerFleetRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/DeleteWorkerFleet
func (c *IoTRoboRunner) DeleteWorkerFleetRequest(input *DeleteWorkerFleetInput) (req *request.Request, output *DeleteWorkerFleetOutput) {
	op := &request.Operation{
		Name:       opDeleteWorkerFleet,
		HTTPMethod: "POST",
		HTTPPath:   "/deleteWorkerFleet",
	}

	if input == nil {
		input = &DeleteWorkerFleetInput{}
	}

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

// DeleteWorkerFleet API operation for AWS IoT RoboRunner.
//
// # Grants permission to delete a worker fleet
//
// 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 AWS IoT RoboRunner's
// API operation DeleteWorkerFleet for usage and error information.
//
// Returned Error Types:
//
//   - ConflictException
//     Exception thrown if a resource in a create request already exists.
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/DeleteWorkerFleet
func (c *IoTRoboRunner) DeleteWorkerFleet(input *DeleteWorkerFleetInput) (*DeleteWorkerFleetOutput, error) {
	req, out := c.DeleteWorkerFleetRequest(input)
	return out, req.Send()
}

// DeleteWorkerFleetWithContext is the same as DeleteWorkerFleet with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteWorkerFleet 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 *IoTRoboRunner) DeleteWorkerFleetWithContext(ctx aws.Context, input *DeleteWorkerFleetInput, opts ...request.Option) (*DeleteWorkerFleetOutput, error) {
	req, out := c.DeleteWorkerFleetRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetDestination = "GetDestination"

// GetDestinationRequest generates a "aws/request.Request" representing the
// client's request for the GetDestination 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 GetDestination for more information on using the GetDestination
// 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 GetDestinationRequest method.
//	req, resp := client.GetDestinationRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/GetDestination
func (c *IoTRoboRunner) GetDestinationRequest(input *GetDestinationInput) (req *request.Request, output *GetDestinationOutput) {
	op := &request.Operation{
		Name:       opGetDestination,
		HTTPMethod: "GET",
		HTTPPath:   "/getDestination",
	}

	if input == nil {
		input = &GetDestinationInput{}
	}

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

// GetDestination API operation for AWS IoT RoboRunner.
//
// # Grants permission to get a destination
//
// 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 AWS IoT RoboRunner's
// API operation GetDestination for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/GetDestination
func (c *IoTRoboRunner) GetDestination(input *GetDestinationInput) (*GetDestinationOutput, error) {
	req, out := c.GetDestinationRequest(input)
	return out, req.Send()
}

// GetDestinationWithContext is the same as GetDestination with the addition of
// the ability to pass a context and additional request options.
//
// See GetDestination 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 *IoTRoboRunner) GetDestinationWithContext(ctx aws.Context, input *GetDestinationInput, opts ...request.Option) (*GetDestinationOutput, error) {
	req, out := c.GetDestinationRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetSite = "GetSite"

// GetSiteRequest generates a "aws/request.Request" representing the
// client's request for the GetSite 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 GetSite for more information on using the GetSite
// 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 GetSiteRequest method.
//	req, resp := client.GetSiteRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/GetSite
func (c *IoTRoboRunner) GetSiteRequest(input *GetSiteInput) (req *request.Request, output *GetSiteOutput) {
	op := &request.Operation{
		Name:       opGetSite,
		HTTPMethod: "GET",
		HTTPPath:   "/getSite",
	}

	if input == nil {
		input = &GetSiteInput{}
	}

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

// GetSite API operation for AWS IoT RoboRunner.
//
// # Grants permission to get a site
//
// 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 AWS IoT RoboRunner's
// API operation GetSite for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/GetSite
func (c *IoTRoboRunner) GetSite(input *GetSiteInput) (*GetSiteOutput, error) {
	req, out := c.GetSiteRequest(input)
	return out, req.Send()
}

// GetSiteWithContext is the same as GetSite with the addition of
// the ability to pass a context and additional request options.
//
// See GetSite 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 *IoTRoboRunner) GetSiteWithContext(ctx aws.Context, input *GetSiteInput, opts ...request.Option) (*GetSiteOutput, error) {
	req, out := c.GetSiteRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetWorker = "GetWorker"

// GetWorkerRequest generates a "aws/request.Request" representing the
// client's request for the GetWorker 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 GetWorker for more information on using the GetWorker
// 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 GetWorkerRequest method.
//	req, resp := client.GetWorkerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/GetWorker
func (c *IoTRoboRunner) GetWorkerRequest(input *GetWorkerInput) (req *request.Request, output *GetWorkerOutput) {
	op := &request.Operation{
		Name:       opGetWorker,
		HTTPMethod: "GET",
		HTTPPath:   "/getWorker",
	}

	if input == nil {
		input = &GetWorkerInput{}
	}

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

// GetWorker API operation for AWS IoT RoboRunner.
//
// # Grants permission to get a worker
//
// 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 AWS IoT RoboRunner's
// API operation GetWorker for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/GetWorker
func (c *IoTRoboRunner) GetWorker(input *GetWorkerInput) (*GetWorkerOutput, error) {
	req, out := c.GetWorkerRequest(input)
	return out, req.Send()
}

// GetWorkerWithContext is the same as GetWorker with the addition of
// the ability to pass a context and additional request options.
//
// See GetWorker 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 *IoTRoboRunner) GetWorkerWithContext(ctx aws.Context, input *GetWorkerInput, opts ...request.Option) (*GetWorkerOutput, error) {
	req, out := c.GetWorkerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetWorkerFleet = "GetWorkerFleet"

// GetWorkerFleetRequest generates a "aws/request.Request" representing the
// client's request for the GetWorkerFleet 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 GetWorkerFleet for more information on using the GetWorkerFleet
// 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 GetWorkerFleetRequest method.
//	req, resp := client.GetWorkerFleetRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/GetWorkerFleet
func (c *IoTRoboRunner) GetWorkerFleetRequest(input *GetWorkerFleetInput) (req *request.Request, output *GetWorkerFleetOutput) {
	op := &request.Operation{
		Name:       opGetWorkerFleet,
		HTTPMethod: "GET",
		HTTPPath:   "/getWorkerFleet",
	}

	if input == nil {
		input = &GetWorkerFleetInput{}
	}

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

// GetWorkerFleet API operation for AWS IoT RoboRunner.
//
// # Grants permission to get a worker fleet
//
// 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 AWS IoT RoboRunner's
// API operation GetWorkerFleet for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/GetWorkerFleet
func (c *IoTRoboRunner) GetWorkerFleet(input *GetWorkerFleetInput) (*GetWorkerFleetOutput, error) {
	req, out := c.GetWorkerFleetRequest(input)
	return out, req.Send()
}

// GetWorkerFleetWithContext is the same as GetWorkerFleet with the addition of
// the ability to pass a context and additional request options.
//
// See GetWorkerFleet 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 *IoTRoboRunner) GetWorkerFleetWithContext(ctx aws.Context, input *GetWorkerFleetInput, opts ...request.Option) (*GetWorkerFleetOutput, error) {
	req, out := c.GetWorkerFleetRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opListDestinations = "ListDestinations"

// ListDestinationsRequest generates a "aws/request.Request" representing the
// client's request for the ListDestinations 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 ListDestinations for more information on using the ListDestinations
// 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 ListDestinationsRequest method.
//	req, resp := client.ListDestinationsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/ListDestinations
func (c *IoTRoboRunner) ListDestinationsRequest(input *ListDestinationsInput) (req *request.Request, output *ListDestinationsOutput) {
	op := &request.Operation{
		Name:       opListDestinations,
		HTTPMethod: "GET",
		HTTPPath:   "/listDestinations",
		Paginator: &request.Paginator{
			InputTokens:     []string{"nextToken"},
			OutputTokens:    []string{"nextToken"},
			LimitToken:      "maxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListDestinationsInput{}
	}

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

// ListDestinations API operation for AWS IoT RoboRunner.
//
// # Grants permission to list destinations
//
// 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 AWS IoT RoboRunner's
// API operation ListDestinations for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/ListDestinations
func (c *IoTRoboRunner) ListDestinations(input *ListDestinationsInput) (*ListDestinationsOutput, error) {
	req, out := c.ListDestinationsRequest(input)
	return out, req.Send()
}

// ListDestinationsWithContext is the same as ListDestinations with the addition of
// the ability to pass a context and additional request options.
//
// See ListDestinations 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 *IoTRoboRunner) ListDestinationsWithContext(ctx aws.Context, input *ListDestinationsInput, opts ...request.Option) (*ListDestinationsOutput, error) {
	req, out := c.ListDestinationsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListDestinationsPages iterates over the pages of a ListDestinations operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListDestinations 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 ListDestinations operation.
//	pageNum := 0
//	err := client.ListDestinationsPages(params,
//	    func(page *iotroborunner.ListDestinationsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *IoTRoboRunner) ListDestinationsPages(input *ListDestinationsInput, fn func(*ListDestinationsOutput, bool) bool) error {
	return c.ListDestinationsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListDestinationsPagesWithContext same as ListDestinationsPages 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 *IoTRoboRunner) ListDestinationsPagesWithContext(ctx aws.Context, input *ListDestinationsInput, fn func(*ListDestinationsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListDestinationsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListDestinationsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

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

	return p.Err()
}

const opListSites = "ListSites"

// ListSitesRequest generates a "aws/request.Request" representing the
// client's request for the ListSites 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 ListSites for more information on using the ListSites
// 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 ListSitesRequest method.
//	req, resp := client.ListSitesRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/ListSites
func (c *IoTRoboRunner) ListSitesRequest(input *ListSitesInput) (req *request.Request, output *ListSitesOutput) {
	op := &request.Operation{
		Name:       opListSites,
		HTTPMethod: "GET",
		HTTPPath:   "/listSites",
		Paginator: &request.Paginator{
			InputTokens:     []string{"nextToken"},
			OutputTokens:    []string{"nextToken"},
			LimitToken:      "maxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListSitesInput{}
	}

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

// ListSites API operation for AWS IoT RoboRunner.
//
// # Grants permission to list sites
//
// 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 AWS IoT RoboRunner's
// API operation ListSites for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/ListSites
func (c *IoTRoboRunner) ListSites(input *ListSitesInput) (*ListSitesOutput, error) {
	req, out := c.ListSitesRequest(input)
	return out, req.Send()
}

// ListSitesWithContext is the same as ListSites with the addition of
// the ability to pass a context and additional request options.
//
// See ListSites 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 *IoTRoboRunner) ListSitesWithContext(ctx aws.Context, input *ListSitesInput, opts ...request.Option) (*ListSitesOutput, error) {
	req, out := c.ListSitesRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListSitesPages iterates over the pages of a ListSites operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListSites 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 ListSites operation.
//	pageNum := 0
//	err := client.ListSitesPages(params,
//	    func(page *iotroborunner.ListSitesOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *IoTRoboRunner) ListSitesPages(input *ListSitesInput, fn func(*ListSitesOutput, bool) bool) error {
	return c.ListSitesPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListSitesPagesWithContext same as ListSitesPages 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 *IoTRoboRunner) ListSitesPagesWithContext(ctx aws.Context, input *ListSitesInput, fn func(*ListSitesOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListSitesInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListSitesRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

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

	return p.Err()
}

const opListWorkerFleets = "ListWorkerFleets"

// ListWorkerFleetsRequest generates a "aws/request.Request" representing the
// client's request for the ListWorkerFleets 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 ListWorkerFleets for more information on using the ListWorkerFleets
// 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 ListWorkerFleetsRequest method.
//	req, resp := client.ListWorkerFleetsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/ListWorkerFleets
func (c *IoTRoboRunner) ListWorkerFleetsRequest(input *ListWorkerFleetsInput) (req *request.Request, output *ListWorkerFleetsOutput) {
	op := &request.Operation{
		Name:       opListWorkerFleets,
		HTTPMethod: "GET",
		HTTPPath:   "/listWorkerFleets",
		Paginator: &request.Paginator{
			InputTokens:     []string{"nextToken"},
			OutputTokens:    []string{"nextToken"},
			LimitToken:      "maxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListWorkerFleetsInput{}
	}

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

// ListWorkerFleets API operation for AWS IoT RoboRunner.
//
// # Grants permission to list worker fleets
//
// 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 AWS IoT RoboRunner's
// API operation ListWorkerFleets for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/ListWorkerFleets
func (c *IoTRoboRunner) ListWorkerFleets(input *ListWorkerFleetsInput) (*ListWorkerFleetsOutput, error) {
	req, out := c.ListWorkerFleetsRequest(input)
	return out, req.Send()
}

// ListWorkerFleetsWithContext is the same as ListWorkerFleets with the addition of
// the ability to pass a context and additional request options.
//
// See ListWorkerFleets 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 *IoTRoboRunner) ListWorkerFleetsWithContext(ctx aws.Context, input *ListWorkerFleetsInput, opts ...request.Option) (*ListWorkerFleetsOutput, error) {
	req, out := c.ListWorkerFleetsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListWorkerFleetsPages iterates over the pages of a ListWorkerFleets operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListWorkerFleets 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 ListWorkerFleets operation.
//	pageNum := 0
//	err := client.ListWorkerFleetsPages(params,
//	    func(page *iotroborunner.ListWorkerFleetsOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *IoTRoboRunner) ListWorkerFleetsPages(input *ListWorkerFleetsInput, fn func(*ListWorkerFleetsOutput, bool) bool) error {
	return c.ListWorkerFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListWorkerFleetsPagesWithContext same as ListWorkerFleetsPages 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 *IoTRoboRunner) ListWorkerFleetsPagesWithContext(ctx aws.Context, input *ListWorkerFleetsInput, fn func(*ListWorkerFleetsOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListWorkerFleetsInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListWorkerFleetsRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

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

	return p.Err()
}

const opListWorkers = "ListWorkers"

// ListWorkersRequest generates a "aws/request.Request" representing the
// client's request for the ListWorkers 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 ListWorkers for more information on using the ListWorkers
// 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 ListWorkersRequest method.
//	req, resp := client.ListWorkersRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/ListWorkers
func (c *IoTRoboRunner) ListWorkersRequest(input *ListWorkersInput) (req *request.Request, output *ListWorkersOutput) {
	op := &request.Operation{
		Name:       opListWorkers,
		HTTPMethod: "GET",
		HTTPPath:   "/listWorkers",
		Paginator: &request.Paginator{
			InputTokens:     []string{"nextToken"},
			OutputTokens:    []string{"nextToken"},
			LimitToken:      "maxResults",
			TruncationToken: "",
		},
	}

	if input == nil {
		input = &ListWorkersInput{}
	}

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

// ListWorkers API operation for AWS IoT RoboRunner.
//
// # Grants permission to list workers
//
// 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 AWS IoT RoboRunner's
// API operation ListWorkers for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/ListWorkers
func (c *IoTRoboRunner) ListWorkers(input *ListWorkersInput) (*ListWorkersOutput, error) {
	req, out := c.ListWorkersRequest(input)
	return out, req.Send()
}

// ListWorkersWithContext is the same as ListWorkers with the addition of
// the ability to pass a context and additional request options.
//
// See ListWorkers 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 *IoTRoboRunner) ListWorkersWithContext(ctx aws.Context, input *ListWorkersInput, opts ...request.Option) (*ListWorkersOutput, error) {
	req, out := c.ListWorkersRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// ListWorkersPages iterates over the pages of a ListWorkers operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListWorkers 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 ListWorkers operation.
//	pageNum := 0
//	err := client.ListWorkersPages(params,
//	    func(page *iotroborunner.ListWorkersOutput, lastPage bool) bool {
//	        pageNum++
//	        fmt.Println(page)
//	        return pageNum <= 3
//	    })
func (c *IoTRoboRunner) ListWorkersPages(input *ListWorkersInput, fn func(*ListWorkersOutput, bool) bool) error {
	return c.ListWorkersPagesWithContext(aws.BackgroundContext(), input, fn)
}

// ListWorkersPagesWithContext same as ListWorkersPages 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 *IoTRoboRunner) ListWorkersPagesWithContext(ctx aws.Context, input *ListWorkersInput, fn func(*ListWorkersOutput, bool) bool, opts ...request.Option) error {
	p := request.Pagination{
		NewRequest: func() (*request.Request, error) {
			var inCpy *ListWorkersInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.ListWorkersRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}

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

	return p.Err()
}

const opUpdateDestination = "UpdateDestination"

// UpdateDestinationRequest generates a "aws/request.Request" representing the
// client's request for the UpdateDestination 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 UpdateDestination for more information on using the UpdateDestination
// 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 UpdateDestinationRequest method.
//	req, resp := client.UpdateDestinationRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/UpdateDestination
func (c *IoTRoboRunner) UpdateDestinationRequest(input *UpdateDestinationInput) (req *request.Request, output *UpdateDestinationOutput) {
	op := &request.Operation{
		Name:       opUpdateDestination,
		HTTPMethod: "POST",
		HTTPPath:   "/updateDestination",
	}

	if input == nil {
		input = &UpdateDestinationInput{}
	}

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

// UpdateDestination API operation for AWS IoT RoboRunner.
//
// # Grants permission to update a destination
//
// 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 AWS IoT RoboRunner's
// API operation UpdateDestination for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/UpdateDestination
func (c *IoTRoboRunner) UpdateDestination(input *UpdateDestinationInput) (*UpdateDestinationOutput, error) {
	req, out := c.UpdateDestinationRequest(input)
	return out, req.Send()
}

// UpdateDestinationWithContext is the same as UpdateDestination with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateDestination 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 *IoTRoboRunner) UpdateDestinationWithContext(ctx aws.Context, input *UpdateDestinationInput, opts ...request.Option) (*UpdateDestinationOutput, error) {
	req, out := c.UpdateDestinationRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opUpdateSite = "UpdateSite"

// UpdateSiteRequest generates a "aws/request.Request" representing the
// client's request for the UpdateSite 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 UpdateSite for more information on using the UpdateSite
// 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 UpdateSiteRequest method.
//	req, resp := client.UpdateSiteRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/UpdateSite
func (c *IoTRoboRunner) UpdateSiteRequest(input *UpdateSiteInput) (req *request.Request, output *UpdateSiteOutput) {
	op := &request.Operation{
		Name:       opUpdateSite,
		HTTPMethod: "POST",
		HTTPPath:   "/updateSite",
	}

	if input == nil {
		input = &UpdateSiteInput{}
	}

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

// UpdateSite API operation for AWS IoT RoboRunner.
//
// # Grants permission to update a site
//
// 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 AWS IoT RoboRunner's
// API operation UpdateSite for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/UpdateSite
func (c *IoTRoboRunner) UpdateSite(input *UpdateSiteInput) (*UpdateSiteOutput, error) {
	req, out := c.UpdateSiteRequest(input)
	return out, req.Send()
}

// UpdateSiteWithContext is the same as UpdateSite with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateSite 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 *IoTRoboRunner) UpdateSiteWithContext(ctx aws.Context, input *UpdateSiteInput, opts ...request.Option) (*UpdateSiteOutput, error) {
	req, out := c.UpdateSiteRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opUpdateWorker = "UpdateWorker"

// UpdateWorkerRequest generates a "aws/request.Request" representing the
// client's request for the UpdateWorker 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 UpdateWorker for more information on using the UpdateWorker
// 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 UpdateWorkerRequest method.
//	req, resp := client.UpdateWorkerRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/UpdateWorker
func (c *IoTRoboRunner) UpdateWorkerRequest(input *UpdateWorkerInput) (req *request.Request, output *UpdateWorkerOutput) {
	op := &request.Operation{
		Name:       opUpdateWorker,
		HTTPMethod: "POST",
		HTTPPath:   "/updateWorker",
	}

	if input == nil {
		input = &UpdateWorkerInput{}
	}

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

// UpdateWorker API operation for AWS IoT RoboRunner.
//
// # Grants permission to update a worker
//
// 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 AWS IoT RoboRunner's
// API operation UpdateWorker for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/UpdateWorker
func (c *IoTRoboRunner) UpdateWorker(input *UpdateWorkerInput) (*UpdateWorkerOutput, error) {
	req, out := c.UpdateWorkerRequest(input)
	return out, req.Send()
}

// UpdateWorkerWithContext is the same as UpdateWorker with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateWorker 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 *IoTRoboRunner) UpdateWorkerWithContext(ctx aws.Context, input *UpdateWorkerInput, opts ...request.Option) (*UpdateWorkerOutput, error) {
	req, out := c.UpdateWorkerRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opUpdateWorkerFleet = "UpdateWorkerFleet"

// UpdateWorkerFleetRequest generates a "aws/request.Request" representing the
// client's request for the UpdateWorkerFleet 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 UpdateWorkerFleet for more information on using the UpdateWorkerFleet
// 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 UpdateWorkerFleetRequest method.
//	req, resp := client.UpdateWorkerFleetRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/UpdateWorkerFleet
func (c *IoTRoboRunner) UpdateWorkerFleetRequest(input *UpdateWorkerFleetInput) (req *request.Request, output *UpdateWorkerFleetOutput) {
	op := &request.Operation{
		Name:       opUpdateWorkerFleet,
		HTTPMethod: "POST",
		HTTPPath:   "/updateWorkerFleet",
	}

	if input == nil {
		input = &UpdateWorkerFleetInput{}
	}

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

// UpdateWorkerFleet API operation for AWS IoT RoboRunner.
//
// # Grants permission to update a worker fleet
//
// 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 AWS IoT RoboRunner's
// API operation UpdateWorkerFleet for usage and error information.
//
// Returned Error Types:
//
//   - AccessDeniedException
//     User does not have sufficient access to perform this action.
//
//   - ValidationException
//     Exception thrown if an invalid parameter is provided to an API.
//
//   - ResourceNotFoundException
//     Exception thrown if a resource referenced in the request doesn't exist.
//
//   - ThrottlingException
//     Exception thrown if the api has been called too quickly be the client.
//
//   - InternalServerException
//     Exception thrown if something goes wrong within the service.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/iot-roborunner-2018-05-10/UpdateWorkerFleet
func (c *IoTRoboRunner) UpdateWorkerFleet(input *UpdateWorkerFleetInput) (*UpdateWorkerFleetOutput, error) {
	req, out := c.UpdateWorkerFleetRequest(input)
	return out, req.Send()
}

// UpdateWorkerFleetWithContext is the same as UpdateWorkerFleet with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateWorkerFleet 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 *IoTRoboRunner) UpdateWorkerFleetWithContext(ctx aws.Context, input *UpdateWorkerFleetInput, opts ...request.Option) (*UpdateWorkerFleetOutput, error) {
	req, out := c.UpdateWorkerFleetRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// User does not have sufficient access to perform this action.
type AccessDeniedException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" 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
}

// Cartesian coordinates in 3D space relative to the RoboRunner origin.
type CartesianCoordinates struct {
	_ struct{} `type:"structure"`

	// X coordinate.
	//
	// X is a required field
	X *float64 `locationName:"x" type:"double" required:"true"`

	// Y coordinate.
	//
	// Y is a required field
	Y *float64 `locationName:"y" type:"double" required:"true"`

	// Z coordinate.
	Z *float64 `locationName:"z" type:"double"`
}

// 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 CartesianCoordinates) 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 CartesianCoordinates) GoString() string {
	return s.String()
}

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

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

// SetX sets the X field's value.
func (s *CartesianCoordinates) SetX(v float64) *CartesianCoordinates {
	s.X = &v
	return s
}

// SetY sets the Y field's value.
func (s *CartesianCoordinates) SetY(v float64) *CartesianCoordinates {
	s.Y = &v
	return s
}

// SetZ sets the Z field's value.
func (s *CartesianCoordinates) SetZ(v float64) *CartesianCoordinates {
	s.Z = &v
	return s
}

// Exception thrown if a resource in a create request already exists.
type ConflictException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" 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
}

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

	// JSON document containing additional fixed properties regarding the destination
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// Token used for detecting replayed requests. Replayed requests will not be
	// performed multiple times.
	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `locationName:"site" min:"1" type:"string" required:"true"`

	// The state of the destination. Default used if not specified.
	State *string `locationName:"state" type:"string" enum:"DestinationState"`
}

// 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 CreateDestinationInput) 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 CreateDestinationInput) GoString() string {
	return s.String()
}

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

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

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *CreateDestinationInput) SetAdditionalFixedProperties(v string) *CreateDestinationInput {
	s.AdditionalFixedProperties = &v
	return s
}

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

// SetName sets the Name field's value.
func (s *CreateDestinationInput) SetName(v string) *CreateDestinationInput {
	s.Name = &v
	return s
}

// SetSite sets the Site field's value.
func (s *CreateDestinationInput) SetSite(v string) *CreateDestinationInput {
	s.Site = &v
	return s
}

// SetState sets the State field's value.
func (s *CreateDestinationInput) SetState(v string) *CreateDestinationInput {
	s.State = &v
	return s
}

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

	// Destination ARN.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// Filters access by the destination's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// State of the destination.
	//
	// State is a required field
	State *string `locationName:"state" type:"string" required:"true" enum:"DestinationState"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 CreateDestinationOutput) 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 CreateDestinationOutput) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *CreateDestinationOutput) SetArn(v string) *CreateDestinationOutput {
	s.Arn = &v
	return s
}

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

// SetId sets the Id field's value.
func (s *CreateDestinationOutput) SetId(v string) *CreateDestinationOutput {
	s.Id = &v
	return s
}

// SetState sets the State field's value.
func (s *CreateDestinationOutput) SetState(v string) *CreateDestinationOutput {
	s.State = &v
	return s
}

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

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

	// Token used for detecting replayed requests. Replayed requests will not be
	// performed multiple times.
	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`

	// A valid ISO 3166-1 alpha-2 code for the country in which the site resides.
	// e.g., US.
	//
	// CountryCode is a required field
	CountryCode *string `locationName:"countryCode" min:"2" type:"string" required:"true"`

	// A high-level description of the site.
	Description *string `locationName:"description" type:"string"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" 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 CreateSiteInput) 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 CreateSiteInput) GoString() string {
	return s.String()
}

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

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

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

// SetCountryCode sets the CountryCode field's value.
func (s *CreateSiteInput) SetCountryCode(v string) *CreateSiteInput {
	s.CountryCode = &v
	return s
}

// SetDescription sets the Description field's value.
func (s *CreateSiteInput) SetDescription(v string) *CreateSiteInput {
	s.Description = &v
	return s
}

// SetName sets the Name field's value.
func (s *CreateSiteInput) SetName(v string) *CreateSiteInput {
	s.Name = &v
	return s
}

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

	// Site ARN.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// Filters access by the site's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 CreateSiteOutput) 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 CreateSiteOutput) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *CreateSiteOutput) SetArn(v string) *CreateSiteOutput {
	s.Arn = &v
	return s
}

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

// SetId sets the Id field's value.
func (s *CreateSiteOutput) SetId(v string) *CreateSiteOutput {
	s.Id = &v
	return s
}

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

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

	// JSON blob containing additional fixed properties regarding the worker fleet
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// Token used for detecting replayed requests. Replayed requests will not be
	// performed multiple times.
	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `locationName:"site" 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 CreateWorkerFleetInput) 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 CreateWorkerFleetInput) GoString() string {
	return s.String()
}

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

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

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *CreateWorkerFleetInput) SetAdditionalFixedProperties(v string) *CreateWorkerFleetInput {
	s.AdditionalFixedProperties = &v
	return s
}

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

// SetName sets the Name field's value.
func (s *CreateWorkerFleetInput) SetName(v string) *CreateWorkerFleetInput {
	s.Name = &v
	return s
}

// SetSite sets the Site field's value.
func (s *CreateWorkerFleetInput) SetSite(v string) *CreateWorkerFleetInput {
	s.Site = &v
	return s
}

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

	// Full ARN of the worker fleet.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// Filters access by the worker fleet's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 CreateWorkerFleetOutput) 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 CreateWorkerFleetOutput) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *CreateWorkerFleetOutput) SetArn(v string) *CreateWorkerFleetOutput {
	s.Arn = &v
	return s
}

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

// SetId sets the Id field's value.
func (s *CreateWorkerFleetOutput) SetId(v string) *CreateWorkerFleetOutput {
	s.Id = &v
	return s
}

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

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

	// JSON blob containing unstructured worker properties that are fixed and won't
	// change during regular operation.
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// JSON blob containing unstructured worker properties that are transient and
	// may change during regular operation.
	AdditionalTransientProperties *string `locationName:"additionalTransientProperties" min:"1" type:"string"`

	// Token used for detecting replayed requests. Replayed requests will not be
	// performed multiple times.
	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`

	// Full ARN of the worker fleet.
	//
	// Fleet is a required field
	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Worker orientation measured in units clockwise from north.
	Orientation *Orientation `locationName:"orientation" type:"structure"`

	// Supported coordinates for worker position.
	Position *PositionCoordinates `locationName:"position" type:"structure"`

	// Properties of the worker that are provided by the vendor FMS.
	VendorProperties *VendorProperties `locationName:"vendorProperties" 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 CreateWorkerInput) 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 CreateWorkerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateWorkerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CreateWorkerInput"}
	if s.AdditionalFixedProperties != nil && len(*s.AdditionalFixedProperties) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("AdditionalFixedProperties", 1))
	}
	if s.AdditionalTransientProperties != nil && len(*s.AdditionalTransientProperties) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("AdditionalTransientProperties", 1))
	}
	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
	}
	if s.Fleet == nil {
		invalidParams.Add(request.NewErrParamRequired("Fleet"))
	}
	if s.Fleet != nil && len(*s.Fleet) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
	}
	if s.Name == nil {
		invalidParams.Add(request.NewErrParamRequired("Name"))
	}
	if s.Name != nil && len(*s.Name) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
	}
	if s.Position != nil {
		if err := s.Position.Validate(); err != nil {
			invalidParams.AddNested("Position", err.(request.ErrInvalidParams))
		}
	}
	if s.VendorProperties != nil {
		if err := s.VendorProperties.Validate(); err != nil {
			invalidParams.AddNested("VendorProperties", err.(request.ErrInvalidParams))
		}
	}

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

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *CreateWorkerInput) SetAdditionalFixedProperties(v string) *CreateWorkerInput {
	s.AdditionalFixedProperties = &v
	return s
}

// SetAdditionalTransientProperties sets the AdditionalTransientProperties field's value.
func (s *CreateWorkerInput) SetAdditionalTransientProperties(v string) *CreateWorkerInput {
	s.AdditionalTransientProperties = &v
	return s
}

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

// SetFleet sets the Fleet field's value.
func (s *CreateWorkerInput) SetFleet(v string) *CreateWorkerInput {
	s.Fleet = &v
	return s
}

// SetName sets the Name field's value.
func (s *CreateWorkerInput) SetName(v string) *CreateWorkerInput {
	s.Name = &v
	return s
}

// SetOrientation sets the Orientation field's value.
func (s *CreateWorkerInput) SetOrientation(v *Orientation) *CreateWorkerInput {
	s.Orientation = v
	return s
}

// SetPosition sets the Position field's value.
func (s *CreateWorkerInput) SetPosition(v *PositionCoordinates) *CreateWorkerInput {
	s.Position = v
	return s
}

// SetVendorProperties sets the VendorProperties field's value.
func (s *CreateWorkerInput) SetVendorProperties(v *VendorProperties) *CreateWorkerInput {
	s.VendorProperties = v
	return s
}

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

	// Full ARN of the worker.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// Filters access by the workers identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `locationName:"site" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 CreateWorkerOutput) 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 CreateWorkerOutput) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *CreateWorkerOutput) SetArn(v string) *CreateWorkerOutput {
	s.Arn = &v
	return s
}

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

// SetId sets the Id field's value.
func (s *CreateWorkerOutput) SetId(v string) *CreateWorkerOutput {
	s.Id = &v
	return s
}

// SetSite sets the Site field's value.
func (s *CreateWorkerOutput) SetSite(v string) *CreateWorkerOutput {
	s.Site = &v
	return s
}

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

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

	// Destination ARN.
	//
	// Id is a required field
	Id *string `locationName:"id" 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 DeleteDestinationInput) 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 DeleteDestinationInput) GoString() string {
	return s.String()
}

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

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

// SetId sets the Id field's value.
func (s *DeleteDestinationInput) SetId(v string) *DeleteDestinationInput {
	s.Id = &v
	return s
}

type DeleteDestinationOutput 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 DeleteDestinationOutput) 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 DeleteDestinationOutput) GoString() string {
	return s.String()
}

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

	// Site ARN.
	//
	// Id is a required field
	Id *string `locationName:"id" 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 DeleteSiteInput) 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 DeleteSiteInput) GoString() string {
	return s.String()
}

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

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

// SetId sets the Id field's value.
func (s *DeleteSiteInput) SetId(v string) *DeleteSiteInput {
	s.Id = &v
	return s
}

type DeleteSiteOutput 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 DeleteSiteOutput) 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 DeleteSiteOutput) GoString() string {
	return s.String()
}

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

	// Full ARN of the worker fleet.
	//
	// Id is a required field
	Id *string `locationName:"id" 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 DeleteWorkerFleetInput) 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 DeleteWorkerFleetInput) GoString() string {
	return s.String()
}

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

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

// SetId sets the Id field's value.
func (s *DeleteWorkerFleetInput) SetId(v string) *DeleteWorkerFleetInput {
	s.Id = &v
	return s
}

type DeleteWorkerFleetOutput 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 DeleteWorkerFleetOutput) 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 DeleteWorkerFleetOutput) GoString() string {
	return s.String()
}

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

	// Full ARN of the worker.
	//
	// Id is a required field
	Id *string `locationName:"id" 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 DeleteWorkerInput) 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 DeleteWorkerInput) GoString() string {
	return s.String()
}

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

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

// SetId sets the Id field's value.
func (s *DeleteWorkerInput) SetId(v string) *DeleteWorkerInput {
	s.Id = &v
	return s
}

type DeleteWorkerOutput 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 DeleteWorkerOutput) 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 DeleteWorkerOutput) GoString() string {
	return s.String()
}

// Area within a facility where work can be performed.
type Destination struct {
	_ struct{} `type:"structure"`

	// JSON document containing additional fixed properties regarding the destination
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// Destination ARN.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// Filters access by the destination's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `locationName:"site" min:"1" type:"string" required:"true"`

	// State of the destination.
	//
	// State is a required field
	State *string `locationName:"state" type:"string" required:"true" enum:"DestinationState"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 Destination) 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 Destination) GoString() string {
	return s.String()
}

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *Destination) SetAdditionalFixedProperties(v string) *Destination {
	s.AdditionalFixedProperties = &v
	return s
}

// SetArn sets the Arn field's value.
func (s *Destination) SetArn(v string) *Destination {
	s.Arn = &v
	return s
}

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

// SetId sets the Id field's value.
func (s *Destination) SetId(v string) *Destination {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *Destination) SetName(v string) *Destination {
	s.Name = &v
	return s
}

// SetSite sets the Site field's value.
func (s *Destination) SetSite(v string) *Destination {
	s.Site = &v
	return s
}

// SetState sets the State field's value.
func (s *Destination) SetState(v string) *Destination {
	s.State = &v
	return s
}

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

type GetDestinationInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// Destination ARN.
	//
	// Id is a required field
	Id *string `location:"querystring" locationName:"id" 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 GetDestinationInput) 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 GetDestinationInput) GoString() string {
	return s.String()
}

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

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

// SetId sets the Id field's value.
func (s *GetDestinationInput) SetId(v string) *GetDestinationInput {
	s.Id = &v
	return s
}

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

	// JSON document containing additional fixed properties regarding the destination
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// Destination ARN.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// Filters access by the destination's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `locationName:"site" min:"1" type:"string" required:"true"`

	// State of the destination.
	//
	// State is a required field
	State *string `locationName:"state" type:"string" required:"true" enum:"DestinationState"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 GetDestinationOutput) 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 GetDestinationOutput) GoString() string {
	return s.String()
}

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *GetDestinationOutput) SetAdditionalFixedProperties(v string) *GetDestinationOutput {
	s.AdditionalFixedProperties = &v
	return s
}

// SetArn sets the Arn field's value.
func (s *GetDestinationOutput) SetArn(v string) *GetDestinationOutput {
	s.Arn = &v
	return s
}

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

// SetId sets the Id field's value.
func (s *GetDestinationOutput) SetId(v string) *GetDestinationOutput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *GetDestinationOutput) SetName(v string) *GetDestinationOutput {
	s.Name = &v
	return s
}

// SetSite sets the Site field's value.
func (s *GetDestinationOutput) SetSite(v string) *GetDestinationOutput {
	s.Site = &v
	return s
}

// SetState sets the State field's value.
func (s *GetDestinationOutput) SetState(v string) *GetDestinationOutput {
	s.State = &v
	return s
}

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

type GetSiteInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// Site ARN.
	//
	// Id is a required field
	Id *string `location:"querystring" locationName:"id" 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 GetSiteInput) 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 GetSiteInput) GoString() string {
	return s.String()
}

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

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

// SetId sets the Id field's value.
func (s *GetSiteInput) SetId(v string) *GetSiteInput {
	s.Id = &v
	return s
}

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

	// Site ARN.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// A valid ISO 3166-1 alpha-2 code for the country in which the site resides.
	// e.g., US.
	//
	// CountryCode is a required field
	CountryCode *string `locationName:"countryCode" min:"2" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// A high-level description of the site.
	Description *string `locationName:"description" type:"string"`

	// Filters access by the site's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 GetSiteOutput) 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 GetSiteOutput) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *GetSiteOutput) SetArn(v string) *GetSiteOutput {
	s.Arn = &v
	return s
}

// SetCountryCode sets the CountryCode field's value.
func (s *GetSiteOutput) SetCountryCode(v string) *GetSiteOutput {
	s.CountryCode = &v
	return s
}

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

// SetDescription sets the Description field's value.
func (s *GetSiteOutput) SetDescription(v string) *GetSiteOutput {
	s.Description = &v
	return s
}

// SetId sets the Id field's value.
func (s *GetSiteOutput) SetId(v string) *GetSiteOutput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *GetSiteOutput) SetName(v string) *GetSiteOutput {
	s.Name = &v
	return s
}

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

type GetWorkerFleetInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// Full ARN of the worker fleet.
	//
	// Id is a required field
	Id *string `location:"querystring" locationName:"id" 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 GetWorkerFleetInput) 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 GetWorkerFleetInput) GoString() string {
	return s.String()
}

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

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

// SetId sets the Id field's value.
func (s *GetWorkerFleetInput) SetId(v string) *GetWorkerFleetInput {
	s.Id = &v
	return s
}

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

	// JSON blob containing additional fixed properties regarding the worker fleet
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// Full ARN of the worker fleet.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// Filters access by the worker fleet's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `locationName:"site" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 GetWorkerFleetOutput) 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 GetWorkerFleetOutput) GoString() string {
	return s.String()
}

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *GetWorkerFleetOutput) SetAdditionalFixedProperties(v string) *GetWorkerFleetOutput {
	s.AdditionalFixedProperties = &v
	return s
}

// SetArn sets the Arn field's value.
func (s *GetWorkerFleetOutput) SetArn(v string) *GetWorkerFleetOutput {
	s.Arn = &v
	return s
}

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

// SetId sets the Id field's value.
func (s *GetWorkerFleetOutput) SetId(v string) *GetWorkerFleetOutput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *GetWorkerFleetOutput) SetName(v string) *GetWorkerFleetOutput {
	s.Name = &v
	return s
}

// SetSite sets the Site field's value.
func (s *GetWorkerFleetOutput) SetSite(v string) *GetWorkerFleetOutput {
	s.Site = &v
	return s
}

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

type GetWorkerInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// Full ARN of the worker.
	//
	// Id is a required field
	Id *string `location:"querystring" locationName:"id" 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 GetWorkerInput) 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 GetWorkerInput) GoString() string {
	return s.String()
}

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

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

// SetId sets the Id field's value.
func (s *GetWorkerInput) SetId(v string) *GetWorkerInput {
	s.Id = &v
	return s
}

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

	// JSON blob containing unstructured worker properties that are fixed and won't
	// change during regular operation.
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// JSON blob containing unstructured worker properties that are transient and
	// may change during regular operation.
	AdditionalTransientProperties *string `locationName:"additionalTransientProperties" min:"1" type:"string"`

	// Full ARN of the worker.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// Full ARN of the worker fleet.
	//
	// Fleet is a required field
	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`

	// Filters access by the workers identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Worker orientation measured in units clockwise from north.
	Orientation *Orientation `locationName:"orientation" type:"structure"`

	// Supported coordinates for worker position.
	Position *PositionCoordinates `locationName:"position" type:"structure"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `locationName:"site" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" required:"true"`

	// Properties of the worker that are provided by the vendor FMS.
	VendorProperties *VendorProperties `locationName:"vendorProperties" 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 GetWorkerOutput) 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 GetWorkerOutput) GoString() string {
	return s.String()
}

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *GetWorkerOutput) SetAdditionalFixedProperties(v string) *GetWorkerOutput {
	s.AdditionalFixedProperties = &v
	return s
}

// SetAdditionalTransientProperties sets the AdditionalTransientProperties field's value.
func (s *GetWorkerOutput) SetAdditionalTransientProperties(v string) *GetWorkerOutput {
	s.AdditionalTransientProperties = &v
	return s
}

// SetArn sets the Arn field's value.
func (s *GetWorkerOutput) SetArn(v string) *GetWorkerOutput {
	s.Arn = &v
	return s
}

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

// SetFleet sets the Fleet field's value.
func (s *GetWorkerOutput) SetFleet(v string) *GetWorkerOutput {
	s.Fleet = &v
	return s
}

// SetId sets the Id field's value.
func (s *GetWorkerOutput) SetId(v string) *GetWorkerOutput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *GetWorkerOutput) SetName(v string) *GetWorkerOutput {
	s.Name = &v
	return s
}

// SetOrientation sets the Orientation field's value.
func (s *GetWorkerOutput) SetOrientation(v *Orientation) *GetWorkerOutput {
	s.Orientation = v
	return s
}

// SetPosition sets the Position field's value.
func (s *GetWorkerOutput) SetPosition(v *PositionCoordinates) *GetWorkerOutput {
	s.Position = v
	return s
}

// SetSite sets the Site field's value.
func (s *GetWorkerOutput) SetSite(v string) *GetWorkerOutput {
	s.Site = &v
	return s
}

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

// SetVendorProperties sets the VendorProperties field's value.
func (s *GetWorkerOutput) SetVendorProperties(v *VendorProperties) *GetWorkerOutput {
	s.VendorProperties = v
	return s
}

// Exception thrown if something goes wrong within the service.
type InternalServerException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" 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
}

type ListDestinationsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// Maximum number of results to retrieve in a single call.
	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`

	// Pagination token returned when another page of data exists. Provide it in
	// your next call to the API to receive the next page.
	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `location:"querystring" locationName:"site" min:"1" type:"string" required:"true"`

	// State of the destination.
	State *string `location:"querystring" locationName:"state" type:"string" enum:"DestinationState"`
}

// 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 ListDestinationsInput) 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 ListDestinationsInput) GoString() string {
	return s.String()
}

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

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

// SetMaxResults sets the MaxResults field's value.
func (s *ListDestinationsInput) SetMaxResults(v int64) *ListDestinationsInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListDestinationsInput) SetNextToken(v string) *ListDestinationsInput {
	s.NextToken = &v
	return s
}

// SetSite sets the Site field's value.
func (s *ListDestinationsInput) SetSite(v string) *ListDestinationsInput {
	s.Site = &v
	return s
}

// SetState sets the State field's value.
func (s *ListDestinationsInput) SetState(v string) *ListDestinationsInput {
	s.State = &v
	return s
}

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

	// List of destinations.
	Destinations []*Destination `locationName:"destinations" type:"list"`

	// Pagination token returned when another page of data exists. Provide it in
	// your next call to the API to receive the next page.
	NextToken *string `locationName:"nextToken" 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 ListDestinationsOutput) 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 ListDestinationsOutput) GoString() string {
	return s.String()
}

// SetDestinations sets the Destinations field's value.
func (s *ListDestinationsOutput) SetDestinations(v []*Destination) *ListDestinationsOutput {
	s.Destinations = v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListDestinationsOutput) SetNextToken(v string) *ListDestinationsOutput {
	s.NextToken = &v
	return s
}

type ListSitesInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// Maximum number of results to retrieve in a single ListSites call.
	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`

	// Pagination token returned when another page of data exists. Provide it in
	// your next call to the API to receive the next page.
	NextToken *string `location:"querystring" locationName:"nextToken" 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 ListSitesInput) 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 ListSitesInput) GoString() string {
	return s.String()
}

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

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

// SetMaxResults sets the MaxResults field's value.
func (s *ListSitesInput) SetMaxResults(v int64) *ListSitesInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListSitesInput) SetNextToken(v string) *ListSitesInput {
	s.NextToken = &v
	return s
}

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

	// Pagination token returned when another page of data exists. Provide it in
	// your next call to the API to receive the next page.
	NextToken *string `locationName:"nextToken" min:"1" type:"string"`

	// List of facilities.
	Sites []*Site `locationName:"sites" 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 ListSitesOutput) 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 ListSitesOutput) GoString() string {
	return s.String()
}

// SetNextToken sets the NextToken field's value.
func (s *ListSitesOutput) SetNextToken(v string) *ListSitesOutput {
	s.NextToken = &v
	return s
}

// SetSites sets the Sites field's value.
func (s *ListSitesOutput) SetSites(v []*Site) *ListSitesOutput {
	s.Sites = v
	return s
}

type ListWorkerFleetsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// Maximum number of results to retrieve in a single ListWorkerFleets call.
	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`

	// Pagination token returned when another page of data exists. Provide it in
	// your next call to the API to receive the next page.
	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `location:"querystring" locationName:"site" 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 ListWorkerFleetsInput) 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 ListWorkerFleetsInput) GoString() string {
	return s.String()
}

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

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

// SetMaxResults sets the MaxResults field's value.
func (s *ListWorkerFleetsInput) SetMaxResults(v int64) *ListWorkerFleetsInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListWorkerFleetsInput) SetNextToken(v string) *ListWorkerFleetsInput {
	s.NextToken = &v
	return s
}

// SetSite sets the Site field's value.
func (s *ListWorkerFleetsInput) SetSite(v string) *ListWorkerFleetsInput {
	s.Site = &v
	return s
}

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

	// Pagination token returned when another page of data exists. Provide it in
	// your next call to the API to receive the next page.
	NextToken *string `locationName:"nextToken" min:"1" type:"string"`

	// List of worker fleets.
	WorkerFleets []*WorkerFleet `locationName:"workerFleets" 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 ListWorkerFleetsOutput) 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 ListWorkerFleetsOutput) GoString() string {
	return s.String()
}

// SetNextToken sets the NextToken field's value.
func (s *ListWorkerFleetsOutput) SetNextToken(v string) *ListWorkerFleetsOutput {
	s.NextToken = &v
	return s
}

// SetWorkerFleets sets the WorkerFleets field's value.
func (s *ListWorkerFleetsOutput) SetWorkerFleets(v []*WorkerFleet) *ListWorkerFleetsOutput {
	s.WorkerFleets = v
	return s
}

type ListWorkersInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// Full ARN of the worker fleet.
	Fleet *string `location:"querystring" locationName:"fleet" min:"1" type:"string"`

	// Maximum number of results to retrieve in a single ListWorkers call.
	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`

	// Pagination token returned when another page of data exists. Provide it in
	// your next call to the API to receive the next page.
	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `location:"querystring" locationName:"site" 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 ListWorkersInput) 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 ListWorkersInput) GoString() string {
	return s.String()
}

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

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

// SetFleet sets the Fleet field's value.
func (s *ListWorkersInput) SetFleet(v string) *ListWorkersInput {
	s.Fleet = &v
	return s
}

// SetMaxResults sets the MaxResults field's value.
func (s *ListWorkersInput) SetMaxResults(v int64) *ListWorkersInput {
	s.MaxResults = &v
	return s
}

// SetNextToken sets the NextToken field's value.
func (s *ListWorkersInput) SetNextToken(v string) *ListWorkersInput {
	s.NextToken = &v
	return s
}

// SetSite sets the Site field's value.
func (s *ListWorkersInput) SetSite(v string) *ListWorkersInput {
	s.Site = &v
	return s
}

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

	// Pagination token returned when another page of data exists. Provide it in
	// your next call to the API to receive the next page.
	NextToken *string `locationName:"nextToken" min:"1" type:"string"`

	// List of workers.
	Workers []*Worker `locationName:"workers" 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 ListWorkersOutput) 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 ListWorkersOutput) GoString() string {
	return s.String()
}

// SetNextToken sets the NextToken field's value.
func (s *ListWorkersOutput) SetNextToken(v string) *ListWorkersOutput {
	s.NextToken = &v
	return s
}

// SetWorkers sets the Workers field's value.
func (s *ListWorkersOutput) SetWorkers(v []*Worker) *ListWorkersOutput {
	s.Workers = v
	return s
}

// Worker orientation measured in units clockwise from north.
type Orientation struct {
	_ struct{} `type:"structure"`

	// Degrees, limited on [0, 360)
	Degrees *float64 `locationName:"degrees" type:"double"`
}

// 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 Orientation) 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 Orientation) GoString() string {
	return s.String()
}

// SetDegrees sets the Degrees field's value.
func (s *Orientation) SetDegrees(v float64) *Orientation {
	s.Degrees = &v
	return s
}

// Supported coordinates for worker position.
type PositionCoordinates struct {
	_ struct{} `type:"structure"`

	// Cartesian coordinates.
	CartesianCoordinates *CartesianCoordinates `locationName:"cartesianCoordinates" 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 PositionCoordinates) 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 PositionCoordinates) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *PositionCoordinates) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "PositionCoordinates"}
	if s.CartesianCoordinates != nil {
		if err := s.CartesianCoordinates.Validate(); err != nil {
			invalidParams.AddNested("CartesianCoordinates", err.(request.ErrInvalidParams))
		}
	}

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

// SetCartesianCoordinates sets the CartesianCoordinates field's value.
func (s *PositionCoordinates) SetCartesianCoordinates(v *CartesianCoordinates) *PositionCoordinates {
	s.CartesianCoordinates = v
	return s
}

// Exception thrown if a resource referenced in the request doesn't exist.
type ResourceNotFoundException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" 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
}

// Exception thrown if the user's AWS account has reached a service limit and
// the operation cannot proceed.
type ServiceQuotaExceededException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" 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
}

// Facility containing destinations, workers, activities, and tasks.
type Site struct {
	_ struct{} `type:"structure"`

	// Site ARN.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// A valid ISO 3166-1 alpha-2 code for the country in which the site resides.
	// e.g., US.
	//
	// CountryCode is a required field
	CountryCode *string `locationName:"countryCode" min:"2" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// The name of the site. Mutable after creation and unique within a given account.
	//
	// Name is a required field
	Name *string `locationName:"name" 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 Site) 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 Site) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *Site) SetArn(v string) *Site {
	s.Arn = &v
	return s
}

// SetCountryCode sets the CountryCode field's value.
func (s *Site) SetCountryCode(v string) *Site {
	s.CountryCode = &v
	return s
}

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

// SetName sets the Name field's value.
func (s *Site) SetName(v string) *Site {
	s.Name = &v
	return s
}

// Exception thrown if the api has been called too quickly be the client.
type ThrottlingException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" 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
}

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

	// JSON document containing additional fixed properties regarding the destination
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// Destination ARN.
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	Name *string `locationName:"name" min:"1" type:"string"`

	// State of the destination.
	State *string `locationName:"state" type:"string" enum:"DestinationState"`
}

// 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 UpdateDestinationInput) 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 UpdateDestinationInput) GoString() string {
	return s.String()
}

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

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

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *UpdateDestinationInput) SetAdditionalFixedProperties(v string) *UpdateDestinationInput {
	s.AdditionalFixedProperties = &v
	return s
}

// SetId sets the Id field's value.
func (s *UpdateDestinationInput) SetId(v string) *UpdateDestinationInput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *UpdateDestinationInput) SetName(v string) *UpdateDestinationInput {
	s.Name = &v
	return s
}

// SetState sets the State field's value.
func (s *UpdateDestinationInput) SetState(v string) *UpdateDestinationInput {
	s.State = &v
	return s
}

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

	// JSON document containing additional fixed properties regarding the destination
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// Destination ARN.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Filters access by the destination's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// State of the destination.
	//
	// State is a required field
	State *string `locationName:"state" type:"string" required:"true" enum:"DestinationState"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 UpdateDestinationOutput) 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 UpdateDestinationOutput) GoString() string {
	return s.String()
}

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *UpdateDestinationOutput) SetAdditionalFixedProperties(v string) *UpdateDestinationOutput {
	s.AdditionalFixedProperties = &v
	return s
}

// SetArn sets the Arn field's value.
func (s *UpdateDestinationOutput) SetArn(v string) *UpdateDestinationOutput {
	s.Arn = &v
	return s
}

// SetId sets the Id field's value.
func (s *UpdateDestinationOutput) SetId(v string) *UpdateDestinationOutput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *UpdateDestinationOutput) SetName(v string) *UpdateDestinationOutput {
	s.Name = &v
	return s
}

// SetState sets the State field's value.
func (s *UpdateDestinationOutput) SetState(v string) *UpdateDestinationOutput {
	s.State = &v
	return s
}

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

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

	// A valid ISO 3166-1 alpha-2 code for the country in which the site resides.
	// e.g., US.
	CountryCode *string `locationName:"countryCode" min:"2" type:"string"`

	// A high-level description of the site.
	Description *string `locationName:"description" type:"string"`

	// Site ARN.
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	Name *string `locationName:"name" 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 UpdateSiteInput) 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 UpdateSiteInput) GoString() string {
	return s.String()
}

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

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

// SetCountryCode sets the CountryCode field's value.
func (s *UpdateSiteInput) SetCountryCode(v string) *UpdateSiteInput {
	s.CountryCode = &v
	return s
}

// SetDescription sets the Description field's value.
func (s *UpdateSiteInput) SetDescription(v string) *UpdateSiteInput {
	s.Description = &v
	return s
}

// SetId sets the Id field's value.
func (s *UpdateSiteInput) SetId(v string) *UpdateSiteInput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *UpdateSiteInput) SetName(v string) *UpdateSiteInput {
	s.Name = &v
	return s
}

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

	// Site ARN.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// A valid ISO 3166-1 alpha-2 code for the country in which the site resides.
	// e.g., US.
	CountryCode *string `locationName:"countryCode" min:"2" type:"string"`

	// A high-level description of the site.
	Description *string `locationName:"description" type:"string"`

	// Filters access by the site's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 UpdateSiteOutput) 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 UpdateSiteOutput) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *UpdateSiteOutput) SetArn(v string) *UpdateSiteOutput {
	s.Arn = &v
	return s
}

// SetCountryCode sets the CountryCode field's value.
func (s *UpdateSiteOutput) SetCountryCode(v string) *UpdateSiteOutput {
	s.CountryCode = &v
	return s
}

// SetDescription sets the Description field's value.
func (s *UpdateSiteOutput) SetDescription(v string) *UpdateSiteOutput {
	s.Description = &v
	return s
}

// SetId sets the Id field's value.
func (s *UpdateSiteOutput) SetId(v string) *UpdateSiteOutput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *UpdateSiteOutput) SetName(v string) *UpdateSiteOutput {
	s.Name = &v
	return s
}

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

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

	// JSON blob containing additional fixed properties regarding the worker fleet
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// Full ARN of the worker fleet.
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	Name *string `locationName:"name" 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 UpdateWorkerFleetInput) 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 UpdateWorkerFleetInput) GoString() string {
	return s.String()
}

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

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

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *UpdateWorkerFleetInput) SetAdditionalFixedProperties(v string) *UpdateWorkerFleetInput {
	s.AdditionalFixedProperties = &v
	return s
}

// SetId sets the Id field's value.
func (s *UpdateWorkerFleetInput) SetId(v string) *UpdateWorkerFleetInput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *UpdateWorkerFleetInput) SetName(v string) *UpdateWorkerFleetInput {
	s.Name = &v
	return s
}

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

	// JSON blob containing additional fixed properties regarding the worker fleet
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// Full ARN of the worker fleet.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Filters access by the worker fleet's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 UpdateWorkerFleetOutput) 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 UpdateWorkerFleetOutput) GoString() string {
	return s.String()
}

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *UpdateWorkerFleetOutput) SetAdditionalFixedProperties(v string) *UpdateWorkerFleetOutput {
	s.AdditionalFixedProperties = &v
	return s
}

// SetArn sets the Arn field's value.
func (s *UpdateWorkerFleetOutput) SetArn(v string) *UpdateWorkerFleetOutput {
	s.Arn = &v
	return s
}

// SetId sets the Id field's value.
func (s *UpdateWorkerFleetOutput) SetId(v string) *UpdateWorkerFleetOutput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *UpdateWorkerFleetOutput) SetName(v string) *UpdateWorkerFleetOutput {
	s.Name = &v
	return s
}

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

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

	// JSON blob containing unstructured worker properties that are fixed and won't
	// change during regular operation.
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// JSON blob containing unstructured worker properties that are transient and
	// may change during regular operation.
	AdditionalTransientProperties *string `locationName:"additionalTransientProperties" min:"1" type:"string"`

	// Full ARN of the worker.
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	Name *string `locationName:"name" min:"1" type:"string"`

	// Worker orientation measured in units clockwise from north.
	Orientation *Orientation `locationName:"orientation" type:"structure"`

	// Supported coordinates for worker position.
	Position *PositionCoordinates `locationName:"position" type:"structure"`

	// Properties of the worker that are provided by the vendor FMS.
	VendorProperties *VendorProperties `locationName:"vendorProperties" 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 UpdateWorkerInput) 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 UpdateWorkerInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateWorkerInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "UpdateWorkerInput"}
	if s.AdditionalFixedProperties != nil && len(*s.AdditionalFixedProperties) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("AdditionalFixedProperties", 1))
	}
	if s.AdditionalTransientProperties != nil && len(*s.AdditionalTransientProperties) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("AdditionalTransientProperties", 1))
	}
	if s.Id == nil {
		invalidParams.Add(request.NewErrParamRequired("Id"))
	}
	if s.Id != nil && len(*s.Id) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
	}
	if s.Name != nil && len(*s.Name) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
	}
	if s.Position != nil {
		if err := s.Position.Validate(); err != nil {
			invalidParams.AddNested("Position", err.(request.ErrInvalidParams))
		}
	}
	if s.VendorProperties != nil {
		if err := s.VendorProperties.Validate(); err != nil {
			invalidParams.AddNested("VendorProperties", err.(request.ErrInvalidParams))
		}
	}

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

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *UpdateWorkerInput) SetAdditionalFixedProperties(v string) *UpdateWorkerInput {
	s.AdditionalFixedProperties = &v
	return s
}

// SetAdditionalTransientProperties sets the AdditionalTransientProperties field's value.
func (s *UpdateWorkerInput) SetAdditionalTransientProperties(v string) *UpdateWorkerInput {
	s.AdditionalTransientProperties = &v
	return s
}

// SetId sets the Id field's value.
func (s *UpdateWorkerInput) SetId(v string) *UpdateWorkerInput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *UpdateWorkerInput) SetName(v string) *UpdateWorkerInput {
	s.Name = &v
	return s
}

// SetOrientation sets the Orientation field's value.
func (s *UpdateWorkerInput) SetOrientation(v *Orientation) *UpdateWorkerInput {
	s.Orientation = v
	return s
}

// SetPosition sets the Position field's value.
func (s *UpdateWorkerInput) SetPosition(v *PositionCoordinates) *UpdateWorkerInput {
	s.Position = v
	return s
}

// SetVendorProperties sets the VendorProperties field's value.
func (s *UpdateWorkerInput) SetVendorProperties(v *VendorProperties) *UpdateWorkerInput {
	s.VendorProperties = v
	return s
}

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

	// JSON blob containing unstructured worker properties that are fixed and won't
	// change during regular operation.
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// JSON blob containing unstructured worker properties that are transient and
	// may change during regular operation.
	AdditionalTransientProperties *string `locationName:"additionalTransientProperties" min:"1" type:"string"`

	// Full ARN of the worker.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Full ARN of the worker fleet.
	//
	// Fleet is a required field
	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`

	// Filters access by the workers identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Worker orientation measured in units clockwise from north.
	Orientation *Orientation `locationName:"orientation" type:"structure"`

	// Supported coordinates for worker position.
	Position *PositionCoordinates `locationName:"position" type:"structure"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" required:"true"`

	// Properties of the worker that are provided by the vendor FMS.
	VendorProperties *VendorProperties `locationName:"vendorProperties" 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 UpdateWorkerOutput) 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 UpdateWorkerOutput) GoString() string {
	return s.String()
}

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *UpdateWorkerOutput) SetAdditionalFixedProperties(v string) *UpdateWorkerOutput {
	s.AdditionalFixedProperties = &v
	return s
}

// SetAdditionalTransientProperties sets the AdditionalTransientProperties field's value.
func (s *UpdateWorkerOutput) SetAdditionalTransientProperties(v string) *UpdateWorkerOutput {
	s.AdditionalTransientProperties = &v
	return s
}

// SetArn sets the Arn field's value.
func (s *UpdateWorkerOutput) SetArn(v string) *UpdateWorkerOutput {
	s.Arn = &v
	return s
}

// SetFleet sets the Fleet field's value.
func (s *UpdateWorkerOutput) SetFleet(v string) *UpdateWorkerOutput {
	s.Fleet = &v
	return s
}

// SetId sets the Id field's value.
func (s *UpdateWorkerOutput) SetId(v string) *UpdateWorkerOutput {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *UpdateWorkerOutput) SetName(v string) *UpdateWorkerOutput {
	s.Name = &v
	return s
}

// SetOrientation sets the Orientation field's value.
func (s *UpdateWorkerOutput) SetOrientation(v *Orientation) *UpdateWorkerOutput {
	s.Orientation = v
	return s
}

// SetPosition sets the Position field's value.
func (s *UpdateWorkerOutput) SetPosition(v *PositionCoordinates) *UpdateWorkerOutput {
	s.Position = v
	return s
}

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

// SetVendorProperties sets the VendorProperties field's value.
func (s *UpdateWorkerOutput) SetVendorProperties(v *VendorProperties) *UpdateWorkerOutput {
	s.VendorProperties = v
	return s
}

// Exception thrown if an invalid parameter is provided to an API.
type ValidationException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" 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
}

// Properties of the worker that are provided by the vendor FMS.
type VendorProperties struct {
	_ struct{} `type:"structure"`

	// JSON blob containing unstructured vendor properties that are fixed and won't
	// change during regular operation.
	VendorAdditionalFixedProperties *string `locationName:"vendorAdditionalFixedProperties" min:"1" type:"string"`

	// JSON blob containing unstructured vendor properties that are transient and
	// may change during regular operation.
	VendorAdditionalTransientProperties *string `locationName:"vendorAdditionalTransientProperties" min:"1" type:"string"`

	// The worker ID defined by the vendor FMS.
	//
	// VendorWorkerId is a required field
	VendorWorkerId *string `locationName:"vendorWorkerId" min:"1" type:"string" required:"true"`

	// The worker IP address defined by the vendor FMS.
	VendorWorkerIpAddress *string `locationName:"vendorWorkerIpAddress" 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 VendorProperties) 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 VendorProperties) GoString() string {
	return s.String()
}

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

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

// SetVendorAdditionalFixedProperties sets the VendorAdditionalFixedProperties field's value.
func (s *VendorProperties) SetVendorAdditionalFixedProperties(v string) *VendorProperties {
	s.VendorAdditionalFixedProperties = &v
	return s
}

// SetVendorAdditionalTransientProperties sets the VendorAdditionalTransientProperties field's value.
func (s *VendorProperties) SetVendorAdditionalTransientProperties(v string) *VendorProperties {
	s.VendorAdditionalTransientProperties = &v
	return s
}

// SetVendorWorkerId sets the VendorWorkerId field's value.
func (s *VendorProperties) SetVendorWorkerId(v string) *VendorProperties {
	s.VendorWorkerId = &v
	return s
}

// SetVendorWorkerIpAddress sets the VendorWorkerIpAddress field's value.
func (s *VendorProperties) SetVendorWorkerIpAddress(v string) *VendorProperties {
	s.VendorWorkerIpAddress = &v
	return s
}

// A unit capable of performing tasks.
type Worker struct {
	_ struct{} `type:"structure"`

	// JSON blob containing unstructured worker properties that are fixed and won't
	// change during regular operation.
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// JSON blob containing unstructured worker properties that are transient and
	// may change during regular operation.
	AdditionalTransientProperties *string `locationName:"additionalTransientProperties" min:"1" type:"string"`

	// Full ARN of the worker.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// Full ARN of the worker fleet.
	//
	// Fleet is a required field
	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`

	// Filters access by the workers identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Worker orientation measured in units clockwise from north.
	Orientation *Orientation `locationName:"orientation" type:"structure"`

	// Supported coordinates for worker position.
	Position *PositionCoordinates `locationName:"position" type:"structure"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `locationName:"site" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" required:"true"`

	// Properties of the worker that are provided by the vendor FMS.
	VendorProperties *VendorProperties `locationName:"vendorProperties" 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 Worker) 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 Worker) GoString() string {
	return s.String()
}

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *Worker) SetAdditionalFixedProperties(v string) *Worker {
	s.AdditionalFixedProperties = &v
	return s
}

// SetAdditionalTransientProperties sets the AdditionalTransientProperties field's value.
func (s *Worker) SetAdditionalTransientProperties(v string) *Worker {
	s.AdditionalTransientProperties = &v
	return s
}

// SetArn sets the Arn field's value.
func (s *Worker) SetArn(v string) *Worker {
	s.Arn = &v
	return s
}

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

// SetFleet sets the Fleet field's value.
func (s *Worker) SetFleet(v string) *Worker {
	s.Fleet = &v
	return s
}

// SetId sets the Id field's value.
func (s *Worker) SetId(v string) *Worker {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *Worker) SetName(v string) *Worker {
	s.Name = &v
	return s
}

// SetOrientation sets the Orientation field's value.
func (s *Worker) SetOrientation(v *Orientation) *Worker {
	s.Orientation = v
	return s
}

// SetPosition sets the Position field's value.
func (s *Worker) SetPosition(v *PositionCoordinates) *Worker {
	s.Position = v
	return s
}

// SetSite sets the Site field's value.
func (s *Worker) SetSite(v string) *Worker {
	s.Site = &v
	return s
}

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

// SetVendorProperties sets the VendorProperties field's value.
func (s *Worker) SetVendorProperties(v *VendorProperties) *Worker {
	s.VendorProperties = v
	return s
}

// A collection of workers organized within a facility.
type WorkerFleet struct {
	_ struct{} `type:"structure"`

	// JSON blob containing additional fixed properties regarding the worker fleet
	AdditionalFixedProperties *string `locationName:"additionalFixedProperties" min:"1" type:"string"`

	// Full ARN of the worker fleet.
	//
	// Arn is a required field
	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was created.
	//
	// CreatedAt is a required field
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`

	// Filters access by the worker fleet's identifier
	//
	// Id is a required field
	Id *string `locationName:"id" min:"1" type:"string" required:"true"`

	// Human friendly name of the resource.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// Site ARN.
	//
	// Site is a required field
	Site *string `locationName:"site" min:"1" type:"string" required:"true"`

	// Timestamp at which the resource was last updated.
	//
	// UpdatedAt is a required field
	UpdatedAt *time.Time `locationName:"updatedAt" 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 WorkerFleet) 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 WorkerFleet) GoString() string {
	return s.String()
}

// SetAdditionalFixedProperties sets the AdditionalFixedProperties field's value.
func (s *WorkerFleet) SetAdditionalFixedProperties(v string) *WorkerFleet {
	s.AdditionalFixedProperties = &v
	return s
}

// SetArn sets the Arn field's value.
func (s *WorkerFleet) SetArn(v string) *WorkerFleet {
	s.Arn = &v
	return s
}

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

// SetId sets the Id field's value.
func (s *WorkerFleet) SetId(v string) *WorkerFleet {
	s.Id = &v
	return s
}

// SetName sets the Name field's value.
func (s *WorkerFleet) SetName(v string) *WorkerFleet {
	s.Name = &v
	return s
}

// SetSite sets the Site field's value.
func (s *WorkerFleet) SetSite(v string) *WorkerFleet {
	s.Site = &v
	return s
}

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

// State of the destination.
const (
	// DestinationStateEnabled is a DestinationState enum value
	DestinationStateEnabled = "ENABLED"

	// DestinationStateDisabled is a DestinationState enum value
	DestinationStateDisabled = "DISABLED"

	// DestinationStateDecommissioned is a DestinationState enum value
	DestinationStateDecommissioned = "DECOMMISSIONED"
)

// DestinationState_Values returns all elements of the DestinationState enum
func DestinationState_Values() []string {
	return []string{
		DestinationStateEnabled,
		DestinationStateDisabled,
		DestinationStateDecommissioned,
	}
}
© 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