rclone/vendor/github.com/aws/aws-sdk-go/service/iotdataplane/api.go
2017-09-30 15:27:27 +01:00

689 lines
22 KiB
Go

// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package iotdataplane
import (
"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 opDeleteThingShadow = "DeleteThingShadow"
// DeleteThingShadowRequest generates a "aws/request.Request" representing the
// client's request for the DeleteThingShadow operation. The "output" return
// value will be populated with the request's response once the request complets
// successfuly.
//
// 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 DeleteThingShadow for more information on using the DeleteThingShadow
// 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 DeleteThingShadowRequest method.
// req, resp := client.DeleteThingShadowRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
func (c *IoTDataPlane) DeleteThingShadowRequest(input *DeleteThingShadowInput) (req *request.Request, output *DeleteThingShadowOutput) {
op := &request.Operation{
Name: opDeleteThingShadow,
HTTPMethod: "DELETE",
HTTPPath: "/things/{thingName}/shadow",
}
if input == nil {
input = &DeleteThingShadowInput{}
}
output = &DeleteThingShadowOutput{}
req = c.newRequest(op, input, output)
return
}
// DeleteThingShadow API operation for AWS IoT Data Plane.
//
// Deletes the thing shadow for the specified thing.
//
// For more information, see DeleteThingShadow (http://docs.aws.amazon.com/iot/latest/developerguide/API_DeleteThingShadow.html)
// in the AWS IoT Developer Guide.
//
// 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 Data Plane's
// API operation DeleteThingShadow for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// The specified resource does not exist.
//
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is not valid.
//
// * ErrCodeThrottlingException "ThrottlingException"
// The rate exceeds the limit.
//
// * ErrCodeUnauthorizedException "UnauthorizedException"
// You are not authorized to perform this operation.
//
// * ErrCodeServiceUnavailableException "ServiceUnavailableException"
// The service is temporarily unavailable.
//
// * ErrCodeInternalFailureException "InternalFailureException"
// An unexpected error has occurred.
//
// * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
// The specified combination of HTTP verb and URI is not supported.
//
// * ErrCodeUnsupportedDocumentEncodingException "UnsupportedDocumentEncodingException"
// The document encoding is not supported.
//
func (c *IoTDataPlane) DeleteThingShadow(input *DeleteThingShadowInput) (*DeleteThingShadowOutput, error) {
req, out := c.DeleteThingShadowRequest(input)
return out, req.Send()
}
// DeleteThingShadowWithContext is the same as DeleteThingShadow with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteThingShadow 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 *IoTDataPlane) DeleteThingShadowWithContext(ctx aws.Context, input *DeleteThingShadowInput, opts ...request.Option) (*DeleteThingShadowOutput, error) {
req, out := c.DeleteThingShadowRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetThingShadow = "GetThingShadow"
// GetThingShadowRequest generates a "aws/request.Request" representing the
// client's request for the GetThingShadow operation. The "output" return
// value will be populated with the request's response once the request complets
// successfuly.
//
// 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 GetThingShadow for more information on using the GetThingShadow
// 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 GetThingShadowRequest method.
// req, resp := client.GetThingShadowRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
func (c *IoTDataPlane) GetThingShadowRequest(input *GetThingShadowInput) (req *request.Request, output *GetThingShadowOutput) {
op := &request.Operation{
Name: opGetThingShadow,
HTTPMethod: "GET",
HTTPPath: "/things/{thingName}/shadow",
}
if input == nil {
input = &GetThingShadowInput{}
}
output = &GetThingShadowOutput{}
req = c.newRequest(op, input, output)
return
}
// GetThingShadow API operation for AWS IoT Data Plane.
//
// Gets the thing shadow for the specified thing.
//
// For more information, see GetThingShadow (http://docs.aws.amazon.com/iot/latest/developerguide/API_GetThingShadow.html)
// in the AWS IoT Developer Guide.
//
// 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 Data Plane's
// API operation GetThingShadow for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is not valid.
//
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// The specified resource does not exist.
//
// * ErrCodeThrottlingException "ThrottlingException"
// The rate exceeds the limit.
//
// * ErrCodeUnauthorizedException "UnauthorizedException"
// You are not authorized to perform this operation.
//
// * ErrCodeServiceUnavailableException "ServiceUnavailableException"
// The service is temporarily unavailable.
//
// * ErrCodeInternalFailureException "InternalFailureException"
// An unexpected error has occurred.
//
// * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
// The specified combination of HTTP verb and URI is not supported.
//
// * ErrCodeUnsupportedDocumentEncodingException "UnsupportedDocumentEncodingException"
// The document encoding is not supported.
//
func (c *IoTDataPlane) GetThingShadow(input *GetThingShadowInput) (*GetThingShadowOutput, error) {
req, out := c.GetThingShadowRequest(input)
return out, req.Send()
}
// GetThingShadowWithContext is the same as GetThingShadow with the addition of
// the ability to pass a context and additional request options.
//
// See GetThingShadow 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 *IoTDataPlane) GetThingShadowWithContext(ctx aws.Context, input *GetThingShadowInput, opts ...request.Option) (*GetThingShadowOutput, error) {
req, out := c.GetThingShadowRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opPublish = "Publish"
// PublishRequest generates a "aws/request.Request" representing the
// client's request for the Publish operation. The "output" return
// value will be populated with the request's response once the request complets
// successfuly.
//
// 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 Publish for more information on using the Publish
// 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 PublishRequest method.
// req, resp := client.PublishRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
func (c *IoTDataPlane) PublishRequest(input *PublishInput) (req *request.Request, output *PublishOutput) {
op := &request.Operation{
Name: opPublish,
HTTPMethod: "POST",
HTTPPath: "/topics/{topic}",
}
if input == nil {
input = &PublishInput{}
}
output = &PublishOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Remove(restjson.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
return
}
// Publish API operation for AWS IoT Data Plane.
//
// Publishes state information.
//
// For more information, see HTTP Protocol (http://docs.aws.amazon.com/iot/latest/developerguide/protocols.html#http)
// in the AWS IoT Developer Guide.
//
// 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 Data Plane's
// API operation Publish for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInternalFailureException "InternalFailureException"
// An unexpected error has occurred.
//
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is not valid.
//
// * ErrCodeUnauthorizedException "UnauthorizedException"
// You are not authorized to perform this operation.
//
// * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
// The specified combination of HTTP verb and URI is not supported.
//
func (c *IoTDataPlane) Publish(input *PublishInput) (*PublishOutput, error) {
req, out := c.PublishRequest(input)
return out, req.Send()
}
// PublishWithContext is the same as Publish with the addition of
// the ability to pass a context and additional request options.
//
// See Publish 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 *IoTDataPlane) PublishWithContext(ctx aws.Context, input *PublishInput, opts ...request.Option) (*PublishOutput, error) {
req, out := c.PublishRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUpdateThingShadow = "UpdateThingShadow"
// UpdateThingShadowRequest generates a "aws/request.Request" representing the
// client's request for the UpdateThingShadow operation. The "output" return
// value will be populated with the request's response once the request complets
// successfuly.
//
// 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 UpdateThingShadow for more information on using the UpdateThingShadow
// 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 UpdateThingShadowRequest method.
// req, resp := client.UpdateThingShadowRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
func (c *IoTDataPlane) UpdateThingShadowRequest(input *UpdateThingShadowInput) (req *request.Request, output *UpdateThingShadowOutput) {
op := &request.Operation{
Name: opUpdateThingShadow,
HTTPMethod: "POST",
HTTPPath: "/things/{thingName}/shadow",
}
if input == nil {
input = &UpdateThingShadowInput{}
}
output = &UpdateThingShadowOutput{}
req = c.newRequest(op, input, output)
return
}
// UpdateThingShadow API operation for AWS IoT Data Plane.
//
// Updates the thing shadow for the specified thing.
//
// For more information, see UpdateThingShadow (http://docs.aws.amazon.com/iot/latest/developerguide/API_UpdateThingShadow.html)
// in the AWS IoT Developer Guide.
//
// 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 Data Plane's
// API operation UpdateThingShadow for usage and error information.
//
// Returned Error Codes:
// * ErrCodeConflictException "ConflictException"
// The specified version does not match the version of the document.
//
// * ErrCodeRequestEntityTooLargeException "RequestEntityTooLargeException"
// The payload exceeds the maximum size allowed.
//
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is not valid.
//
// * ErrCodeThrottlingException "ThrottlingException"
// The rate exceeds the limit.
//
// * ErrCodeUnauthorizedException "UnauthorizedException"
// You are not authorized to perform this operation.
//
// * ErrCodeServiceUnavailableException "ServiceUnavailableException"
// The service is temporarily unavailable.
//
// * ErrCodeInternalFailureException "InternalFailureException"
// An unexpected error has occurred.
//
// * ErrCodeMethodNotAllowedException "MethodNotAllowedException"
// The specified combination of HTTP verb and URI is not supported.
//
// * ErrCodeUnsupportedDocumentEncodingException "UnsupportedDocumentEncodingException"
// The document encoding is not supported.
//
func (c *IoTDataPlane) UpdateThingShadow(input *UpdateThingShadowInput) (*UpdateThingShadowOutput, error) {
req, out := c.UpdateThingShadowRequest(input)
return out, req.Send()
}
// UpdateThingShadowWithContext is the same as UpdateThingShadow with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateThingShadow 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 *IoTDataPlane) UpdateThingShadowWithContext(ctx aws.Context, input *UpdateThingShadowInput, opts ...request.Option) (*UpdateThingShadowOutput, error) {
req, out := c.UpdateThingShadowRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// The input for the DeleteThingShadow operation.
type DeleteThingShadowInput struct {
_ struct{} `type:"structure"`
// The name of the thing.
//
// ThingName is a required field
ThingName *string `location:"uri" locationName:"thingName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteThingShadowInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteThingShadowInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteThingShadowInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteThingShadowInput"}
if s.ThingName == nil {
invalidParams.Add(request.NewErrParamRequired("ThingName"))
}
if s.ThingName != nil && len(*s.ThingName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetThingName sets the ThingName field's value.
func (s *DeleteThingShadowInput) SetThingName(v string) *DeleteThingShadowInput {
s.ThingName = &v
return s
}
// The output from the DeleteThingShadow operation.
type DeleteThingShadowOutput struct {
_ struct{} `type:"structure" payload:"Payload"`
// The state information, in JSON format.
//
// Payload is a required field
Payload []byte `locationName:"payload" type:"blob" required:"true"`
}
// String returns the string representation
func (s DeleteThingShadowOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteThingShadowOutput) GoString() string {
return s.String()
}
// SetPayload sets the Payload field's value.
func (s *DeleteThingShadowOutput) SetPayload(v []byte) *DeleteThingShadowOutput {
s.Payload = v
return s
}
// The input for the GetThingShadow operation.
type GetThingShadowInput struct {
_ struct{} `type:"structure"`
// The name of the thing.
//
// ThingName is a required field
ThingName *string `location:"uri" locationName:"thingName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
func (s GetThingShadowInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetThingShadowInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetThingShadowInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetThingShadowInput"}
if s.ThingName == nil {
invalidParams.Add(request.NewErrParamRequired("ThingName"))
}
if s.ThingName != nil && len(*s.ThingName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetThingName sets the ThingName field's value.
func (s *GetThingShadowInput) SetThingName(v string) *GetThingShadowInput {
s.ThingName = &v
return s
}
// The output from the GetThingShadow operation.
type GetThingShadowOutput struct {
_ struct{} `type:"structure" payload:"Payload"`
// The state information, in JSON format.
Payload []byte `locationName:"payload" type:"blob"`
}
// String returns the string representation
func (s GetThingShadowOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetThingShadowOutput) GoString() string {
return s.String()
}
// SetPayload sets the Payload field's value.
func (s *GetThingShadowOutput) SetPayload(v []byte) *GetThingShadowOutput {
s.Payload = v
return s
}
// The input for the Publish operation.
type PublishInput struct {
_ struct{} `type:"structure" payload:"Payload"`
// The state information, in JSON format.
Payload []byte `locationName:"payload" type:"blob"`
// The Quality of Service (QoS) level.
Qos *int64 `location:"querystring" locationName:"qos" type:"integer"`
// The name of the MQTT topic.
//
// Topic is a required field
Topic *string `location:"uri" locationName:"topic" type:"string" required:"true"`
}
// String returns the string representation
func (s PublishInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PublishInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *PublishInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "PublishInput"}
if s.Topic == nil {
invalidParams.Add(request.NewErrParamRequired("Topic"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetPayload sets the Payload field's value.
func (s *PublishInput) SetPayload(v []byte) *PublishInput {
s.Payload = v
return s
}
// SetQos sets the Qos field's value.
func (s *PublishInput) SetQos(v int64) *PublishInput {
s.Qos = &v
return s
}
// SetTopic sets the Topic field's value.
func (s *PublishInput) SetTopic(v string) *PublishInput {
s.Topic = &v
return s
}
type PublishOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s PublishOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s PublishOutput) GoString() string {
return s.String()
}
// The input for the UpdateThingShadow operation.
type UpdateThingShadowInput struct {
_ struct{} `type:"structure" payload:"Payload"`
// The state information, in JSON format.
//
// Payload is a required field
Payload []byte `locationName:"payload" type:"blob" required:"true"`
// The name of the thing.
//
// ThingName is a required field
ThingName *string `location:"uri" locationName:"thingName" min:"1" type:"string" required:"true"`
}
// String returns the string representation
func (s UpdateThingShadowInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s UpdateThingShadowInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateThingShadowInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateThingShadowInput"}
if s.Payload == nil {
invalidParams.Add(request.NewErrParamRequired("Payload"))
}
if s.ThingName == nil {
invalidParams.Add(request.NewErrParamRequired("ThingName"))
}
if s.ThingName != nil && len(*s.ThingName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetPayload sets the Payload field's value.
func (s *UpdateThingShadowInput) SetPayload(v []byte) *UpdateThingShadowInput {
s.Payload = v
return s
}
// SetThingName sets the ThingName field's value.
func (s *UpdateThingShadowInput) SetThingName(v string) *UpdateThingShadowInput {
s.ThingName = &v
return s
}
// The output from the UpdateThingShadow operation.
type UpdateThingShadowOutput struct {
_ struct{} `type:"structure" payload:"Payload"`
// The state information, in JSON format.
Payload []byte `locationName:"payload" type:"blob"`
}
// String returns the string representation
func (s UpdateThingShadowOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s UpdateThingShadowOutput) GoString() string {
return s.String()
}
// SetPayload sets the Payload field's value.
func (s *UpdateThingShadowOutput) SetPayload(v []byte) *UpdateThingShadowOutput {
s.Payload = v
return s
}