123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581 |
- // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
- // Package iotdataplane provides a client for AWS IoT Data Plane.
- package iotdataplane
- import (
- "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 can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeleteThingShadow for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteThingShadow method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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{}
- }
- req = c.newRequest(op, input, output)
- output = &DeleteThingShadowOutput{}
- req.Data = 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:
- // * ResourceNotFoundException
- // The specified resource does not exist.
- //
- // * InvalidRequestException
- // The request is not valid.
- //
- // * ThrottlingException
- // The rate exceeds the limit.
- //
- // * UnauthorizedException
- // You are not authorized to perform this operation.
- //
- // * ServiceUnavailableException
- // The service is temporarily unavailable.
- //
- // * InternalFailureException
- // An unexpected error has occurred.
- //
- // * MethodNotAllowedException
- // The specified combination of HTTP verb and URI is not supported.
- //
- // * UnsupportedDocumentEncodingException
- // The document encoding is not supported.
- //
- func (c *IoTDataPlane) DeleteThingShadow(input *DeleteThingShadowInput) (*DeleteThingShadowOutput, error) {
- req, out := c.DeleteThingShadowRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetThingShadow = "GetThingShadow"
- // GetThingShadowRequest generates a "aws/request.Request" representing the
- // client's request for the GetThingShadow operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetThingShadow for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetThingShadow method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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{}
- }
- req = c.newRequest(op, input, output)
- output = &GetThingShadowOutput{}
- req.Data = 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:
- // * InvalidRequestException
- // The request is not valid.
- //
- // * ResourceNotFoundException
- // The specified resource does not exist.
- //
- // * ThrottlingException
- // The rate exceeds the limit.
- //
- // * UnauthorizedException
- // You are not authorized to perform this operation.
- //
- // * ServiceUnavailableException
- // The service is temporarily unavailable.
- //
- // * InternalFailureException
- // An unexpected error has occurred.
- //
- // * MethodNotAllowedException
- // The specified combination of HTTP verb and URI is not supported.
- //
- // * UnsupportedDocumentEncodingException
- // The document encoding is not supported.
- //
- func (c *IoTDataPlane) GetThingShadow(input *GetThingShadowInput) (*GetThingShadowOutput, error) {
- req, out := c.GetThingShadowRequest(input)
- err := req.Send()
- return out, err
- }
- const opPublish = "Publish"
- // PublishRequest generates a "aws/request.Request" representing the
- // client's request for the Publish operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See Publish for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the Publish method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(restjson.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &PublishOutput{}
- req.Data = output
- 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:
- // * InternalFailureException
- // An unexpected error has occurred.
- //
- // * InvalidRequestException
- // The request is not valid.
- //
- // * UnauthorizedException
- // You are not authorized to perform this operation.
- //
- // * 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)
- err := req.Send()
- return out, err
- }
- const opUpdateThingShadow = "UpdateThingShadow"
- // UpdateThingShadowRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateThingShadow operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See UpdateThingShadow for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the UpdateThingShadow method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // 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{}
- }
- req = c.newRequest(op, input, output)
- output = &UpdateThingShadowOutput{}
- req.Data = 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:
- // * ConflictException
- // The specified version does not match the version of the document.
- //
- // * RequestEntityTooLargeException
- // The payload exceeds the maximum size allowed.
- //
- // * InvalidRequestException
- // The request is not valid.
- //
- // * ThrottlingException
- // The rate exceeds the limit.
- //
- // * UnauthorizedException
- // You are not authorized to perform this operation.
- //
- // * ServiceUnavailableException
- // The service is temporarily unavailable.
- //
- // * InternalFailureException
- // An unexpected error has occurred.
- //
- // * MethodNotAllowedException
- // The specified combination of HTTP verb and URI is not supported.
- //
- // * UnsupportedDocumentEncodingException
- // The document encoding is not supported.
- //
- func (c *IoTDataPlane) UpdateThingShadow(input *UpdateThingShadowInput) (*UpdateThingShadowOutput, error) {
- req, out := c.UpdateThingShadowRequest(input)
- err := req.Send()
- return out, err
- }
- // 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
- }
- // 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()
- }
- // 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
- }
- // 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()
- }
- // 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
- }
- 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
- }
- // 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()
- }
|