aws-sdk-iot 1.137.0 → 1.139.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: 5a51d136f0044d776ab3a569c7f2081ff6b70552e960907b44d18aec890bdd8f
4
- data.tar.gz: 0f414843ab2f572753485b47e044661d4211402a6d0ecd901106c14efe106433
3
+ metadata.gz: 0a90d0dc0dc9d4c7cc38efdbff2fd137c6a0966f53ab4365d55853b89a2c729f
4
+ data.tar.gz: 53e8bcf23f214470b0e62b04b7e3d467f7ae31e18df3c461e21c52e2bac6e2fe
5
5
  SHA512:
6
- metadata.gz: dd53f1465dfa49e61bd747d9d727edf7470fbd8cf735b09bdb4cfc55fd2494abafaa143147537d0983698c4d4a1aaf6e6b17bf64850eae9359b44d8e2c075625
7
- data.tar.gz: f245069310058019821adaf690c61e2d6157ce633bccb0b1713e216cb718283bac61f9a5025d5159bc7e95254fb55b56fc283c91bc0dbce460a3e1b9d745c809
6
+ metadata.gz: 8f5d367bf90d10ecd5117b515ae57e37d0172b61e5aa5147d9ebbc4966294ccfba1aab5ca1a9d389480cdbab189e3ee510503b90478bd15da89bb83b22667a3d
7
+ data.tar.gz: 46843aa8b6b42abd7061c6a3404762021596138f1cd161e6961defa74e967dc134b2c6255703613e570ca3370470d216fc88da58dcaafa7487c2ee64232a0094
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.139.0 (2024-11-15)
5
+ ------------------
6
+
7
+ * Feature - This release allows AWS IoT Core users to enrich MQTT messages with propagating attributes, to associate a thing to a connection, and to enable Online Certificate Status Protocol (OCSP) stapling for TLS X.509 server certificates through private endpoints.
8
+
9
+ 1.138.0 (2024-11-06)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.137.0 (2024-10-18)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.137.0
1
+ 1.139.0
@@ -833,6 +833,22 @@ module Aws::IoT
833
833
  # The principal, which can be a certificate ARN (as returned from the
834
834
  # CreateCertificate operation) or an Amazon Cognito ID.
835
835
  #
836
+ # @option params [String] :thing_principal_type
837
+ # The type of the relation you want to specify when you attach a
838
+ # principal to a thing.
839
+ #
840
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
841
+ # specified thing, exclusively. The thing will be the only thing
842
+ # that’s attached to the principal.
843
+ #
844
+ # ^
845
+ # ^
846
+ #
847
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
848
+ # specified thing. Multiple things can be attached to the principal.
849
+ #
850
+ # ^
851
+ #
836
852
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
837
853
  #
838
854
  # @example Request syntax with placeholder values
@@ -840,6 +856,7 @@ module Aws::IoT
840
856
  # resp = client.attach_thing_principal({
841
857
  # thing_name: "ThingName", # required
842
858
  # principal: "Principal", # required
859
+ # thing_principal_type: "EXCLUSIVE_THING", # accepts EXCLUSIVE_THING, NON_EXCLUSIVE_THING
843
860
  # })
844
861
  #
845
862
  # @overload attach_thing_principal(params = {})
@@ -1379,9 +1396,9 @@ module Aws::IoT
1379
1396
  #
1380
1397
  # On Linux and OS X, the command is:
1381
1398
  #
1382
- # `$ ls my-csr-directory/ | xargs -I \{\} aws iot
1399
+ # `$ ls my-csr-directory/ | xargs -I {} aws iot
1383
1400
  # create-certificate-from-csr --certificate-signing-request
1384
- # file://my-csr-directory/\{\}`
1401
+ # file://my-csr-directory/{}`
1385
1402
  #
1386
1403
  # This command lists all of the CSRs in my-csr-directory and pipes each
1387
1404
  # CSR file name to the `aws iot create-certificate-from-csr` Amazon Web
@@ -1391,15 +1408,15 @@ module Aws::IoT
1391
1408
  # You can also run the `aws iot create-certificate-from-csr` part of the
1392
1409
  # command in parallel to speed up the certificate creation process:
1393
1410
  #
1394
- # `$ ls my-csr-directory/ | xargs -P 10 -I \{\} aws iot
1411
+ # `$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot
1395
1412
  # create-certificate-from-csr --certificate-signing-request
1396
- # file://my-csr-directory/\{\} `
1413
+ # file://my-csr-directory/{} `
1397
1414
  #
1398
1415
  # On Windows PowerShell, the command to create certificates for all CSRs
1399
1416
  # in my-csr-directory is:
1400
1417
  #
1401
- # `> ls -Name my-csr-directory | %\{aws iot create-certificate-from-csr
1402
- # --certificate-signing-request file://my-csr-directory/$_\} `
1418
+ # `> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr
1419
+ # --certificate-signing-request file://my-csr-directory/$_} `
1403
1420
  #
1404
1421
  # On a Windows command prompt, the command to create certificates for
1405
1422
  # all CSRs in my-csr-directory is:
@@ -1818,6 +1835,8 @@ module Aws::IoT
1818
1835
  # },
1819
1836
  # server_certificate_config: {
1820
1837
  # enable_ocsp_check: false,
1838
+ # ocsp_lambda_arn: "OCSPLambdaArn",
1839
+ # ocsp_authorized_responder_arn: "AcmCertificateArn",
1821
1840
  # },
1822
1841
  # authentication_type: "CUSTOM_AUTH_X509", # accepts CUSTOM_AUTH_X509, CUSTOM_AUTH, AWS_X509, AWS_SIGV4, DEFAULT
1823
1842
  # application_protocol: "SECURE_MQTT", # accepts SECURE_MQTT, MQTT_WSS, HTTPS, DEFAULT
@@ -3523,7 +3542,7 @@ module Aws::IoT
3523
3542
  # The attribute payload, which consists of up to three name/value pairs
3524
3543
  # in a JSON document. For example:
3525
3544
  #
3526
- # `\{"attributes":\{"string1":"string2"\}\}`
3545
+ # `{"attributes":{"string1":"string2"}}`
3527
3546
  #
3528
3547
  # @option params [String] :billing_group_name
3529
3548
  # The name of the billing group the thing will be added to.
@@ -3666,6 +3685,15 @@ module Aws::IoT
3666
3685
  # thing_type_properties: {
3667
3686
  # thing_type_description: "ThingTypeDescription",
3668
3687
  # searchable_attributes: ["AttributeName"],
3688
+ # mqtt5_configuration: {
3689
+ # propagating_attributes: [
3690
+ # {
3691
+ # user_property_key: "UserPropertyKeyName",
3692
+ # thing_attribute: "AttributeName",
3693
+ # connection_attribute: "ConnectionAttributeName",
3694
+ # },
3695
+ # ],
3696
+ # },
3669
3697
  # },
3670
3698
  # tags: [
3671
3699
  # {
@@ -6139,6 +6167,8 @@ module Aws::IoT
6139
6167
  # resp.last_status_change_date #=> Time
6140
6168
  # resp.tls_config.security_policy #=> String
6141
6169
  # resp.server_certificate_config.enable_ocsp_check #=> Boolean
6170
+ # resp.server_certificate_config.ocsp_lambda_arn #=> String
6171
+ # resp.server_certificate_config.ocsp_authorized_responder_arn #=> String
6142
6172
  # resp.authentication_type #=> String, one of "CUSTOM_AUTH_X509", "CUSTOM_AUTH", "AWS_X509", "AWS_SIGV4", "DEFAULT"
6143
6173
  # resp.application_protocol #=> String, one of "SECURE_MQTT", "MQTT_WSS", "HTTPS", "DEFAULT"
6144
6174
  # resp.client_certificate_config.client_certificate_callback_arn #=> String
@@ -7143,6 +7173,10 @@ module Aws::IoT
7143
7173
  # resp.thing_type_properties.thing_type_description #=> String
7144
7174
  # resp.thing_type_properties.searchable_attributes #=> Array
7145
7175
  # resp.thing_type_properties.searchable_attributes[0] #=> String
7176
+ # resp.thing_type_properties.mqtt5_configuration.propagating_attributes #=> Array
7177
+ # resp.thing_type_properties.mqtt5_configuration.propagating_attributes[0].user_property_key #=> String
7178
+ # resp.thing_type_properties.mqtt5_configuration.propagating_attributes[0].thing_attribute #=> String
7179
+ # resp.thing_type_properties.mqtt5_configuration.propagating_attributes[0].connection_attribute #=> String
7146
7180
  # resp.thing_type_metadata.deprecated #=> Boolean
7147
7181
  # resp.thing_type_metadata.deprecation_date #=> Time
7148
7182
  # resp.thing_type_metadata.creation_date #=> Time
@@ -10675,6 +10709,75 @@ module Aws::IoT
10675
10709
  req.send_request(options)
10676
10710
  end
10677
10711
 
10712
+ # Lists the things associated with the specified principal. A principal
10713
+ # can be an X.509 certificate or an Amazon Cognito ID.
10714
+ #
10715
+ # Requires permission to access the [ListPrincipalThings][1] action.
10716
+ #
10717
+ #
10718
+ #
10719
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
10720
+ #
10721
+ # @option params [String] :next_token
10722
+ # To retrieve the next set of results, the `nextToken` value from a
10723
+ # previous response; otherwise **null** to receive the first set of
10724
+ # results.
10725
+ #
10726
+ # @option params [Integer] :max_results
10727
+ # The maximum number of results to return in this operation.
10728
+ #
10729
+ # @option params [required, String] :principal
10730
+ # The principal. A principal can be an X.509 certificate or an Amazon
10731
+ # Cognito ID.
10732
+ #
10733
+ # @option params [String] :thing_principal_type
10734
+ # The type of the relation you want to filter in the response. If no
10735
+ # value is provided in this field, the response will list all things,
10736
+ # including both the `EXCLUSIVE_THING` and `NON_EXCLUSIVE_THING`
10737
+ # attachment types.
10738
+ #
10739
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
10740
+ # specified thing, exclusively. The thing will be the only thing
10741
+ # that’s attached to the principal.
10742
+ #
10743
+ # ^
10744
+ # ^
10745
+ #
10746
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
10747
+ # specified thing. Multiple things can be attached to the principal.
10748
+ #
10749
+ # ^
10750
+ #
10751
+ # @return [Types::ListPrincipalThingsV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10752
+ #
10753
+ # * {Types::ListPrincipalThingsV2Response#principal_thing_objects #principal_thing_objects} => Array<Types::PrincipalThingObject>
10754
+ # * {Types::ListPrincipalThingsV2Response#next_token #next_token} => String
10755
+ #
10756
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
10757
+ #
10758
+ # @example Request syntax with placeholder values
10759
+ #
10760
+ # resp = client.list_principal_things_v2({
10761
+ # next_token: "NextToken",
10762
+ # max_results: 1,
10763
+ # principal: "Principal", # required
10764
+ # thing_principal_type: "EXCLUSIVE_THING", # accepts EXCLUSIVE_THING, NON_EXCLUSIVE_THING
10765
+ # })
10766
+ #
10767
+ # @example Response structure
10768
+ #
10769
+ # resp.principal_thing_objects #=> Array
10770
+ # resp.principal_thing_objects[0].thing_name #=> String
10771
+ # resp.principal_thing_objects[0].thing_principal_type #=> String, one of "EXCLUSIVE_THING", "NON_EXCLUSIVE_THING"
10772
+ # resp.next_token #=> String
10773
+ #
10774
+ # @overload list_principal_things_v2(params = {})
10775
+ # @param [Hash] params ({})
10776
+ def list_principal_things_v2(params = {}, options = {})
10777
+ req = build_request(:list_principal_things_v2, params)
10778
+ req.send_request(options)
10779
+ end
10780
+
10678
10781
  # A list of provisioning template versions.
10679
10782
  #
10680
10783
  # Requires permission to access the
@@ -11457,6 +11560,74 @@ module Aws::IoT
11457
11560
  req.send_request(options)
11458
11561
  end
11459
11562
 
11563
+ # Lists the principals associated with the specified thing. A principal
11564
+ # can be an X.509 certificate or an Amazon Cognito ID.
11565
+ #
11566
+ # Requires permission to access the [ListThingPrincipals][1] action.
11567
+ #
11568
+ #
11569
+ #
11570
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
11571
+ #
11572
+ # @option params [String] :next_token
11573
+ # To retrieve the next set of results, the `nextToken` value from a
11574
+ # previous response; otherwise **null** to receive the first set of
11575
+ # results.
11576
+ #
11577
+ # @option params [Integer] :max_results
11578
+ # The maximum number of results to return in this operation.
11579
+ #
11580
+ # @option params [required, String] :thing_name
11581
+ # The name of the thing.
11582
+ #
11583
+ # @option params [String] :thing_principal_type
11584
+ # The type of the relation you want to filter in the response. If no
11585
+ # value is provided in this field, the response will list all
11586
+ # principals, including both the `EXCLUSIVE_THING` and
11587
+ # `NON_EXCLUSIVE_THING` attachment types.
11588
+ #
11589
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
11590
+ # specified thing, exclusively. The thing will be the only thing
11591
+ # that’s attached to the principal.
11592
+ #
11593
+ # ^
11594
+ # ^
11595
+ #
11596
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
11597
+ # specified thing. Multiple things can be attached to the principal.
11598
+ #
11599
+ # ^
11600
+ #
11601
+ # @return [Types::ListThingPrincipalsV2Response] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11602
+ #
11603
+ # * {Types::ListThingPrincipalsV2Response#thing_principal_objects #thing_principal_objects} => Array<Types::ThingPrincipalObject>
11604
+ # * {Types::ListThingPrincipalsV2Response#next_token #next_token} => String
11605
+ #
11606
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
11607
+ #
11608
+ # @example Request syntax with placeholder values
11609
+ #
11610
+ # resp = client.list_thing_principals_v2({
11611
+ # next_token: "NextToken",
11612
+ # max_results: 1,
11613
+ # thing_name: "ThingName", # required
11614
+ # thing_principal_type: "EXCLUSIVE_THING", # accepts EXCLUSIVE_THING, NON_EXCLUSIVE_THING
11615
+ # })
11616
+ #
11617
+ # @example Response structure
11618
+ #
11619
+ # resp.thing_principal_objects #=> Array
11620
+ # resp.thing_principal_objects[0].principal #=> String
11621
+ # resp.thing_principal_objects[0].thing_principal_type #=> String, one of "EXCLUSIVE_THING", "NON_EXCLUSIVE_THING"
11622
+ # resp.next_token #=> String
11623
+ #
11624
+ # @overload list_thing_principals_v2(params = {})
11625
+ # @param [Hash] params ({})
11626
+ def list_thing_principals_v2(params = {}, options = {})
11627
+ req = build_request(:list_thing_principals_v2, params)
11628
+ req.send_request(options)
11629
+ end
11630
+
11460
11631
  # Information about the thing registration tasks.
11461
11632
  #
11462
11633
  # @option params [required, String] :task_id
@@ -11594,6 +11765,10 @@ module Aws::IoT
11594
11765
  # resp.thing_types[0].thing_type_properties.thing_type_description #=> String
11595
11766
  # resp.thing_types[0].thing_type_properties.searchable_attributes #=> Array
11596
11767
  # resp.thing_types[0].thing_type_properties.searchable_attributes[0] #=> String
11768
+ # resp.thing_types[0].thing_type_properties.mqtt5_configuration.propagating_attributes #=> Array
11769
+ # resp.thing_types[0].thing_type_properties.mqtt5_configuration.propagating_attributes[0].user_property_key #=> String
11770
+ # resp.thing_types[0].thing_type_properties.mqtt5_configuration.propagating_attributes[0].thing_attribute #=> String
11771
+ # resp.thing_types[0].thing_type_properties.mqtt5_configuration.propagating_attributes[0].connection_attribute #=> String
11597
11772
  # resp.thing_types[0].thing_type_metadata.deprecated #=> Boolean
11598
11773
  # resp.thing_types[0].thing_type_metadata.deprecation_date #=> Time
11599
11774
  # resp.thing_types[0].thing_type_metadata.creation_date #=> Time
@@ -14275,6 +14450,8 @@ module Aws::IoT
14275
14450
  # },
14276
14451
  # server_certificate_config: {
14277
14452
  # enable_ocsp_check: false,
14453
+ # ocsp_lambda_arn: "OCSPLambdaArn",
14454
+ # ocsp_authorized_responder_arn: "AcmCertificateArn",
14278
14455
  # },
14279
14456
  # authentication_type: "CUSTOM_AUTH_X509", # accepts CUSTOM_AUTH_X509, CUSTOM_AUTH, AWS_X509, AWS_SIGV4, DEFAULT
14280
14457
  # application_protocol: "SECURE_MQTT", # accepts SECURE_MQTT, MQTT_WSS, HTTPS, DEFAULT
@@ -15337,7 +15514,7 @@ module Aws::IoT
15337
15514
  # A list of thing attributes, a JSON string containing name-value pairs.
15338
15515
  # For example:
15339
15516
  #
15340
- # `\{"attributes":\{"name1":"value2"\}\}`
15517
+ # `{"attributes":{"name1":"value2"}}`
15341
15518
  #
15342
15519
  # This data is used to add new attributes or update existing attributes.
15343
15520
  #
@@ -15466,6 +15643,44 @@ module Aws::IoT
15466
15643
  req.send_request(options)
15467
15644
  end
15468
15645
 
15646
+ # Updates a thing type.
15647
+ #
15648
+ # @option params [required, String] :thing_type_name
15649
+ # The name of a thing type.
15650
+ #
15651
+ # @option params [Types::ThingTypeProperties] :thing_type_properties
15652
+ # The ThingTypeProperties contains information about the thing type
15653
+ # including: a thing type description, and a list of searchable thing
15654
+ # attribute names.
15655
+ #
15656
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
15657
+ #
15658
+ # @example Request syntax with placeholder values
15659
+ #
15660
+ # resp = client.update_thing_type({
15661
+ # thing_type_name: "ThingTypeName", # required
15662
+ # thing_type_properties: {
15663
+ # thing_type_description: "ThingTypeDescription",
15664
+ # searchable_attributes: ["AttributeName"],
15665
+ # mqtt5_configuration: {
15666
+ # propagating_attributes: [
15667
+ # {
15668
+ # user_property_key: "UserPropertyKeyName",
15669
+ # thing_attribute: "AttributeName",
15670
+ # connection_attribute: "ConnectionAttributeName",
15671
+ # },
15672
+ # ],
15673
+ # },
15674
+ # },
15675
+ # })
15676
+ #
15677
+ # @overload update_thing_type(params = {})
15678
+ # @param [Hash] params ({})
15679
+ def update_thing_type(params = {}, options = {})
15680
+ req = build_request(:update_thing_type, params)
15681
+ req.send_request(options)
15682
+ end
15683
+
15469
15684
  # Updates a topic rule destination. You use this to change the status,
15470
15685
  # endpoint URL, or confirmation URL of the destination.
15471
15686
  #
@@ -15613,7 +15828,7 @@ module Aws::IoT
15613
15828
  tracer: tracer
15614
15829
  )
15615
15830
  context[:gem_name] = 'aws-sdk-iot'
15616
- context[:gem_version] = '1.137.0'
15831
+ context[:gem_version] = '1.139.0'
15617
15832
  Seahorse::Client::Request.new(handlers, context)
15618
15833
  end
15619
15834
 
@@ -245,6 +245,7 @@ module Aws::IoT
245
245
  ConfirmationToken = Shapes::StringShape.new(name: 'ConfirmationToken')
246
246
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
247
247
  ConflictingResourceUpdateException = Shapes::StructureShape.new(name: 'ConflictingResourceUpdateException')
248
+ ConnectionAttributeName = Shapes::StringShape.new(name: 'ConnectionAttributeName')
248
249
  ConnectivityTimestamp = Shapes::IntegerShape.new(name: 'ConnectivityTimestamp')
249
250
  ConsecutiveDatapointsToAlarm = Shapes::IntegerShape.new(name: 'ConsecutiveDatapointsToAlarm')
250
251
  ConsecutiveDatapointsToClear = Shapes::IntegerShape.new(name: 'ConsecutiveDatapointsToClear')
@@ -784,6 +785,8 @@ module Aws::IoT
784
785
  ListPrincipalPoliciesResponse = Shapes::StructureShape.new(name: 'ListPrincipalPoliciesResponse')
785
786
  ListPrincipalThingsRequest = Shapes::StructureShape.new(name: 'ListPrincipalThingsRequest')
786
787
  ListPrincipalThingsResponse = Shapes::StructureShape.new(name: 'ListPrincipalThingsResponse')
788
+ ListPrincipalThingsV2Request = Shapes::StructureShape.new(name: 'ListPrincipalThingsV2Request')
789
+ ListPrincipalThingsV2Response = Shapes::StructureShape.new(name: 'ListPrincipalThingsV2Response')
787
790
  ListProvisioningTemplateVersionsRequest = Shapes::StructureShape.new(name: 'ListProvisioningTemplateVersionsRequest')
788
791
  ListProvisioningTemplateVersionsResponse = Shapes::StructureShape.new(name: 'ListProvisioningTemplateVersionsResponse')
789
792
  ListProvisioningTemplatesRequest = Shapes::StructureShape.new(name: 'ListProvisioningTemplatesRequest')
@@ -816,6 +819,8 @@ module Aws::IoT
816
819
  ListThingGroupsResponse = Shapes::StructureShape.new(name: 'ListThingGroupsResponse')
817
820
  ListThingPrincipalsRequest = Shapes::StructureShape.new(name: 'ListThingPrincipalsRequest')
818
821
  ListThingPrincipalsResponse = Shapes::StructureShape.new(name: 'ListThingPrincipalsResponse')
822
+ ListThingPrincipalsV2Request = Shapes::StructureShape.new(name: 'ListThingPrincipalsV2Request')
823
+ ListThingPrincipalsV2Response = Shapes::StructureShape.new(name: 'ListThingPrincipalsV2Response')
819
824
  ListThingRegistrationTaskReportsRequest = Shapes::StructureShape.new(name: 'ListThingRegistrationTaskReportsRequest')
820
825
  ListThingRegistrationTaskReportsResponse = Shapes::StructureShape.new(name: 'ListThingRegistrationTaskReportsResponse')
821
826
  ListThingRegistrationTasksRequest = Shapes::StructureShape.new(name: 'ListThingRegistrationTasksRequest')
@@ -888,6 +893,7 @@ module Aws::IoT
888
893
  MitigationActionType = Shapes::StringShape.new(name: 'MitigationActionType')
889
894
  MitigationActionsTaskId = Shapes::StringShape.new(name: 'MitigationActionsTaskId')
890
895
  ModelStatus = Shapes::StringShape.new(name: 'ModelStatus')
896
+ Mqtt5Configuration = Shapes::StructureShape.new(name: 'Mqtt5Configuration')
891
897
  MqttClientId = Shapes::StringShape.new(name: 'MqttClientId')
892
898
  MqttContext = Shapes::StructureShape.new(name: 'MqttContext')
893
899
  MqttHeaders = Shapes::StructureShape.new(name: 'MqttHeaders')
@@ -907,6 +913,7 @@ module Aws::IoT
907
913
  NumberList = Shapes::ListShape.new(name: 'NumberList')
908
914
  NumberOfRetries = Shapes::IntegerShape.new(name: 'NumberOfRetries')
909
915
  NumberOfThings = Shapes::IntegerShape.new(name: 'NumberOfThings')
916
+ OCSPLambdaArn = Shapes::StringShape.new(name: 'OCSPLambdaArn')
910
917
  OTAUpdateArn = Shapes::StringShape.new(name: 'OTAUpdateArn')
911
918
  OTAUpdateDescription = Shapes::StringShape.new(name: 'OTAUpdateDescription')
912
919
  OTAUpdateErrorMessage = Shapes::StringShape.new(name: 'OTAUpdateErrorMessage')
@@ -976,10 +983,14 @@ module Aws::IoT
976
983
  Principal = Shapes::StringShape.new(name: 'Principal')
977
984
  PrincipalArn = Shapes::StringShape.new(name: 'PrincipalArn')
978
985
  PrincipalId = Shapes::StringShape.new(name: 'PrincipalId')
986
+ PrincipalThingObject = Shapes::StructureShape.new(name: 'PrincipalThingObject')
987
+ PrincipalThingObjects = Shapes::ListShape.new(name: 'PrincipalThingObjects')
979
988
  Principals = Shapes::ListShape.new(name: 'Principals')
980
989
  PrivateKey = Shapes::StringShape.new(name: 'PrivateKey')
981
990
  ProcessingTargetName = Shapes::StringShape.new(name: 'ProcessingTargetName')
982
991
  ProcessingTargetNameList = Shapes::ListShape.new(name: 'ProcessingTargetNameList')
992
+ PropagatingAttribute = Shapes::StructureShape.new(name: 'PropagatingAttribute')
993
+ PropagatingAttributeList = Shapes::ListShape.new(name: 'PropagatingAttributeList')
983
994
  Protocol = Shapes::StringShape.new(name: 'Protocol')
984
995
  Protocols = Shapes::ListShape.new(name: 'Protocols')
985
996
  ProvisioningHook = Shapes::StructureShape.new(name: 'ProvisioningHook')
@@ -1250,6 +1261,9 @@ module Aws::IoT
1250
1261
  ThingIndexingMode = Shapes::StringShape.new(name: 'ThingIndexingMode')
1251
1262
  ThingName = Shapes::StringShape.new(name: 'ThingName')
1252
1263
  ThingNameList = Shapes::ListShape.new(name: 'ThingNameList')
1264
+ ThingPrincipalObject = Shapes::StructureShape.new(name: 'ThingPrincipalObject')
1265
+ ThingPrincipalObjects = Shapes::ListShape.new(name: 'ThingPrincipalObjects')
1266
+ ThingPrincipalType = Shapes::StringShape.new(name: 'ThingPrincipalType')
1253
1267
  ThingTypeArn = Shapes::StringShape.new(name: 'ThingTypeArn')
1254
1268
  ThingTypeDefinition = Shapes::StructureShape.new(name: 'ThingTypeDefinition')
1255
1269
  ThingTypeDescription = Shapes::StringShape.new(name: 'ThingTypeDescription')
@@ -1357,6 +1371,8 @@ module Aws::IoT
1357
1371
  UpdateThingGroupsForThingResponse = Shapes::StructureShape.new(name: 'UpdateThingGroupsForThingResponse')
1358
1372
  UpdateThingRequest = Shapes::StructureShape.new(name: 'UpdateThingRequest')
1359
1373
  UpdateThingResponse = Shapes::StructureShape.new(name: 'UpdateThingResponse')
1374
+ UpdateThingTypeRequest = Shapes::StructureShape.new(name: 'UpdateThingTypeRequest')
1375
+ UpdateThingTypeResponse = Shapes::StructureShape.new(name: 'UpdateThingTypeResponse')
1360
1376
  UpdateTopicRuleDestinationRequest = Shapes::StructureShape.new(name: 'UpdateTopicRuleDestinationRequest')
1361
1377
  UpdateTopicRuleDestinationResponse = Shapes::StructureShape.new(name: 'UpdateTopicRuleDestinationResponse')
1362
1378
  Url = Shapes::StringShape.new(name: 'Url')
@@ -1364,6 +1380,7 @@ module Aws::IoT
1364
1380
  UserProperties = Shapes::ListShape.new(name: 'UserProperties')
1365
1381
  UserProperty = Shapes::StructureShape.new(name: 'UserProperty')
1366
1382
  UserPropertyKey = Shapes::StringShape.new(name: 'UserPropertyKey')
1383
+ UserPropertyKeyName = Shapes::StringShape.new(name: 'UserPropertyKeyName')
1367
1384
  UserPropertyValue = Shapes::StringShape.new(name: 'UserPropertyValue')
1368
1385
  Valid = Shapes::BooleanShape.new(name: 'Valid')
1369
1386
  ValidateSecurityProfileBehaviorsRequest = Shapes::StructureShape.new(name: 'ValidateSecurityProfileBehaviorsRequest')
@@ -1554,6 +1571,7 @@ module Aws::IoT
1554
1571
 
1555
1572
  AttachThingPrincipalRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
1556
1573
  AttachThingPrincipalRequest.add_member(:principal, Shapes::ShapeRef.new(shape: Principal, required: true, location: "header", location_name: "x-amzn-principal"))
1574
+ AttachThingPrincipalRequest.add_member(:thing_principal_type, Shapes::ShapeRef.new(shape: ThingPrincipalType, location: "querystring", location_name: "thingPrincipalType"))
1557
1575
  AttachThingPrincipalRequest.struct_class = Types::AttachThingPrincipalRequest
1558
1576
 
1559
1577
  AttachThingPrincipalResponse.struct_class = Types::AttachThingPrincipalResponse
@@ -3807,6 +3825,16 @@ module Aws::IoT
3807
3825
  ListPrincipalThingsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3808
3826
  ListPrincipalThingsResponse.struct_class = Types::ListPrincipalThingsResponse
3809
3827
 
3828
+ ListPrincipalThingsV2Request.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3829
+ ListPrincipalThingsV2Request.add_member(:max_results, Shapes::ShapeRef.new(shape: RegistryMaxResults, location: "querystring", location_name: "maxResults"))
3830
+ ListPrincipalThingsV2Request.add_member(:principal, Shapes::ShapeRef.new(shape: Principal, required: true, location: "header", location_name: "x-amzn-principal"))
3831
+ ListPrincipalThingsV2Request.add_member(:thing_principal_type, Shapes::ShapeRef.new(shape: ThingPrincipalType, location: "querystring", location_name: "thingPrincipalType"))
3832
+ ListPrincipalThingsV2Request.struct_class = Types::ListPrincipalThingsV2Request
3833
+
3834
+ ListPrincipalThingsV2Response.add_member(:principal_thing_objects, Shapes::ShapeRef.new(shape: PrincipalThingObjects, location_name: "principalThingObjects"))
3835
+ ListPrincipalThingsV2Response.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3836
+ ListPrincipalThingsV2Response.struct_class = Types::ListPrincipalThingsV2Response
3837
+
3810
3838
  ListProvisioningTemplateVersionsRequest.add_member(:template_name, Shapes::ShapeRef.new(shape: TemplateName, required: true, location: "uri", location_name: "templateName"))
3811
3839
  ListProvisioningTemplateVersionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3812
3840
  ListProvisioningTemplateVersionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
@@ -3945,6 +3973,16 @@ module Aws::IoT
3945
3973
  ListThingPrincipalsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3946
3974
  ListThingPrincipalsResponse.struct_class = Types::ListThingPrincipalsResponse
3947
3975
 
3976
+ ListThingPrincipalsV2Request.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3977
+ ListThingPrincipalsV2Request.add_member(:max_results, Shapes::ShapeRef.new(shape: RegistryMaxResults, location: "querystring", location_name: "maxResults"))
3978
+ ListThingPrincipalsV2Request.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
3979
+ ListThingPrincipalsV2Request.add_member(:thing_principal_type, Shapes::ShapeRef.new(shape: ThingPrincipalType, location: "querystring", location_name: "thingPrincipalType"))
3980
+ ListThingPrincipalsV2Request.struct_class = Types::ListThingPrincipalsV2Request
3981
+
3982
+ ListThingPrincipalsV2Response.add_member(:thing_principal_objects, Shapes::ShapeRef.new(shape: ThingPrincipalObjects, location_name: "thingPrincipalObjects"))
3983
+ ListThingPrincipalsV2Response.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3984
+ ListThingPrincipalsV2Response.struct_class = Types::ListThingPrincipalsV2Response
3985
+
3948
3986
  ListThingRegistrationTaskReportsRequest.add_member(:task_id, Shapes::ShapeRef.new(shape: TaskId, required: true, location: "uri", location_name: "taskId"))
3949
3987
  ListThingRegistrationTaskReportsRequest.add_member(:report_type, Shapes::ShapeRef.new(shape: ReportType, required: true, location: "querystring", location_name: "reportType"))
3950
3988
  ListThingRegistrationTaskReportsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
@@ -4150,6 +4188,9 @@ module Aws::IoT
4150
4188
  MitigationActionParams.add_member(:publish_finding_to_sns_params, Shapes::ShapeRef.new(shape: PublishFindingToSnsParams, location_name: "publishFindingToSnsParams"))
4151
4189
  MitigationActionParams.struct_class = Types::MitigationActionParams
4152
4190
 
4191
+ Mqtt5Configuration.add_member(:propagating_attributes, Shapes::ShapeRef.new(shape: PropagatingAttributeList, location_name: "propagatingAttributes"))
4192
+ Mqtt5Configuration.struct_class = Types::Mqtt5Configuration
4193
+
4153
4194
  MqttContext.add_member(:username, Shapes::ShapeRef.new(shape: MqttUsername, location_name: "username"))
4154
4195
  MqttContext.add_member(:password, Shapes::ShapeRef.new(shape: MqttPassword, location_name: "password"))
4155
4196
  MqttContext.add_member(:client_id, Shapes::ShapeRef.new(shape: MqttClientId, location_name: "clientId"))
@@ -4290,10 +4331,23 @@ module Aws::IoT
4290
4331
  PresignedUrlConfig.add_member(:expires_in_sec, Shapes::ShapeRef.new(shape: ExpiresInSec, location_name: "expiresInSec"))
4291
4332
  PresignedUrlConfig.struct_class = Types::PresignedUrlConfig
4292
4333
 
4334
+ PrincipalThingObject.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location_name: "thingName"))
4335
+ PrincipalThingObject.add_member(:thing_principal_type, Shapes::ShapeRef.new(shape: ThingPrincipalType, location_name: "thingPrincipalType"))
4336
+ PrincipalThingObject.struct_class = Types::PrincipalThingObject
4337
+
4338
+ PrincipalThingObjects.member = Shapes::ShapeRef.new(shape: PrincipalThingObject)
4339
+
4293
4340
  Principals.member = Shapes::ShapeRef.new(shape: PrincipalArn)
4294
4341
 
4295
4342
  ProcessingTargetNameList.member = Shapes::ShapeRef.new(shape: ProcessingTargetName)
4296
4343
 
4344
+ PropagatingAttribute.add_member(:user_property_key, Shapes::ShapeRef.new(shape: UserPropertyKeyName, location_name: "userPropertyKey"))
4345
+ PropagatingAttribute.add_member(:thing_attribute, Shapes::ShapeRef.new(shape: AttributeName, location_name: "thingAttribute"))
4346
+ PropagatingAttribute.add_member(:connection_attribute, Shapes::ShapeRef.new(shape: ConnectionAttributeName, location_name: "connectionAttribute"))
4347
+ PropagatingAttribute.struct_class = Types::PropagatingAttribute
4348
+
4349
+ PropagatingAttributeList.member = Shapes::ShapeRef.new(shape: PropagatingAttribute)
4350
+
4297
4351
  Protocols.member = Shapes::ShapeRef.new(shape: Protocol)
4298
4352
 
4299
4353
  ProvisioningHook.add_member(:payload_version, Shapes::ShapeRef.new(shape: PayloadVersion, location_name: "payloadVersion"))
@@ -4574,6 +4628,8 @@ module Aws::IoT
4574
4628
  ServerCertificateArns.member = Shapes::ShapeRef.new(shape: AcmCertificateArn)
4575
4629
 
4576
4630
  ServerCertificateConfig.add_member(:enable_ocsp_check, Shapes::ShapeRef.new(shape: EnableOCSPCheck, location_name: "enableOCSPCheck"))
4631
+ ServerCertificateConfig.add_member(:ocsp_lambda_arn, Shapes::ShapeRef.new(shape: OCSPLambdaArn, location_name: "ocspLambdaArn"))
4632
+ ServerCertificateConfig.add_member(:ocsp_authorized_responder_arn, Shapes::ShapeRef.new(shape: AcmCertificateArn, location_name: "ocspAuthorizedResponderArn"))
4577
4633
  ServerCertificateConfig.struct_class = Types::ServerCertificateConfig
4578
4634
 
4579
4635
  ServerCertificateSummary.add_member(:server_certificate_arn, Shapes::ShapeRef.new(shape: AcmCertificateArn, location_name: "serverCertificateArn"))
@@ -4877,6 +4933,12 @@ module Aws::IoT
4877
4933
 
4878
4934
  ThingNameList.member = Shapes::ShapeRef.new(shape: ThingName)
4879
4935
 
4936
+ ThingPrincipalObject.add_member(:principal, Shapes::ShapeRef.new(shape: Principal, required: true, location_name: "principal"))
4937
+ ThingPrincipalObject.add_member(:thing_principal_type, Shapes::ShapeRef.new(shape: ThingPrincipalType, location_name: "thingPrincipalType"))
4938
+ ThingPrincipalObject.struct_class = Types::ThingPrincipalObject
4939
+
4940
+ ThingPrincipalObjects.member = Shapes::ShapeRef.new(shape: ThingPrincipalObject)
4941
+
4880
4942
  ThingTypeDefinition.add_member(:thing_type_name, Shapes::ShapeRef.new(shape: ThingTypeName, location_name: "thingTypeName"))
4881
4943
  ThingTypeDefinition.add_member(:thing_type_arn, Shapes::ShapeRef.new(shape: ThingTypeArn, location_name: "thingTypeArn"))
4882
4944
  ThingTypeDefinition.add_member(:thing_type_properties, Shapes::ShapeRef.new(shape: ThingTypeProperties, location_name: "thingTypeProperties"))
@@ -4892,6 +4954,7 @@ module Aws::IoT
4892
4954
 
4893
4955
  ThingTypeProperties.add_member(:thing_type_description, Shapes::ShapeRef.new(shape: ThingTypeDescription, location_name: "thingTypeDescription"))
4894
4956
  ThingTypeProperties.add_member(:searchable_attributes, Shapes::ShapeRef.new(shape: SearchableAttributes, location_name: "searchableAttributes"))
4957
+ ThingTypeProperties.add_member(:mqtt5_configuration, Shapes::ShapeRef.new(shape: Mqtt5Configuration, location_name: "mqtt5Configuration"))
4895
4958
  ThingTypeProperties.struct_class = Types::ThingTypeProperties
4896
4959
 
4897
4960
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -5279,6 +5342,12 @@ module Aws::IoT
5279
5342
 
5280
5343
  UpdateThingResponse.struct_class = Types::UpdateThingResponse
5281
5344
 
5345
+ UpdateThingTypeRequest.add_member(:thing_type_name, Shapes::ShapeRef.new(shape: ThingTypeName, required: true, location: "uri", location_name: "thingTypeName"))
5346
+ UpdateThingTypeRequest.add_member(:thing_type_properties, Shapes::ShapeRef.new(shape: ThingTypeProperties, location_name: "thingTypeProperties"))
5347
+ UpdateThingTypeRequest.struct_class = Types::UpdateThingTypeRequest
5348
+
5349
+ UpdateThingTypeResponse.struct_class = Types::UpdateThingTypeResponse
5350
+
5282
5351
  UpdateTopicRuleDestinationRequest.add_member(:arn, Shapes::ShapeRef.new(shape: AwsArn, required: true, location_name: "arn"))
5283
5352
  UpdateTopicRuleDestinationRequest.add_member(:status, Shapes::ShapeRef.new(shape: TopicRuleDestinationStatus, required: true, location_name: "status"))
5284
5353
  UpdateTopicRuleDestinationRequest.struct_class = Types::UpdateTopicRuleDestinationRequest
@@ -7939,6 +8008,26 @@ module Aws::IoT
7939
8008
  )
7940
8009
  end)
7941
8010
 
8011
+ api.add_operation(:list_principal_things_v2, Seahorse::Model::Operation.new.tap do |o|
8012
+ o.name = "ListPrincipalThingsV2"
8013
+ o.http_method = "GET"
8014
+ o.http_request_uri = "/principals/things-v2"
8015
+ o.input = Shapes::ShapeRef.new(shape: ListPrincipalThingsV2Request)
8016
+ o.output = Shapes::ShapeRef.new(shape: ListPrincipalThingsV2Response)
8017
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
8018
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8019
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
8020
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
8021
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
8022
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
8023
+ o[:pager] = Aws::Pager.new(
8024
+ limit_key: "max_results",
8025
+ tokens: {
8026
+ "next_token" => "next_token"
8027
+ }
8028
+ )
8029
+ end)
8030
+
7942
8031
  api.add_operation(:list_provisioning_template_versions, Seahorse::Model::Operation.new.tap do |o|
7943
8032
  o.name = "ListProvisioningTemplateVersions"
7944
8033
  o.http_method = "GET"
@@ -8215,6 +8304,26 @@ module Aws::IoT
8215
8304
  )
8216
8305
  end)
8217
8306
 
8307
+ api.add_operation(:list_thing_principals_v2, Seahorse::Model::Operation.new.tap do |o|
8308
+ o.name = "ListThingPrincipalsV2"
8309
+ o.http_method = "GET"
8310
+ o.http_request_uri = "/things/{thingName}/principals-v2"
8311
+ o.input = Shapes::ShapeRef.new(shape: ListThingPrincipalsV2Request)
8312
+ o.output = Shapes::ShapeRef.new(shape: ListThingPrincipalsV2Response)
8313
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
8314
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
8315
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
8316
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
8317
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
8318
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
8319
+ o[:pager] = Aws::Pager.new(
8320
+ limit_key: "max_results",
8321
+ tokens: {
8322
+ "next_token" => "next_token"
8323
+ }
8324
+ )
8325
+ end)
8326
+
8218
8327
  api.add_operation(:list_thing_registration_task_reports, Seahorse::Model::Operation.new.tap do |o|
8219
8328
  o.name = "ListThingRegistrationTaskReports"
8220
8329
  o.http_method = "GET"
@@ -9097,6 +9206,20 @@ module Aws::IoT
9097
9206
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
9098
9207
  end)
9099
9208
 
9209
+ api.add_operation(:update_thing_type, Seahorse::Model::Operation.new.tap do |o|
9210
+ o.name = "UpdateThingType"
9211
+ o.http_method = "PATCH"
9212
+ o.http_request_uri = "/thing-types/{thingTypeName}"
9213
+ o.input = Shapes::ShapeRef.new(shape: UpdateThingTypeRequest)
9214
+ o.output = Shapes::ShapeRef.new(shape: UpdateThingTypeResponse)
9215
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
9216
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
9217
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
9218
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
9219
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
9220
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
9221
+ end)
9222
+
9100
9223
  api.add_operation(:update_topic_rule_destination, Seahorse::Model::Operation.new.tap do |o|
9101
9224
  o.name = "UpdateTopicRuleDestination"
9102
9225
  o.http_method = "PATCH"