aws-sdk-iotdataplane 1.78.0 → 1.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ccbe8b2c64d2be3b631dd7aa223956b7f70d2f1246576ddcad02adf9caf6159
4
- data.tar.gz: 2ef8bc52f1b278d4a979f05a90bc9efc10653b1929e247b0bb2b976a216f5cbd
3
+ metadata.gz: 5483d15aba15eb2cbd11416e7bfa79ca6c633e637cca375ca88f37481f854449
4
+ data.tar.gz: 0420e31ade9345254362693c7b9290e80eb70d75f93971db7d647aef200113d8
5
5
  SHA512:
6
- metadata.gz: 39e6cf645665a8efcb8f020b3484c54acec5809d050e333b52b077485e0e5ef3c08d25e449c39003c969dc5ccb46d8222f848dc9bfec754400624bbad97f6a97
7
- data.tar.gz: fdd930acf27c5501dc644edd2b5fcf621f6560f40d6e472a840afd629fae93b6dea1452b834f5a26041b9dc8e66cf74cd3910f5486d1fd1214412c3e906320be
6
+ metadata.gz: 2a32981721ee3a88c3cda9a92c3fc3272090e638bfe0be1a24d0467112fb306e694b9ef52dc5bda30507c0478505cd539661d3126578facfc74e9264175b6ebc
7
+ data.tar.gz: 40bf7389b2fb3ee563eb7f63e98ba0a528343da43eecddcf7edd364acc8c807a7f16aa782e4cf143b726324e3abf6982732e9d774e38619ab388c23b5578887f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.80.0 (2025-08-08)
5
+ ------------------
6
+
7
+ * Feature - Adding DeleteConnection API to IoT Data Plane
8
+
9
+ 1.79.0 (2025-08-04)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.78.0 (2025-07-31)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.78.0
1
+ 1.80.0
@@ -95,8 +95,8 @@ module Aws::IoTDataPlane
95
95
  # class name or an instance of a plugin class.
96
96
  #
97
97
  # @option options [required, Aws::CredentialProvider] :credentials
98
- # Your AWS credentials used for authentication. This can be an instance of any one of the
99
- # following classes:
98
+ # Your AWS credentials used for authentication. This can be any class that includes and implements
99
+ # `Aws::CredentialProvider`, or instance of any one of the following classes:
100
100
  #
101
101
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
102
102
  # credentials.
@@ -124,8 +124,7 @@ module Aws::IoTDataPlane
124
124
  # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
125
125
  # from the Cognito Identity service.
126
126
  #
127
- # When `:credentials` are not configured directly, the following
128
- # locations will be searched for credentials:
127
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
129
128
  #
130
129
  # * `Aws.config[:credentials]`
131
130
  #
@@ -139,12 +138,10 @@ module Aws::IoTDataPlane
139
138
  #
140
139
  # * `~/.aws/config`
141
140
  #
142
- # * EC2/ECS IMDS instance profile - When used by default, the timeouts
143
- # are very aggressive. Construct and pass an instance of
144
- # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
145
- # enable retries and extended timeouts. Instance profile credential
146
- # fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
147
- # to `true`.
141
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
142
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
143
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
144
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
148
145
  #
149
146
  # @option options [required, String] :region
150
147
  # The AWS region to connect to. The configured `:region` is
@@ -377,8 +374,8 @@ module Aws::IoTDataPlane
377
374
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
378
375
  #
379
376
  # @option options [Aws::TokenProvider] :token_provider
380
- # Your Bearer token used for authentication. This can be an instance of any one of the
381
- # following classes:
377
+ # Your Bearer token used for authentication. This can be any class that includes and implements
378
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
382
379
  #
383
380
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
384
381
  # tokens.
@@ -479,6 +476,45 @@ module Aws::IoTDataPlane
479
476
 
480
477
  # @!group API Operations
481
478
 
479
+ # Disconnects a connected MQTT client from Amazon Web Services IoT Core.
480
+ # When you disconnect a client, Amazon Web Services IoT Core closes the
481
+ # client's network connection and optionally cleans the session state.
482
+ #
483
+ # @option params [required, String] :client_id
484
+ # The unique identifier of the MQTT client to disconnect. The client ID
485
+ # can't start with a dollar sign ($).
486
+ #
487
+ # @option params [Boolean] :clean_session
488
+ # Specifies whether to remove the client's session state when
489
+ # disconnecting. Set to `TRUE` to delete all session information,
490
+ # including subscriptions and queued messages. Set to `FALSE` to
491
+ # preserve the session state. By default, this is set to `FALSE`
492
+ # (preserves the session state).
493
+ #
494
+ # @option params [Boolean] :prevent_will_message
495
+ # Controls if Amazon Web Services IoT Core publishes the client's Last
496
+ # Will and Testament (LWT) message upon disconnection. Set to `TRUE` to
497
+ # prevent publishing the LWT message. Set to `FALSE` to allow
498
+ # publishing. By default, this is set to `FALSE` (allows publishing the
499
+ # LWT message).
500
+ #
501
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
502
+ #
503
+ # @example Request syntax with placeholder values
504
+ #
505
+ # resp = client.delete_connection({
506
+ # client_id: "ClientId", # required
507
+ # clean_session: false,
508
+ # prevent_will_message: false,
509
+ # })
510
+ #
511
+ # @overload delete_connection(params = {})
512
+ # @param [Hash] params ({})
513
+ def delete_connection(params = {}, options = {})
514
+ req = build_request(:delete_connection, params)
515
+ req.send_request(options)
516
+ end
517
+
482
518
  # Deletes the shadow for the specified thing.
483
519
  #
484
520
  # Requires permission to access the [DeleteThingShadow][1] action.
@@ -533,7 +569,7 @@ module Aws::IoTDataPlane
533
569
  #
534
570
  #
535
571
  # [1]: https://docs.aws.amazon.com/iot/latest/apireference/API_iotdata_ListRetainedMessages.html
536
- # [2]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleethubfordevicemanagement.html#awsiotfleethubfordevicemanagement-actions-as-permissions
572
+ # [2]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html
537
573
  # [3]: http://aws.amazon.com/iot-core/pricing/#Messaging
538
574
  #
539
575
  # @option params [required, String] :topic
@@ -672,7 +708,7 @@ module Aws::IoTDataPlane
672
708
  #
673
709
  #
674
710
  # [1]: https://docs.aws.amazon.com/iot/latest/apireference/API_iotdata_GetRetainedMessage.html
675
- # [2]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleethubfordevicemanagement.html#awsiotfleethubfordevicemanagement-actions-as-permissions
711
+ # [2]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html
676
712
  # [3]: http://aws.amazon.com/iot-core/pricing/#Messaging
677
713
  #
678
714
  # @option params [String] :next_token
@@ -886,7 +922,7 @@ module Aws::IoTDataPlane
886
922
  tracer: tracer
887
923
  )
888
924
  context[:gem_name] = 'aws-sdk-iotdataplane'
889
- context[:gem_version] = '1.78.0'
925
+ context[:gem_version] = '1.80.0'
890
926
  Seahorse::Client::Request.new(handlers, context)
891
927
  end
892
928
 
@@ -14,11 +14,15 @@ module Aws::IoTDataPlane
14
14
 
15
15
  include Seahorse::Model
16
16
 
17
+ CleanSession = Shapes::BooleanShape.new(name: 'CleanSession')
18
+ ClientId = Shapes::StringShape.new(name: 'ClientId')
17
19
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
18
20
  ContentType = Shapes::StringShape.new(name: 'ContentType')
19
21
  CorrelationData = Shapes::StringShape.new(name: 'CorrelationData')
22
+ DeleteConnectionRequest = Shapes::StructureShape.new(name: 'DeleteConnectionRequest')
20
23
  DeleteThingShadowRequest = Shapes::StructureShape.new(name: 'DeleteThingShadowRequest')
21
24
  DeleteThingShadowResponse = Shapes::StructureShape.new(name: 'DeleteThingShadowResponse')
25
+ ForbiddenException = Shapes::StructureShape.new(name: 'ForbiddenException')
22
26
  GetRetainedMessageRequest = Shapes::StructureShape.new(name: 'GetRetainedMessageRequest')
23
27
  GetRetainedMessageResponse = Shapes::StructureShape.new(name: 'GetRetainedMessageResponse')
24
28
  GetThingShadowRequest = Shapes::StructureShape.new(name: 'GetThingShadowRequest')
@@ -39,6 +43,7 @@ module Aws::IoTDataPlane
39
43
  Payload = Shapes::BlobShape.new(name: 'Payload')
40
44
  PayloadFormatIndicator = Shapes::StringShape.new(name: 'PayloadFormatIndicator')
41
45
  PayloadSize = Shapes::IntegerShape.new(name: 'PayloadSize')
46
+ PreventWillMessage = Shapes::BooleanShape.new(name: 'PreventWillMessage')
42
47
  PublishRequest = Shapes::StructureShape.new(name: 'PublishRequest')
43
48
  Qos = Shapes::IntegerShape.new(name: 'Qos')
44
49
  RequestEntityTooLargeException = Shapes::StructureShape.new(name: 'RequestEntityTooLargeException')
@@ -64,6 +69,11 @@ module Aws::IoTDataPlane
64
69
  ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
65
70
  ConflictException.struct_class = Types::ConflictException
66
71
 
72
+ DeleteConnectionRequest.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, required: true, location: "uri", location_name: "clientId"))
73
+ DeleteConnectionRequest.add_member(:clean_session, Shapes::ShapeRef.new(shape: CleanSession, location: "querystring", location_name: "cleanSession"))
74
+ DeleteConnectionRequest.add_member(:prevent_will_message, Shapes::ShapeRef.new(shape: PreventWillMessage, location: "querystring", location_name: "preventWillMessage"))
75
+ DeleteConnectionRequest.struct_class = Types::DeleteConnectionRequest
76
+
67
77
  DeleteThingShadowRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
68
78
  DeleteThingShadowRequest.add_member(:shadow_name, Shapes::ShapeRef.new(shape: ShadowName, location: "querystring", location_name: "name"))
69
79
  DeleteThingShadowRequest.struct_class = Types::DeleteThingShadowRequest
@@ -73,6 +83,9 @@ module Aws::IoTDataPlane
73
83
  DeleteThingShadowResponse[:payload] = :payload
74
84
  DeleteThingShadowResponse[:payload_member] = DeleteThingShadowResponse.member(:payload)
75
85
 
86
+ ForbiddenException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
87
+ ForbiddenException.struct_class = Types::ForbiddenException
88
+
76
89
  GetRetainedMessageRequest.add_member(:topic, Shapes::ShapeRef.new(shape: Topic, required: true, location: "uri", location_name: "topic"))
77
90
  GetRetainedMessageRequest.struct_class = Types::GetRetainedMessageRequest
78
91
 
@@ -192,6 +205,19 @@ module Aws::IoTDataPlane
192
205
  "uid" => "iot-data-2015-05-28",
193
206
  }
194
207
 
208
+ api.add_operation(:delete_connection, Seahorse::Model::Operation.new.tap do |o|
209
+ o.name = "DeleteConnection"
210
+ o.http_method = "DELETE"
211
+ o.http_request_uri = "/connections/{clientId}"
212
+ o.input = Shapes::ShapeRef.new(shape: DeleteConnectionRequest)
213
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
214
+ o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
215
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
216
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
217
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
218
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
219
+ end)
220
+
195
221
  api.add_operation(:delete_thing_shadow, Seahorse::Model::Operation.new.tap do |o|
196
222
  o.name = "DeleteThingShadow"
197
223
  o.http_method = "DELETE"
@@ -28,6 +28,7 @@ module Aws::IoTDataPlane
28
28
  #
29
29
  # ## Error Classes
30
30
  # * {ConflictException}
31
+ # * {ForbiddenException}
31
32
  # * {InternalFailureException}
32
33
  # * {InvalidRequestException}
33
34
  # * {MethodNotAllowedException}
@@ -59,6 +60,21 @@ module Aws::IoTDataPlane
59
60
  end
60
61
  end
61
62
 
63
+ class ForbiddenException < ServiceError
64
+
65
+ # @param [Seahorse::Client::RequestContext] context
66
+ # @param [String] message
67
+ # @param [Aws::IoTDataPlane::Types::ForbiddenException] data
68
+ def initialize(context, message, data = Aws::EmptyStructure.new)
69
+ super(context, message, data)
70
+ end
71
+
72
+ # @return [String]
73
+ def message
74
+ @message || @data[:message]
75
+ end
76
+ end
77
+
62
78
  class InternalFailureException < ServiceError
63
79
 
64
80
  # @param [Seahorse::Client::RequestContext] context
@@ -22,6 +22,35 @@ module Aws::IoTDataPlane
22
22
  include Aws::Structure
23
23
  end
24
24
 
25
+ # @!attribute [rw] client_id
26
+ # The unique identifier of the MQTT client to disconnect. The client
27
+ # ID can't start with a dollar sign ($).
28
+ # @return [String]
29
+ #
30
+ # @!attribute [rw] clean_session
31
+ # Specifies whether to remove the client's session state when
32
+ # disconnecting. Set to `TRUE` to delete all session information,
33
+ # including subscriptions and queued messages. Set to `FALSE` to
34
+ # preserve the session state. By default, this is set to `FALSE`
35
+ # (preserves the session state).
36
+ # @return [Boolean]
37
+ #
38
+ # @!attribute [rw] prevent_will_message
39
+ # Controls if Amazon Web Services IoT Core publishes the client's
40
+ # Last Will and Testament (LWT) message upon disconnection. Set to
41
+ # `TRUE` to prevent publishing the LWT message. Set to `FALSE` to
42
+ # allow publishing. By default, this is set to `FALSE` (allows
43
+ # publishing the LWT message).
44
+ # @return [Boolean]
45
+ #
46
+ class DeleteConnectionRequest < Struct.new(
47
+ :client_id,
48
+ :clean_session,
49
+ :prevent_will_message)
50
+ SENSITIVE = []
51
+ include Aws::Structure
52
+ end
53
+
25
54
  # The input for the DeleteThingShadow operation.
26
55
  #
27
56
  # @!attribute [rw] thing_name
@@ -51,6 +80,17 @@ module Aws::IoTDataPlane
51
80
  include Aws::Structure
52
81
  end
53
82
 
83
+ # The caller isn't authorized to make the request.
84
+ #
85
+ # @!attribute [rw] message
86
+ # @return [String]
87
+ #
88
+ class ForbiddenException < Struct.new(
89
+ :message)
90
+ SENSITIVE = []
91
+ include Aws::Structure
92
+ end
93
+
54
94
  # The input for the GetRetainedMessage operation.
55
95
  #
56
96
  # @!attribute [rw] topic
@@ -23,7 +23,7 @@ Aws::Plugins::GlobalConfiguration.add_identifier(:iotdataplane)
23
23
  # structure.
24
24
  #
25
25
  # io_t_data_plane = Aws::IoTDataPlane::Client.new
26
- # resp = io_t_data_plane.delete_thing_shadow(params)
26
+ # resp = io_t_data_plane.delete_connection(params)
27
27
  #
28
28
  # See {Client} for more information.
29
29
  #
@@ -54,7 +54,7 @@ module Aws::IoTDataPlane
54
54
  autoload :EndpointProvider, 'aws-sdk-iotdataplane/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-iotdataplane/endpoints'
56
56
 
57
- GEM_VERSION = '1.78.0'
57
+ GEM_VERSION = '1.80.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -78,6 +78,14 @@ module Aws
78
78
  | (?Hash[Symbol, untyped]) -> instance
79
79
 
80
80
 
81
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IoTDataPlane/Client.html#delete_connection-instance_method
82
+ def delete_connection: (
83
+ client_id: ::String,
84
+ ?clean_session: bool,
85
+ ?prevent_will_message: bool
86
+ ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
87
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
88
+
81
89
  interface _DeleteThingShadowResponseSuccess
82
90
  include ::Seahorse::Client::_ResponseSuccess[Types::DeleteThingShadowResponse]
83
91
  def payload: () -> ::String
data/sig/errors.rbs CHANGED
@@ -14,6 +14,9 @@ module Aws
14
14
  class ConflictException < ::Aws::Errors::ServiceError
15
15
  def message: () -> ::String
16
16
  end
17
+ class ForbiddenException < ::Aws::Errors::ServiceError
18
+ def message: () -> ::String
19
+ end
17
20
  class InternalFailureException < ::Aws::Errors::ServiceError
18
21
  def message: () -> ::String
19
22
  end
data/sig/types.rbs CHANGED
@@ -13,6 +13,13 @@ module Aws::IoTDataPlane
13
13
  SENSITIVE: []
14
14
  end
15
15
 
16
+ class DeleteConnectionRequest
17
+ attr_accessor client_id: ::String
18
+ attr_accessor clean_session: bool
19
+ attr_accessor prevent_will_message: bool
20
+ SENSITIVE: []
21
+ end
22
+
16
23
  class DeleteThingShadowRequest
17
24
  attr_accessor thing_name: ::String
18
25
  attr_accessor shadow_name: ::String
@@ -24,6 +31,11 @@ module Aws::IoTDataPlane
24
31
  SENSITIVE: []
25
32
  end
26
33
 
34
+ class ForbiddenException
35
+ attr_accessor message: ::String
36
+ SENSITIVE: []
37
+ end
38
+
27
39
  class GetRetainedMessageRequest
28
40
  attr_accessor topic: ::String
29
41
  SENSITIVE: []
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iotdataplane
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.78.0
4
+ version: 1.80.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services