...
AWS SDK for Go API Reference
import "github.com/aws/aws-sdk-go/service/iotdataplane"
Overview
Constants

Overview ▾

Package iotdataplane provides the client and types for making API requests to AWS IoT Data Plane.

AWS IoT-Data enables secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. It implements a broker for applications and things to publish messages over HTTP (Publish) and retrieve, update, and delete thing shadows. A thing shadow is a persistent representation of your things and their state in the AWS cloud.

See iotdataplane package documentation for more information. https://docs.aws.amazon.com/sdk-for-go/api/service/iotdataplane/

Using the Client

To contact AWS IoT Data Plane with the SDK use the New function to create a new service client. With that client you can make API requests to the service. These clients are safe to use concurrently.

See the SDK's documentation for more information on how to use the SDK. https://docs.aws.amazon.com/sdk-for-go/api/

See aws.Config documentation for more information on configuring SDK clients. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

See the AWS IoT Data Plane client IoTDataPlane for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/iotdataplane/#New

The stub package, iotdataplaneiface, can be used to provide alternative implementations of service clients, such as mocking the client for testing.

Constants ▾

const (

    // ErrCodeConflictException for service response error code
    // "ConflictException".
    //
    // The specified version does not match the version of the document.
    ErrCodeConflictException = "ConflictException"

    // ErrCodeInternalFailureException for service response error code
    // "InternalFailureException".
    //
    // An unexpected error has occurred.
    ErrCodeInternalFailureException = "InternalFailureException"

    // ErrCodeInvalidRequestException for service response error code
    // "InvalidRequestException".
    //
    // The request is not valid.
    ErrCodeInvalidRequestException = "InvalidRequestException"

    // ErrCodeMethodNotAllowedException for service response error code
    // "MethodNotAllowedException".
    //
    // The specified combination of HTTP verb and URI is not supported.
    ErrCodeMethodNotAllowedException = "MethodNotAllowedException"

    // ErrCodeRequestEntityTooLargeException for service response error code
    // "RequestEntityTooLargeException".
    //
    // The payload exceeds the maximum size allowed.
    ErrCodeRequestEntityTooLargeException = "RequestEntityTooLargeException"

    // ErrCodeResourceNotFoundException for service response error code
    // "ResourceNotFoundException".
    //
    // The specified resource does not exist.
    ErrCodeResourceNotFoundException = "ResourceNotFoundException"

    // ErrCodeServiceUnavailableException for service response error code
    // "ServiceUnavailableException".
    //
    // The service is temporarily unavailable.
    ErrCodeServiceUnavailableException = "ServiceUnavailableException"

    // ErrCodeThrottlingException for service response error code
    // "ThrottlingException".
    //
    // The rate exceeds the limit.
    ErrCodeThrottlingException = "ThrottlingException"

    // ErrCodeUnauthorizedException for service response error code
    // "UnauthorizedException".
    //
    // You are not authorized to perform this operation.
    ErrCodeUnauthorizedException = "UnauthorizedException"

    // ErrCodeUnsupportedDocumentEncodingException for service response error code
    // "UnsupportedDocumentEncodingException".
    //
    // The document encoding is not supported.
    ErrCodeUnsupportedDocumentEncodingException = "UnsupportedDocumentEncodingException"
)
const (
    ServiceName = "data.iot"       // Name of service.
    EndpointsID = ServiceName      // ID to lookup a service endpoint with.
    ServiceID   = "IoT Data Plane" // ServiceID is a unique identifer of a specific service.
)

Service information constants

type DeleteThingShadowInput

type DeleteThingShadowInput struct {

    // The name of the thing.
    //
    // ThingName is a required field
    ThingName *string `location:"uri" locationName:"thingName" min:"1" type:"string" required:"true"`
    // contains filtered or unexported fields
}

The input for the DeleteThingShadow operation.

func (DeleteThingShadowInput) GoString

func (s DeleteThingShadowInput) GoString() string

GoString returns the string representation

func (*DeleteThingShadowInput) SetThingName

func (s *DeleteThingShadowInput) SetThingName(v string) *DeleteThingShadowInput

SetThingName sets the ThingName field's value.

func (DeleteThingShadowInput) String

func (s DeleteThingShadowInput) String() string

String returns the string representation

func (*DeleteThingShadowInput) Validate

func (s *DeleteThingShadowInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteThingShadowOutput

type DeleteThingShadowOutput struct {

    // The state information, in JSON format.
    //
    // Payload is a required field
    Payload []byte `locationName:"payload" type:"blob" required:"true"`
    // contains filtered or unexported fields
}

The output from the DeleteThingShadow operation.

func (DeleteThingShadowOutput) GoString

func (s DeleteThingShadowOutput) GoString() string

GoString returns the string representation

func (*DeleteThingShadowOutput) SetPayload

func (s *DeleteThingShadowOutput) SetPayload(v []byte) *DeleteThingShadowOutput

SetPayload sets the Payload field's value.

func (DeleteThingShadowOutput) String

func (s DeleteThingShadowOutput) String() string

String returns the string representation

type GetThingShadowInput

type GetThingShadowInput struct {

    // The name of the thing.
    //
    // ThingName is a required field
    ThingName *string `location:"uri" locationName:"thingName" min:"1" type:"string" required:"true"`
    // contains filtered or unexported fields
}

The input for the GetThingShadow operation.

func (GetThingShadowInput) GoString

func (s GetThingShadowInput) GoString() string

GoString returns the string representation

func (*GetThingShadowInput) SetThingName

func (s *GetThingShadowInput) SetThingName(v string) *GetThingShadowInput

SetThingName sets the ThingName field's value.

func (GetThingShadowInput) String

func (s GetThingShadowInput) String() string

String returns the string representation

func (*GetThingShadowInput) Validate

func (s *GetThingShadowInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type GetThingShadowOutput

type GetThingShadowOutput struct {

    // The state information, in JSON format.
    Payload []byte `locationName:"payload" type:"blob"`
    // contains filtered or unexported fields
}

The output from the GetThingShadow operation.

func (GetThingShadowOutput) GoString

func (s GetThingShadowOutput) GoString() string

GoString returns the string representation

func (*GetThingShadowOutput) SetPayload

func (s *GetThingShadowOutput) SetPayload(v []byte) *GetThingShadowOutput

SetPayload sets the Payload field's value.

func (GetThingShadowOutput) String

func (s GetThingShadowOutput) String() string

String returns the string representation

type IoTDataPlane

type IoTDataPlane struct {
    *client.Client
}

IoTDataPlane provides the API operation methods for making requests to AWS IoT Data Plane. See this package's package overview docs for details on the service.

IoTDataPlane methods are safe to use concurrently. It is not safe to modify mutate any of the struct's properties though.

func New

func New(p client.ConfigProvider, cfgs ...*aws.Config) *IoTDataPlane

New creates a new instance of the IoTDataPlane client with a session. If additional configuration is needed for the client instance use the optional aws.Config parameter to add your extra config.

Example:

// Create a IoTDataPlane client from just a session.
svc := iotdataplane.New(mySession)

// Create a IoTDataPlane client with additional configuration
svc := iotdataplane.New(mySession, aws.NewConfig().WithRegion("us-west-2"))

func (*IoTDataPlane) DeleteThingShadow

func (c *IoTDataPlane) DeleteThingShadow(input *DeleteThingShadowInput) (*DeleteThingShadowOutput, error)

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 (*IoTDataPlane) DeleteThingShadowRequest

func (c *IoTDataPlane) DeleteThingShadowRequest(input *DeleteThingShadowInput) (req *request.Request, output *DeleteThingShadowOutput)

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 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 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 (*IoTDataPlane) DeleteThingShadowWithContext

func (c *IoTDataPlane) DeleteThingShadowWithContext(ctx aws.Context, input *DeleteThingShadowInput, opts ...request.Option) (*DeleteThingShadowOutput, error)

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 (*IoTDataPlane) GetThingShadow

func (c *IoTDataPlane) GetThingShadow(input *GetThingShadowInput) (*GetThingShadowOutput, error)

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 (*IoTDataPlane) GetThingShadowRequest

func (c *IoTDataPlane) GetThingShadowRequest(input *GetThingShadowInput) (req *request.Request, output *GetThingShadowOutput)

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 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 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 (*IoTDataPlane) GetThingShadowWithContext

func (c *IoTDataPlane) GetThingShadowWithContext(ctx aws.Context, input *GetThingShadowInput, opts ...request.Option) (*GetThingShadowOutput, error)

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 (*IoTDataPlane) Publish

func (c *IoTDataPlane) Publish(input *PublishInput) (*PublishOutput, error)

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 (*IoTDataPlane) PublishRequest

func (c *IoTDataPlane) PublishRequest(input *PublishInput) (req *request.Request, output *PublishOutput)

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 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 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 (*IoTDataPlane) PublishWithContext

func (c *IoTDataPlane) PublishWithContext(ctx aws.Context, input *PublishInput, opts ...request.Option) (*PublishOutput, error)

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 (*IoTDataPlane) UpdateThingShadow

func (c *IoTDataPlane) UpdateThingShadow(input *UpdateThingShadowInput) (*UpdateThingShadowOutput, error)

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 (*IoTDataPlane) UpdateThingShadowRequest

func (c *IoTDataPlane) UpdateThingShadowRequest(input *UpdateThingShadowInput) (req *request.Request, output *UpdateThingShadowOutput)

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 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 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 (*IoTDataPlane) UpdateThingShadowWithContext

func (c *IoTDataPlane) UpdateThingShadowWithContext(ctx aws.Context, input *UpdateThingShadowInput, opts ...request.Option) (*UpdateThingShadowOutput, error)

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.

type PublishInput

type PublishInput struct {

    // 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"`
    // contains filtered or unexported fields
}

The input for the Publish operation.

func (PublishInput) GoString

func (s PublishInput) GoString() string

GoString returns the string representation

func (*PublishInput) SetPayload

func (s *PublishInput) SetPayload(v []byte) *PublishInput

SetPayload sets the Payload field's value.

func (*PublishInput) SetQos

func (s *PublishInput) SetQos(v int64) *PublishInput

SetQos sets the Qos field's value.

func (*PublishInput) SetTopic

func (s *PublishInput) SetTopic(v string) *PublishInput

SetTopic sets the Topic field's value.

func (PublishInput) String

func (s PublishInput) String() string

String returns the string representation

func (*PublishInput) Validate

func (s *PublishInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type PublishOutput

type PublishOutput struct {
    // contains filtered or unexported fields
}

func (PublishOutput) GoString

func (s PublishOutput) GoString() string

GoString returns the string representation

func (PublishOutput) String

func (s PublishOutput) String() string

String returns the string representation

type UpdateThingShadowInput

type UpdateThingShadowInput struct {

    // 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"`
    // contains filtered or unexported fields
}

The input for the UpdateThingShadow operation.

func (UpdateThingShadowInput) GoString

func (s UpdateThingShadowInput) GoString() string

GoString returns the string representation

func (*UpdateThingShadowInput) SetPayload

func (s *UpdateThingShadowInput) SetPayload(v []byte) *UpdateThingShadowInput

SetPayload sets the Payload field's value.

func (*UpdateThingShadowInput) SetThingName

func (s *UpdateThingShadowInput) SetThingName(v string) *UpdateThingShadowInput

SetThingName sets the ThingName field's value.

func (UpdateThingShadowInput) String

func (s UpdateThingShadowInput) String() string

String returns the string representation

func (*UpdateThingShadowInput) Validate

func (s *UpdateThingShadowInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UpdateThingShadowOutput

type UpdateThingShadowOutput struct {

    // The state information, in JSON format.
    Payload []byte `locationName:"payload" type:"blob"`
    // contains filtered or unexported fields
}

The output from the UpdateThingShadow operation.

func (UpdateThingShadowOutput) GoString

func (s UpdateThingShadowOutput) GoString() string

GoString returns the string representation

func (*UpdateThingShadowOutput) SetPayload

func (s *UpdateThingShadowOutput) SetPayload(v []byte) *UpdateThingShadowOutput

SetPayload sets the Payload field's value.

func (UpdateThingShadowOutput) String

func (s UpdateThingShadowOutput) String() string

String returns the string representation