aws-sdk-iotmanagedintegrations 1.2.0 → 1.4.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.
@@ -469,6 +469,243 @@ module Aws::IoTManagedIntegrations
469
469
 
470
470
  # @!group API Operations
471
471
 
472
+ # Creates a new account association via the destination id.
473
+ #
474
+ # @option params [String] :client_token
475
+ # An idempotency token. If you retry a request that completed
476
+ # successfully initially using the same client token and parameters,
477
+ # then the retry attempt will succeed without performing any further
478
+ # actions.
479
+ #
480
+ # **A suitable default value is auto-generated.** You should normally
481
+ # not need to pass this option.**
482
+ #
483
+ # @option params [required, String] :connector_destination_id
484
+ # The identifier of the connector destination.
485
+ #
486
+ # @option params [String] :name
487
+ # The name of the destination for the new account association.
488
+ #
489
+ # @option params [String] :description
490
+ # A description of the account association request.
491
+ #
492
+ # @option params [Hash<String,String>] :tags
493
+ # A set of key/value pairs that are used to manage the account
494
+ # association.
495
+ #
496
+ # @return [Types::CreateAccountAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
497
+ #
498
+ # * {Types::CreateAccountAssociationResponse#o_auth_authorization_url #o_auth_authorization_url} => String
499
+ # * {Types::CreateAccountAssociationResponse#account_association_id #account_association_id} => String
500
+ # * {Types::CreateAccountAssociationResponse#association_state #association_state} => String
501
+ # * {Types::CreateAccountAssociationResponse#arn #arn} => String
502
+ #
503
+ # @example Request syntax with placeholder values
504
+ #
505
+ # resp = client.create_account_association({
506
+ # client_token: "ClientToken",
507
+ # connector_destination_id: "ConnectorDestinationId", # required
508
+ # name: "AccountAssociationName",
509
+ # description: "AccountAssociationDescription",
510
+ # tags: {
511
+ # "TagKey" => "TagValue",
512
+ # },
513
+ # })
514
+ #
515
+ # @example Response structure
516
+ #
517
+ # resp.o_auth_authorization_url #=> String
518
+ # resp.account_association_id #=> String
519
+ # resp.association_state #=> String, one of "ASSOCIATION_IN_PROGRESS", "ASSOCIATION_FAILED", "ASSOCIATION_SUCCEEDED", "ASSOCIATION_DELETING", "REFRESH_TOKEN_EXPIRED"
520
+ # resp.arn #=> String
521
+ #
522
+ # @overload create_account_association(params = {})
523
+ # @param [Hash] params ({})
524
+ def create_account_association(params = {}, options = {})
525
+ req = build_request(:create_account_association, params)
526
+ req.send_request(options)
527
+ end
528
+
529
+ # Creates a C2C (cloud-to-cloud) connector.
530
+ #
531
+ # @option params [required, String] :name
532
+ # The display name of the C2C connector.
533
+ #
534
+ # @option params [required, Types::EndpointConfig] :endpoint_config
535
+ # The configuration details for the cloud connector endpoint, including
536
+ # connection parameters and authentication requirements.
537
+ #
538
+ # @option params [String] :description
539
+ # A description of the C2C connector.
540
+ #
541
+ # @option params [String] :endpoint_type
542
+ # The type of endpoint used for the cloud connector, which defines how
543
+ # the connector communicates with external services.
544
+ #
545
+ # @option params [String] :client_token
546
+ # An idempotency token. If you retry a request that completed
547
+ # successfully initially using the same client token and parameters,
548
+ # then the retry attempt will succeed without performing any further
549
+ # actions.
550
+ #
551
+ # **A suitable default value is auto-generated.** You should normally
552
+ # not need to pass this option.**
553
+ #
554
+ # @return [Types::CreateCloudConnectorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
555
+ #
556
+ # * {Types::CreateCloudConnectorResponse#id #id} => String
557
+ #
558
+ #
559
+ # @example Example: CreateCloudConnector happy path for TP Link
560
+ #
561
+ # resp = client.create_cloud_connector({
562
+ # client_token: "1234567890",
563
+ # endpoint_config: {
564
+ # lambda: {
565
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
566
+ # },
567
+ # },
568
+ # endpoint_type: "LAMBDA",
569
+ # name: "Connector for TP Link Cloud",
570
+ # })
571
+ #
572
+ # resp.to_h outputs the following:
573
+ # {
574
+ # id: "TPLinkConnector1211",
575
+ # }
576
+ #
577
+ # @example Example: CreateCloudConnector happy path for Ring
578
+ #
579
+ # resp = client.create_cloud_connector({
580
+ # client_token: "12312321",
581
+ # endpoint_config: {
582
+ # lambda: {
583
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
584
+ # },
585
+ # },
586
+ # endpoint_type: "LAMBDA",
587
+ # name: "Connector for Ring Cloud",
588
+ # })
589
+ #
590
+ # resp.to_h outputs the following:
591
+ # {
592
+ # id: "RingConnector1212",
593
+ # }
594
+ #
595
+ # @example Example: CreateCloudConnector error path for Ring connector which already exists
596
+ #
597
+ # resp = client.create_cloud_connector({
598
+ # client_token: "1213123123",
599
+ # endpoint_config: {
600
+ # lambda: {
601
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion2",
602
+ # },
603
+ # },
604
+ # endpoint_type: "LAMBDA",
605
+ # name: "Connector for Ring Cloud",
606
+ # })
607
+ #
608
+ # @example Request syntax with placeholder values
609
+ #
610
+ # resp = client.create_cloud_connector({
611
+ # name: "DisplayName", # required
612
+ # endpoint_config: { # required
613
+ # lambda: {
614
+ # arn: "LambdaArn", # required
615
+ # },
616
+ # },
617
+ # description: "CloudConnectorDescription",
618
+ # endpoint_type: "LAMBDA", # accepts LAMBDA
619
+ # client_token: "ClientToken",
620
+ # })
621
+ #
622
+ # @example Response structure
623
+ #
624
+ # resp.id #=> String
625
+ #
626
+ # @overload create_cloud_connector(params = {})
627
+ # @param [Hash] params ({})
628
+ def create_cloud_connector(params = {}, options = {})
629
+ req = build_request(:create_cloud_connector, params)
630
+ req.send_request(options)
631
+ end
632
+
633
+ # Create a connector destination for connecting a cloud-to-cloud (C2C)
634
+ # connector to the customer's Amazon Web Services account.
635
+ #
636
+ # @option params [String] :name
637
+ # The display name of the connector destination.
638
+ #
639
+ # @option params [String] :description
640
+ # A description of the connector destination.
641
+ #
642
+ # @option params [required, String] :cloud_connector_id
643
+ # The identifier of the C2C connector.
644
+ #
645
+ # @option params [required, String] :auth_type
646
+ # The authentication type used for the connector destination, which
647
+ # determines how credentials and access are managed.
648
+ #
649
+ # @option params [required, Types::AuthConfig] :auth_config
650
+ # The authentication configuration details for the connector
651
+ # destination, including OAuth settings and other authentication
652
+ # parameters.
653
+ #
654
+ # @option params [required, Types::SecretsManager] :secrets_manager
655
+ # The AWS Secrets Manager configuration used to securely store and
656
+ # manage sensitive information for the connector destination.
657
+ #
658
+ # @option params [String] :client_token
659
+ # An idempotency token. If you retry a request that completed
660
+ # successfully initially using the same client token and parameters,
661
+ # then the retry attempt will succeed without performing any further
662
+ # actions.
663
+ #
664
+ # **A suitable default value is auto-generated.** You should normally
665
+ # not need to pass this option.**
666
+ #
667
+ # @return [Types::CreateConnectorDestinationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
668
+ #
669
+ # * {Types::CreateConnectorDestinationResponse#id #id} => String
670
+ #
671
+ # @example Request syntax with placeholder values
672
+ #
673
+ # resp = client.create_connector_destination({
674
+ # name: "ConnectorDestinationName",
675
+ # description: "ConnectorDestinationDescription",
676
+ # cloud_connector_id: "CloudConnectorId", # required
677
+ # auth_type: "OAUTH", # required, accepts OAUTH
678
+ # auth_config: { # required
679
+ # o_auth: {
680
+ # auth_url: "AuthUrl", # required
681
+ # token_url: "TokenUrl", # required
682
+ # scope: "String",
683
+ # token_endpoint_authentication_scheme: "HTTP_BASIC", # required, accepts HTTP_BASIC, REQUEST_BODY_CREDENTIALS
684
+ # o_auth_complete_redirect_url: "String",
685
+ # proactive_refresh_token_renewal: {
686
+ # enabled: false,
687
+ # days_before_renewal: 1,
688
+ # },
689
+ # },
690
+ # },
691
+ # secrets_manager: { # required
692
+ # arn: "SecretsManagerArn", # required
693
+ # version_id: "SecretsManagerVersionId", # required
694
+ # },
695
+ # client_token: "ClientToken",
696
+ # })
697
+ #
698
+ # @example Response structure
699
+ #
700
+ # resp.id #=> String
701
+ #
702
+ # @overload create_connector_destination(params = {})
703
+ # @param [Hash] params ({})
704
+ def create_connector_destination(params = {}, options = {})
705
+ req = build_request(:create_connector_destination, params)
706
+ req.send_request(options)
707
+ end
708
+
472
709
  # Create a product credential locker. This operation will trigger the
473
710
  # creation of all the manufacturing resources including the Wi-Fi setup
474
711
  # key pair and device certificate.
@@ -660,6 +897,11 @@ module Aws::IoTManagedIntegrations
660
897
  # @option params [Types::CapabilityReport] :capability_report
661
898
  # A report of the capabilities for the managed thing.
662
899
  #
900
+ # @option params [Array<Types::CapabilitySchemaItem>] :capability_schemas
901
+ # The capability schemas that define the functionality and features
902
+ # supported by the managed thing, including device capabilities and
903
+ # their associated properties.
904
+ #
663
905
  # @option params [String] :capabilities
664
906
  # The capabilities of the device such as light bulb.
665
907
  #
@@ -682,6 +924,14 @@ module Aws::IoTManagedIntegrations
682
924
  # @option params [Hash<String,String>] :meta_data
683
925
  # The metadata for the managed thing.
684
926
  #
927
+ # <note markdown="1"> The `managedThing` `metadata` parameter is used for associating
928
+ # attributes with a `managedThing` that can be used for grouping
929
+ # over-the-air (OTA) tasks. Name value pairs in `metadata` can be used
930
+ # in the `OtaTargetQueryString` parameter for the `CreateOtaTask` API
931
+ # operation.
932
+ #
933
+ # </note>
934
+ #
685
935
  # @return [Types::CreateManagedThingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
686
936
  #
687
937
  # * {Types::CreateManagedThingResponse#id #id} => String
@@ -695,7 +945,7 @@ module Aws::IoTManagedIntegrations
695
945
  # owner: "Owner",
696
946
  # credential_locker_id: "CredentialLockerId",
697
947
  # authentication_material: "AuthMaterialString", # required
698
- # authentication_material_type: "WIFI_SETUP_QR_BAR_CODE", # required, accepts WIFI_SETUP_QR_BAR_CODE, ZWAVE_QR_BAR_CODE, ZIGBEE_QR_BAR_CODE
948
+ # authentication_material_type: "CUSTOM_PROTOCOL_QR_BAR_CODE", # required, accepts CUSTOM_PROTOCOL_QR_BAR_CODE, WIFI_SETUP_QR_BAR_CODE, ZWAVE_QR_BAR_CODE, ZIGBEE_QR_BAR_CODE, DISCOVERED_DEVICE
699
949
  # serial_number: "SerialNumber",
700
950
  # brand: "Brand",
701
951
  # model: "Model",
@@ -720,6 +970,16 @@ module Aws::IoTManagedIntegrations
720
970
  # },
721
971
  # ],
722
972
  # },
973
+ # capability_schemas: [
974
+ # {
975
+ # format: "AWS", # required, accepts AWS, ZCL, CONNECTOR
976
+ # capability_id: "SchemaVersionedId", # required
977
+ # extrinsic_id: "ExtrinsicSchemaId", # required
978
+ # extrinsic_version: 1, # required
979
+ # schema: { # required
980
+ # },
981
+ # },
982
+ # ],
723
983
  # capabilities: "Capabilities",
724
984
  # client_token: "ClientToken",
725
985
  # classification: "Classification",
@@ -774,7 +1034,7 @@ module Aws::IoTManagedIntegrations
774
1034
  # @example Request syntax with placeholder values
775
1035
  #
776
1036
  # resp = client.create_notification_configuration({
777
- # event_type: "DEVICE_COMMAND", # required, accepts DEVICE_COMMAND, DEVICE_COMMAND_REQUEST, DEVICE_EVENT, DEVICE_LIFE_CYCLE, DEVICE_STATE, DEVICE_OTA, CONNECTOR_ASSOCIATION, CONNECTOR_ERROR_REPORT
1037
+ # event_type: "DEVICE_COMMAND", # required, accepts DEVICE_COMMAND, DEVICE_COMMAND_REQUEST, DEVICE_DISCOVERY_STATUS, DEVICE_EVENT, DEVICE_LIFE_CYCLE, DEVICE_STATE, DEVICE_OTA, CONNECTOR_ASSOCIATION, ACCOUNT_ASSOCIATION, CONNECTOR_ERROR_REPORT
778
1038
  # destination_name: "DestinationName", # required
779
1039
  # client_token: "ClientToken",
780
1040
  # tags: {
@@ -784,7 +1044,7 @@ module Aws::IoTManagedIntegrations
784
1044
  #
785
1045
  # @example Response structure
786
1046
  #
787
- # resp.event_type #=> String, one of "DEVICE_COMMAND", "DEVICE_COMMAND_REQUEST", "DEVICE_EVENT", "DEVICE_LIFE_CYCLE", "DEVICE_STATE", "DEVICE_OTA", "CONNECTOR_ASSOCIATION", "CONNECTOR_ERROR_REPORT"
1047
+ # resp.event_type #=> String, one of "DEVICE_COMMAND", "DEVICE_COMMAND_REQUEST", "DEVICE_DISCOVERY_STATUS", "DEVICE_EVENT", "DEVICE_LIFE_CYCLE", "DEVICE_STATE", "DEVICE_OTA", "CONNECTOR_ASSOCIATION", "ACCOUNT_ASSOCIATION", "CONNECTOR_ERROR_REPORT"
788
1048
  #
789
1049
  # @overload create_notification_configuration(params = {})
790
1050
  # @param [Hash] params ({})
@@ -1030,6 +1290,67 @@ module Aws::IoTManagedIntegrations
1030
1290
  req.send_request(options)
1031
1291
  end
1032
1292
 
1293
+ # Remove a third party account and related devices from an end user.
1294
+ #
1295
+ # @option params [required, String] :account_association_id
1296
+ # The unique identifier of the account association to be deleted.
1297
+ #
1298
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1299
+ #
1300
+ # @example Request syntax with placeholder values
1301
+ #
1302
+ # resp = client.delete_account_association({
1303
+ # account_association_id: "AccountAssociationId", # required
1304
+ # })
1305
+ #
1306
+ # @overload delete_account_association(params = {})
1307
+ # @param [Hash] params ({})
1308
+ def delete_account_association(params = {}, options = {})
1309
+ req = build_request(:delete_account_association, params)
1310
+ req.send_request(options)
1311
+ end
1312
+
1313
+ # Delete a cloud connector.
1314
+ #
1315
+ # @option params [required, String] :identifier
1316
+ # The identifier of the cloud connector.
1317
+ #
1318
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1319
+ #
1320
+ # @example Request syntax with placeholder values
1321
+ #
1322
+ # resp = client.delete_cloud_connector({
1323
+ # identifier: "CloudConnectorId", # required
1324
+ # })
1325
+ #
1326
+ # @overload delete_cloud_connector(params = {})
1327
+ # @param [Hash] params ({})
1328
+ def delete_cloud_connector(params = {}, options = {})
1329
+ req = build_request(:delete_cloud_connector, params)
1330
+ req.send_request(options)
1331
+ end
1332
+
1333
+ # Delete a connector destination for connecting a cloud-to-cloud (C2C)
1334
+ # connector to the customer's Amazon Web Services account.
1335
+ #
1336
+ # @option params [required, String] :identifier
1337
+ # The identifier of the connector destination.
1338
+ #
1339
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1340
+ #
1341
+ # @example Request syntax with placeholder values
1342
+ #
1343
+ # resp = client.delete_connector_destination({
1344
+ # identifier: "ConnectorDestinationId", # required
1345
+ # })
1346
+ #
1347
+ # @overload delete_connector_destination(params = {})
1348
+ # @param [Hash] params ({})
1349
+ def delete_connector_destination(params = {}, options = {})
1350
+ req = build_request(:delete_connector_destination, params)
1351
+ req.send_request(options)
1352
+ end
1353
+
1033
1354
  # Delete a credential locker.
1034
1355
  #
1035
1356
  # <note markdown="1"> This operation can't be undone and any existing device won't be able
@@ -1134,7 +1455,7 @@ module Aws::IoTManagedIntegrations
1134
1455
  # @example Request syntax with placeholder values
1135
1456
  #
1136
1457
  # resp = client.delete_notification_configuration({
1137
- # event_type: "DEVICE_COMMAND", # required, accepts DEVICE_COMMAND, DEVICE_COMMAND_REQUEST, DEVICE_EVENT, DEVICE_LIFE_CYCLE, DEVICE_STATE, DEVICE_OTA, CONNECTOR_ASSOCIATION, CONNECTOR_ERROR_REPORT
1458
+ # event_type: "DEVICE_COMMAND", # required, accepts DEVICE_COMMAND, DEVICE_COMMAND_REQUEST, DEVICE_DISCOVERY_STATUS, DEVICE_EVENT, DEVICE_LIFE_CYCLE, DEVICE_STATE, DEVICE_OTA, CONNECTOR_ASSOCIATION, ACCOUNT_ASSOCIATION, CONNECTOR_ERROR_REPORT
1138
1459
  # })
1139
1460
  #
1140
1461
  # @overload delete_notification_configuration(params = {})
@@ -1204,6 +1525,201 @@ module Aws::IoTManagedIntegrations
1204
1525
  req.send_request(options)
1205
1526
  end
1206
1527
 
1528
+ # Deregisters an account association, removing the connection between a
1529
+ # managed thing and a third-party account.
1530
+ #
1531
+ # @option params [required, String] :managed_thing_id
1532
+ # The identifier of the managed thing to be deregistered from the
1533
+ # account association.
1534
+ #
1535
+ # @option params [required, String] :account_association_id
1536
+ # The unique identifier of the account association to be deregistered.
1537
+ #
1538
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1539
+ #
1540
+ # @example Request syntax with placeholder values
1541
+ #
1542
+ # resp = client.deregister_account_association({
1543
+ # managed_thing_id: "ManagedThingId", # required
1544
+ # account_association_id: "AccountAssociationId", # required
1545
+ # })
1546
+ #
1547
+ # @overload deregister_account_association(params = {})
1548
+ # @param [Hash] params ({})
1549
+ def deregister_account_association(params = {}, options = {})
1550
+ req = build_request(:deregister_account_association, params)
1551
+ req.send_request(options)
1552
+ end
1553
+
1554
+ # Get an account association for an Amazon Web Services account linked
1555
+ # to a customer-managed destination.
1556
+ #
1557
+ # @option params [required, String] :account_association_id
1558
+ # The unique identifier of the account association to retrieve.
1559
+ #
1560
+ # @return [Types::GetAccountAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1561
+ #
1562
+ # * {Types::GetAccountAssociationResponse#account_association_id #account_association_id} => String
1563
+ # * {Types::GetAccountAssociationResponse#association_state #association_state} => String
1564
+ # * {Types::GetAccountAssociationResponse#error_message #error_message} => String
1565
+ # * {Types::GetAccountAssociationResponse#connector_destination_id #connector_destination_id} => String
1566
+ # * {Types::GetAccountAssociationResponse#name #name} => String
1567
+ # * {Types::GetAccountAssociationResponse#description #description} => String
1568
+ # * {Types::GetAccountAssociationResponse#arn #arn} => String
1569
+ # * {Types::GetAccountAssociationResponse#o_auth_authorization_url #o_auth_authorization_url} => String
1570
+ # * {Types::GetAccountAssociationResponse#tags #tags} => Hash&lt;String,String&gt;
1571
+ #
1572
+ # @example Request syntax with placeholder values
1573
+ #
1574
+ # resp = client.get_account_association({
1575
+ # account_association_id: "AccountAssociationId", # required
1576
+ # })
1577
+ #
1578
+ # @example Response structure
1579
+ #
1580
+ # resp.account_association_id #=> String
1581
+ # resp.association_state #=> String, one of "ASSOCIATION_IN_PROGRESS", "ASSOCIATION_FAILED", "ASSOCIATION_SUCCEEDED", "ASSOCIATION_DELETING", "REFRESH_TOKEN_EXPIRED"
1582
+ # resp.error_message #=> String
1583
+ # resp.connector_destination_id #=> String
1584
+ # resp.name #=> String
1585
+ # resp.description #=> String
1586
+ # resp.arn #=> String
1587
+ # resp.o_auth_authorization_url #=> String
1588
+ # resp.tags #=> Hash
1589
+ # resp.tags["TagKey"] #=> String
1590
+ #
1591
+ # @overload get_account_association(params = {})
1592
+ # @param [Hash] params ({})
1593
+ def get_account_association(params = {}, options = {})
1594
+ req = build_request(:get_account_association, params)
1595
+ req.send_request(options)
1596
+ end
1597
+
1598
+ # Gets all the information about a connector for a connector developer.
1599
+ #
1600
+ # @option params [required, String] :identifier
1601
+ # The identifier of the C2C connector.
1602
+ #
1603
+ # @return [Types::GetCloudConnectorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1604
+ #
1605
+ # * {Types::GetCloudConnectorResponse#name #name} => String
1606
+ # * {Types::GetCloudConnectorResponse#endpoint_config #endpoint_config} => Types::EndpointConfig
1607
+ # * {Types::GetCloudConnectorResponse#description #description} => String
1608
+ # * {Types::GetCloudConnectorResponse#endpoint_type #endpoint_type} => String
1609
+ # * {Types::GetCloudConnectorResponse#id #id} => String
1610
+ # * {Types::GetCloudConnectorResponse#type #type} => String
1611
+ #
1612
+ #
1613
+ # @example Example: GetCloudConnector happy path for TP Link to get connector resource
1614
+ #
1615
+ # resp = client.get_cloud_connector({
1616
+ # identifier: "123456789012",
1617
+ # })
1618
+ #
1619
+ # resp.to_h outputs the following:
1620
+ # {
1621
+ # endpoint_config: {
1622
+ # lambda: {
1623
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
1624
+ # },
1625
+ # },
1626
+ # endpoint_type: "LAMBDA",
1627
+ # id: "123456789012",
1628
+ # name: "Connector for TP Link Cloud V2",
1629
+ # }
1630
+ #
1631
+ # @example Example: GetCloudConnector happy path for Ring to pending status
1632
+ #
1633
+ # resp = client.get_cloud_connector({
1634
+ # identifier: "123456789012",
1635
+ # })
1636
+ #
1637
+ # resp.to_h outputs the following:
1638
+ # {
1639
+ # endpoint_config: {
1640
+ # lambda: {
1641
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
1642
+ # },
1643
+ # },
1644
+ # name: "Connector for Ring Cloud",
1645
+ # }
1646
+ #
1647
+ # @example Example: GetCloudConnector error Id for Ring connector which does not exist
1648
+ #
1649
+ # resp = client.get_cloud_connector({
1650
+ # identifier: "123456789012",
1651
+ # })
1652
+ #
1653
+ # @example Request syntax with placeholder values
1654
+ #
1655
+ # resp = client.get_cloud_connector({
1656
+ # identifier: "CloudConnectorId", # required
1657
+ # })
1658
+ #
1659
+ # @example Response structure
1660
+ #
1661
+ # resp.name #=> String
1662
+ # resp.endpoint_config.lambda.arn #=> String
1663
+ # resp.description #=> String
1664
+ # resp.endpoint_type #=> String, one of "LAMBDA"
1665
+ # resp.id #=> String
1666
+ # resp.type #=> String, one of "LISTED", "UNLISTED"
1667
+ #
1668
+ # @overload get_cloud_connector(params = {})
1669
+ # @param [Hash] params ({})
1670
+ def get_cloud_connector(params = {}, options = {})
1671
+ req = build_request(:get_cloud_connector, params)
1672
+ req.send_request(options)
1673
+ end
1674
+
1675
+ # Get a connector destination of a cloud-to-cloud (C2C) connector
1676
+ # connecting to a customer's Amazon Web Services account.
1677
+ #
1678
+ # @option params [required, String] :identifier
1679
+ # The identifier of the C2C connector destination.
1680
+ #
1681
+ # @return [Types::GetConnectorDestinationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1682
+ #
1683
+ # * {Types::GetConnectorDestinationResponse#name #name} => String
1684
+ # * {Types::GetConnectorDestinationResponse#description #description} => String
1685
+ # * {Types::GetConnectorDestinationResponse#cloud_connector_id #cloud_connector_id} => String
1686
+ # * {Types::GetConnectorDestinationResponse#id #id} => String
1687
+ # * {Types::GetConnectorDestinationResponse#auth_type #auth_type} => String
1688
+ # * {Types::GetConnectorDestinationResponse#auth_config #auth_config} => Types::AuthConfig
1689
+ # * {Types::GetConnectorDestinationResponse#secrets_manager #secrets_manager} => Types::SecretsManager
1690
+ # * {Types::GetConnectorDestinationResponse#o_auth_complete_redirect_url #o_auth_complete_redirect_url} => String
1691
+ #
1692
+ # @example Request syntax with placeholder values
1693
+ #
1694
+ # resp = client.get_connector_destination({
1695
+ # identifier: "ConnectorDestinationId", # required
1696
+ # })
1697
+ #
1698
+ # @example Response structure
1699
+ #
1700
+ # resp.name #=> String
1701
+ # resp.description #=> String
1702
+ # resp.cloud_connector_id #=> String
1703
+ # resp.id #=> String
1704
+ # resp.auth_type #=> String, one of "OAUTH"
1705
+ # resp.auth_config.o_auth.auth_url #=> String
1706
+ # resp.auth_config.o_auth.token_url #=> String
1707
+ # resp.auth_config.o_auth.scope #=> String
1708
+ # resp.auth_config.o_auth.token_endpoint_authentication_scheme #=> String, one of "HTTP_BASIC", "REQUEST_BODY_CREDENTIALS"
1709
+ # resp.auth_config.o_auth.o_auth_complete_redirect_url #=> String
1710
+ # resp.auth_config.o_auth.proactive_refresh_token_renewal.enabled #=> Boolean
1711
+ # resp.auth_config.o_auth.proactive_refresh_token_renewal.days_before_renewal #=> Integer
1712
+ # resp.secrets_manager.arn #=> String
1713
+ # resp.secrets_manager.version_id #=> String
1714
+ # resp.o_auth_complete_redirect_url #=> String
1715
+ #
1716
+ # @overload get_connector_destination(params = {})
1717
+ # @param [Hash] params ({})
1718
+ def get_connector_destination(params = {}, options = {})
1719
+ req = build_request(:get_connector_destination, params)
1720
+ req.send_request(options)
1721
+ end
1722
+
1207
1723
  # Get information on an existing credential locker
1208
1724
  #
1209
1725
  # @option params [required, String] :identifier
@@ -1341,6 +1857,7 @@ module Aws::IoTManagedIntegrations
1341
1857
  # * {Types::GetDeviceDiscoveryResponse#started_at #started_at} => Time
1342
1858
  # * {Types::GetDeviceDiscoveryResponse#controller_id #controller_id} => String
1343
1859
  # * {Types::GetDeviceDiscoveryResponse#connector_association_id #connector_association_id} => String
1860
+ # * {Types::GetDeviceDiscoveryResponse#account_association_id #account_association_id} => String
1344
1861
  # * {Types::GetDeviceDiscoveryResponse#finished_at #finished_at} => Time
1345
1862
  # * {Types::GetDeviceDiscoveryResponse#tags #tags} => Hash&lt;String,String&gt;
1346
1863
  #
@@ -1354,11 +1871,12 @@ module Aws::IoTManagedIntegrations
1354
1871
  #
1355
1872
  # resp.id #=> String
1356
1873
  # resp.arn #=> String
1357
- # resp.discovery_type #=> String, one of "ZWAVE", "ZIGBEE", "CLOUD"
1874
+ # resp.discovery_type #=> String, one of "ZWAVE", "ZIGBEE", "CLOUD", "CUSTOM"
1358
1875
  # resp.status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "TIMED_OUT"
1359
1876
  # resp.started_at #=> Time
1360
1877
  # resp.controller_id #=> String
1361
1878
  # resp.connector_association_id #=> String
1879
+ # resp.account_association_id #=> String
1362
1880
  # resp.finished_at #=> Time
1363
1881
  # resp.tags #=> Hash
1364
1882
  # resp.tags["TagKey"] #=> String
@@ -1442,6 +1960,7 @@ module Aws::IoTManagedIntegrations
1442
1960
  # * {Types::GetManagedThingResponse#universal_product_code #universal_product_code} => String
1443
1961
  # * {Types::GetManagedThingResponse#international_article_number #international_article_number} => String
1444
1962
  # * {Types::GetManagedThingResponse#connector_policy_id #connector_policy_id} => String
1963
+ # * {Types::GetManagedThingResponse#connector_destination_id #connector_destination_id} => String
1445
1964
  # * {Types::GetManagedThingResponse#connector_device_id #connector_device_id} => String
1446
1965
  # * {Types::GetManagedThingResponse#device_specific_key #device_specific_key} => String
1447
1966
  # * {Types::GetManagedThingResponse#mac_address #mac_address} => String
@@ -1476,6 +1995,7 @@ module Aws::IoTManagedIntegrations
1476
1995
  # resp.universal_product_code #=> String
1477
1996
  # resp.international_article_number #=> String
1478
1997
  # resp.connector_policy_id #=> String
1998
+ # resp.connector_destination_id #=> String
1479
1999
  # resp.connector_device_id #=> String
1480
2000
  # resp.device_specific_key #=> String
1481
2001
  # resp.mac_address #=> String
@@ -1576,6 +2096,14 @@ module Aws::IoTManagedIntegrations
1576
2096
 
1577
2097
  # Get the metadata information for a managed thing.
1578
2098
  #
2099
+ # <note markdown="1"> The `managedThing` `metadata` parameter is used for associating
2100
+ # attributes with a `managedThing` that can be used for grouping
2101
+ # over-the-air (OTA) tasks. Name value pairs in `metadata` can be used
2102
+ # in the `OtaTargetQueryString` parameter for the `CreateOtaTask` API
2103
+ # operation.
2104
+ #
2105
+ # </note>
2106
+ #
1579
2107
  # @option params [required, String] :identifier
1580
2108
  # The managed thing id.
1581
2109
  #
@@ -1651,12 +2179,12 @@ module Aws::IoTManagedIntegrations
1651
2179
  # @example Request syntax with placeholder values
1652
2180
  #
1653
2181
  # resp = client.get_notification_configuration({
1654
- # event_type: "DEVICE_COMMAND", # required, accepts DEVICE_COMMAND, DEVICE_COMMAND_REQUEST, DEVICE_EVENT, DEVICE_LIFE_CYCLE, DEVICE_STATE, DEVICE_OTA, CONNECTOR_ASSOCIATION, CONNECTOR_ERROR_REPORT
2182
+ # event_type: "DEVICE_COMMAND", # required, accepts DEVICE_COMMAND, DEVICE_COMMAND_REQUEST, DEVICE_DISCOVERY_STATUS, DEVICE_EVENT, DEVICE_LIFE_CYCLE, DEVICE_STATE, DEVICE_OTA, CONNECTOR_ASSOCIATION, ACCOUNT_ASSOCIATION, CONNECTOR_ERROR_REPORT
1655
2183
  # })
1656
2184
  #
1657
2185
  # @example Response structure
1658
2186
  #
1659
- # resp.event_type #=> String, one of "DEVICE_COMMAND", "DEVICE_COMMAND_REQUEST", "DEVICE_EVENT", "DEVICE_LIFE_CYCLE", "DEVICE_STATE", "DEVICE_OTA", "CONNECTOR_ASSOCIATION", "CONNECTOR_ERROR_REPORT"
2187
+ # resp.event_type #=> String, one of "DEVICE_COMMAND", "DEVICE_COMMAND_REQUEST", "DEVICE_DISCOVERY_STATUS", "DEVICE_EVENT", "DEVICE_LIFE_CYCLE", "DEVICE_STATE", "DEVICE_OTA", "CONNECTOR_ASSOCIATION", "ACCOUNT_ASSOCIATION", "CONNECTOR_ERROR_REPORT"
1660
2188
  # resp.destination_name #=> String
1661
2189
  # resp.created_at #=> Time
1662
2190
  # resp.updated_at #=> Time
@@ -1693,6 +2221,7 @@ module Aws::IoTManagedIntegrations
1693
2221
  # * {Types::GetOtaTaskResponse#ota_scheduling_config #ota_scheduling_config} => Types::OtaTaskSchedulingConfig
1694
2222
  # * {Types::GetOtaTaskResponse#ota_task_execution_retry_config #ota_task_execution_retry_config} => Types::OtaTaskExecutionRetryConfig
1695
2223
  # * {Types::GetOtaTaskResponse#status #status} => String
2224
+ # * {Types::GetOtaTaskResponse#tags #tags} => Hash&lt;String,String&gt;
1696
2225
  #
1697
2226
  # @example Request syntax with placeholder values
1698
2227
  #
@@ -1735,6 +2264,8 @@ module Aws::IoTManagedIntegrations
1735
2264
  # resp.ota_task_execution_retry_config.retry_config_criteria[0].failure_type #=> String, one of "FAILED", "TIMED_OUT", "ALL"
1736
2265
  # resp.ota_task_execution_retry_config.retry_config_criteria[0].min_number_of_retries #=> Integer
1737
2266
  # resp.status #=> String, one of "IN_PROGRESS", "CANCELED", "COMPLETED", "DELETION_IN_PROGRESS", "SCHEDULED"
2267
+ # resp.tags #=> Hash
2268
+ # resp.tags["TagKey"] #=> String
1738
2269
  #
1739
2270
  # @overload get_ota_task(params = {})
1740
2271
  # @param [Hash] params ({})
@@ -1907,6 +2438,188 @@ module Aws::IoTManagedIntegrations
1907
2438
  req.send_request(options)
1908
2439
  end
1909
2440
 
2441
+ # Lists all account associations, with optional filtering by connector
2442
+ # destination ID.
2443
+ #
2444
+ # @option params [String] :connector_destination_id
2445
+ # The identifier of the connector destination to filter account
2446
+ # associations by.
2447
+ #
2448
+ # @option params [Integer] :max_results
2449
+ # The maximum number of account associations to return in a single
2450
+ # response.
2451
+ #
2452
+ # @option params [String] :next_token
2453
+ # A token used for pagination of results.
2454
+ #
2455
+ # @return [Types::ListAccountAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2456
+ #
2457
+ # * {Types::ListAccountAssociationsResponse#items #items} => Array&lt;Types::AccountAssociationItem&gt;
2458
+ # * {Types::ListAccountAssociationsResponse#next_token #next_token} => String
2459
+ #
2460
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2461
+ #
2462
+ # @example Request syntax with placeholder values
2463
+ #
2464
+ # resp = client.list_account_associations({
2465
+ # connector_destination_id: "ConnectorDestinationId",
2466
+ # max_results: 1,
2467
+ # next_token: "NextToken",
2468
+ # })
2469
+ #
2470
+ # @example Response structure
2471
+ #
2472
+ # resp.items #=> Array
2473
+ # resp.items[0].account_association_id #=> String
2474
+ # resp.items[0].association_state #=> String, one of "ASSOCIATION_IN_PROGRESS", "ASSOCIATION_FAILED", "ASSOCIATION_SUCCEEDED", "ASSOCIATION_DELETING", "REFRESH_TOKEN_EXPIRED"
2475
+ # resp.items[0].error_message #=> String
2476
+ # resp.items[0].connector_destination_id #=> String
2477
+ # resp.items[0].name #=> String
2478
+ # resp.items[0].description #=> String
2479
+ # resp.items[0].arn #=> String
2480
+ # resp.next_token #=> String
2481
+ #
2482
+ # @overload list_account_associations(params = {})
2483
+ # @param [Hash] params ({})
2484
+ def list_account_associations(params = {}, options = {})
2485
+ req = build_request(:list_account_associations, params)
2486
+ req.send_request(options)
2487
+ end
2488
+
2489
+ # Returns a list of connectors based on permissions.
2490
+ #
2491
+ # @option params [String] :type
2492
+ # The type of cloud connectors to filter by when listing available
2493
+ # connectors.
2494
+ #
2495
+ # @option params [String] :lambda_arn
2496
+ # The Amazon Resource Name (ARN) of the Lambda function to filter cloud
2497
+ # connectors by.
2498
+ #
2499
+ # @option params [Integer] :max_results
2500
+ # The maximum number of results to return at one time.
2501
+ #
2502
+ # @option params [String] :next_token
2503
+ # A token that can be used to retrieve the next set of results.
2504
+ #
2505
+ # @return [Types::ListCloudConnectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2506
+ #
2507
+ # * {Types::ListCloudConnectorsResponse#items #items} => Array&lt;Types::ConnectorItem&gt;
2508
+ # * {Types::ListCloudConnectorsResponse#next_token #next_token} => String
2509
+ #
2510
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2511
+ #
2512
+ #
2513
+ # @example Example: ListCloudConnectors happy path to get a list of connector resources
2514
+ #
2515
+ # resp = client.list_cloud_connectors({
2516
+ # max_results: 5,
2517
+ # })
2518
+ #
2519
+ # resp.to_h outputs the following:
2520
+ # {
2521
+ # items: [
2522
+ # {
2523
+ # description: "Description for TP Link Cloud V2",
2524
+ # endpoint_config: {
2525
+ # lambda: {
2526
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
2527
+ # },
2528
+ # },
2529
+ # endpoint_type: "LAMBDA",
2530
+ # name: "Connector for TP Link Cloud V2",
2531
+ # },
2532
+ # {
2533
+ # description: "Description for Ring Cloud",
2534
+ # endpoint_config: {
2535
+ # lambda: {
2536
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
2537
+ # },
2538
+ # },
2539
+ # endpoint_type: "LAMBDA",
2540
+ # name: "Connector for Ring Cloud",
2541
+ # },
2542
+ # ],
2543
+ # }
2544
+ #
2545
+ # @example Example: ListCloudConnectors error path for unauthorized user
2546
+ #
2547
+ # resp = client.list_cloud_connectors({
2548
+ # max_results: 5,
2549
+ # })
2550
+ #
2551
+ # @example Request syntax with placeholder values
2552
+ #
2553
+ # resp = client.list_cloud_connectors({
2554
+ # type: "LISTED", # accepts LISTED, UNLISTED
2555
+ # lambda_arn: "LambdaArn",
2556
+ # max_results: 1,
2557
+ # next_token: "NextToken",
2558
+ # })
2559
+ #
2560
+ # @example Response structure
2561
+ #
2562
+ # resp.items #=> Array
2563
+ # resp.items[0].name #=> String
2564
+ # resp.items[0].endpoint_config.lambda.arn #=> String
2565
+ # resp.items[0].description #=> String
2566
+ # resp.items[0].endpoint_type #=> String, one of "LAMBDA"
2567
+ # resp.items[0].id #=> String
2568
+ # resp.items[0].type #=> String, one of "LISTED", "UNLISTED"
2569
+ # resp.next_token #=> String
2570
+ #
2571
+ # @overload list_cloud_connectors(params = {})
2572
+ # @param [Hash] params ({})
2573
+ def list_cloud_connectors(params = {}, options = {})
2574
+ req = build_request(:list_cloud_connectors, params)
2575
+ req.send_request(options)
2576
+ end
2577
+
2578
+ # Lists all connector destinations, with optional filtering by cloud
2579
+ # connector ID.
2580
+ #
2581
+ # @option params [String] :cloud_connector_id
2582
+ # The identifier of the cloud connector to filter connector destinations
2583
+ # by.
2584
+ #
2585
+ # @option params [String] :next_token
2586
+ # A token used for pagination of results.
2587
+ #
2588
+ # @option params [Integer] :max_results
2589
+ # The maximum number of connector destinations to return in a single
2590
+ # response.
2591
+ #
2592
+ # @return [Types::ListConnectorDestinationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2593
+ #
2594
+ # * {Types::ListConnectorDestinationsResponse#connector_destination_list #connector_destination_list} => Array&lt;Types::ConnectorDestinationSummary&gt;
2595
+ # * {Types::ListConnectorDestinationsResponse#next_token #next_token} => String
2596
+ #
2597
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2598
+ #
2599
+ # @example Request syntax with placeholder values
2600
+ #
2601
+ # resp = client.list_connector_destinations({
2602
+ # cloud_connector_id: "CloudConnectorId",
2603
+ # next_token: "NextToken",
2604
+ # max_results: 1,
2605
+ # })
2606
+ #
2607
+ # @example Response structure
2608
+ #
2609
+ # resp.connector_destination_list #=> Array
2610
+ # resp.connector_destination_list[0].name #=> String
2611
+ # resp.connector_destination_list[0].description #=> String
2612
+ # resp.connector_destination_list[0].cloud_connector_id #=> String
2613
+ # resp.connector_destination_list[0].id #=> String
2614
+ # resp.next_token #=> String
2615
+ #
2616
+ # @overload list_connector_destinations(params = {})
2617
+ # @param [Hash] params ({})
2618
+ def list_connector_destinations(params = {}, options = {})
2619
+ req = build_request(:list_connector_destinations, params)
2620
+ req.send_request(options)
2621
+ end
2622
+
1910
2623
  # List information on an existing credential locker.
1911
2624
  #
1912
2625
  # @option params [String] :next_token
@@ -1969,18 +2682,115 @@ module Aws::IoTManagedIntegrations
1969
2682
  #
1970
2683
  # @example Response structure
1971
2684
  #
1972
- # resp.destination_list #=> Array
1973
- # resp.destination_list[0].description #=> String
1974
- # resp.destination_list[0].delivery_destination_arn #=> String
1975
- # resp.destination_list[0].delivery_destination_type #=> String, one of "KINESIS"
1976
- # resp.destination_list[0].name #=> String
1977
- # resp.destination_list[0].role_arn #=> String
2685
+ # resp.destination_list #=> Array
2686
+ # resp.destination_list[0].description #=> String
2687
+ # resp.destination_list[0].delivery_destination_arn #=> String
2688
+ # resp.destination_list[0].delivery_destination_type #=> String, one of "KINESIS"
2689
+ # resp.destination_list[0].name #=> String
2690
+ # resp.destination_list[0].role_arn #=> String
2691
+ # resp.next_token #=> String
2692
+ #
2693
+ # @overload list_destinations(params = {})
2694
+ # @param [Hash] params ({})
2695
+ def list_destinations(params = {}, options = {})
2696
+ req = build_request(:list_destinations, params)
2697
+ req.send_request(options)
2698
+ end
2699
+
2700
+ # Lists all device discovery tasks, with optional filtering by type and
2701
+ # status.
2702
+ #
2703
+ # @option params [String] :next_token
2704
+ # A token used for pagination of results.
2705
+ #
2706
+ # @option params [Integer] :max_results
2707
+ # The maximum number of device discovery jobs to return in a single
2708
+ # response.
2709
+ #
2710
+ # @option params [String] :type_filter
2711
+ # The discovery type to filter device discovery jobs by.
2712
+ #
2713
+ # @option params [String] :status_filter
2714
+ # The status to filter device discovery jobs by.
2715
+ #
2716
+ # @return [Types::ListDeviceDiscoveriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2717
+ #
2718
+ # * {Types::ListDeviceDiscoveriesResponse#items #items} => Array&lt;Types::DeviceDiscoverySummary&gt;
2719
+ # * {Types::ListDeviceDiscoveriesResponse#next_token #next_token} => String
2720
+ #
2721
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2722
+ #
2723
+ # @example Request syntax with placeholder values
2724
+ #
2725
+ # resp = client.list_device_discoveries({
2726
+ # next_token: "NextToken",
2727
+ # max_results: 1,
2728
+ # type_filter: "ZWAVE", # accepts ZWAVE, ZIGBEE, CLOUD, CUSTOM
2729
+ # status_filter: "RUNNING", # accepts RUNNING, SUCCEEDED, FAILED, TIMED_OUT
2730
+ # })
2731
+ #
2732
+ # @example Response structure
2733
+ #
2734
+ # resp.items #=> Array
2735
+ # resp.items[0].id #=> String
2736
+ # resp.items[0].discovery_type #=> String, one of "ZWAVE", "ZIGBEE", "CLOUD", "CUSTOM"
2737
+ # resp.items[0].status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "TIMED_OUT"
2738
+ # resp.next_token #=> String
2739
+ #
2740
+ # @overload list_device_discoveries(params = {})
2741
+ # @param [Hash] params ({})
2742
+ def list_device_discoveries(params = {}, options = {})
2743
+ req = build_request(:list_device_discoveries, params)
2744
+ req.send_request(options)
2745
+ end
2746
+
2747
+ # Lists all devices discovered during a specific device discovery task.
2748
+ #
2749
+ # @option params [required, String] :identifier
2750
+ # The identifier of the device discovery job to list discovered devices
2751
+ # for.
2752
+ #
2753
+ # @option params [String] :next_token
2754
+ # A token used for pagination of results.
2755
+ #
2756
+ # @option params [Integer] :max_results
2757
+ # The maximum number of discovered devices to return in a single
2758
+ # response.
2759
+ #
2760
+ # @return [Types::ListDiscoveredDevicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2761
+ #
2762
+ # * {Types::ListDiscoveredDevicesResponse#items #items} => Array&lt;Types::DiscoveredDeviceSummary&gt;
2763
+ # * {Types::ListDiscoveredDevicesResponse#next_token #next_token} => String
2764
+ #
2765
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2766
+ #
2767
+ # @example Request syntax with placeholder values
2768
+ #
2769
+ # resp = client.list_discovered_devices({
2770
+ # identifier: "DeviceDiscoveryId", # required
2771
+ # next_token: "NextToken",
2772
+ # max_results: 1,
2773
+ # })
2774
+ #
2775
+ # @example Response structure
2776
+ #
2777
+ # resp.items #=> Array
2778
+ # resp.items[0].connector_device_id #=> String
2779
+ # resp.items[0].connector_device_name #=> String
2780
+ # resp.items[0].device_types #=> Array
2781
+ # resp.items[0].device_types[0] #=> String
2782
+ # resp.items[0].managed_thing_id #=> String
2783
+ # resp.items[0].modification #=> String, one of "DISCOVERED", "UPDATED", "NO_CHANGE"
2784
+ # resp.items[0].discovered_at #=> Time
2785
+ # resp.items[0].brand #=> String
2786
+ # resp.items[0].model #=> String
2787
+ # resp.items[0].authentication_material #=> String
1978
2788
  # resp.next_token #=> String
1979
2789
  #
1980
- # @overload list_destinations(params = {})
2790
+ # @overload list_discovered_devices(params = {})
1981
2791
  # @param [Hash] params ({})
1982
- def list_destinations(params = {}, options = {})
1983
- req = build_request(:list_destinations, params)
2792
+ def list_discovered_devices(params = {}, options = {})
2793
+ req = build_request(:list_discovered_devices, params)
1984
2794
  req.send_request(options)
1985
2795
  end
1986
2796
 
@@ -2022,6 +2832,53 @@ module Aws::IoTManagedIntegrations
2022
2832
  req.send_request(options)
2023
2833
  end
2024
2834
 
2835
+ # Lists all account associations for a specific managed thing.
2836
+ #
2837
+ # @option params [String] :managed_thing_id
2838
+ # The identifier of the managed thing to list account associations for.
2839
+ #
2840
+ # @option params [String] :account_association_id
2841
+ # The identifier of the account association to filter results by. When
2842
+ # specified, only associations with this account association ID will be
2843
+ # returned.
2844
+ #
2845
+ # @option params [Integer] :max_results
2846
+ # The maximum number of account associations to return in a single
2847
+ # response.
2848
+ #
2849
+ # @option params [String] :next_token
2850
+ # A token used for pagination of results.
2851
+ #
2852
+ # @return [Types::ListManagedThingAccountAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2853
+ #
2854
+ # * {Types::ListManagedThingAccountAssociationsResponse#items #items} => Array&lt;Types::ManagedThingAssociation&gt;
2855
+ # * {Types::ListManagedThingAccountAssociationsResponse#next_token #next_token} => String
2856
+ #
2857
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2858
+ #
2859
+ # @example Request syntax with placeholder values
2860
+ #
2861
+ # resp = client.list_managed_thing_account_associations({
2862
+ # managed_thing_id: "ManagedThingId",
2863
+ # account_association_id: "AccountAssociationId",
2864
+ # max_results: 1,
2865
+ # next_token: "NextToken",
2866
+ # })
2867
+ #
2868
+ # @example Response structure
2869
+ #
2870
+ # resp.items #=> Array
2871
+ # resp.items[0].managed_thing_id #=> String
2872
+ # resp.items[0].account_association_id #=> String
2873
+ # resp.next_token #=> String
2874
+ #
2875
+ # @overload list_managed_thing_account_associations(params = {})
2876
+ # @param [Hash] params ({})
2877
+ def list_managed_thing_account_associations(params = {}, options = {})
2878
+ req = build_request(:list_managed_thing_account_associations, params)
2879
+ req.send_request(options)
2880
+ end
2881
+
2025
2882
  # List schemas associated with a managed thing.
2026
2883
  #
2027
2884
  # @option params [required, String] :identifier
@@ -2070,8 +2927,7 @@ module Aws::IoTManagedIntegrations
2070
2927
  req.send_request(options)
2071
2928
  end
2072
2929
 
2073
- # List all of the associations and statuses for a managed thing by its
2074
- # owner.
2930
+ # Listing all managed things with provision for filters.
2075
2931
  #
2076
2932
  # @option params [String] :owner_filter
2077
2933
  # Filter on device owners when listing managed things.
@@ -2089,6 +2945,15 @@ module Aws::IoTManagedIntegrations
2089
2945
  # @option params [String] :connector_policy_id_filter
2090
2946
  # Filter on a connector policy id for a managed thing.
2091
2947
  #
2948
+ # @option params [String] :connector_destination_id_filter
2949
+ # Filter managed things by the connector destination ID they are
2950
+ # associated with.
2951
+ #
2952
+ # @option params [String] :connector_device_id_filter
2953
+ # Filter managed things by the connector device ID they are associated
2954
+ # with. When specified, only managed things with this connector device
2955
+ # ID will be returned.
2956
+ #
2092
2957
  # @option params [String] :serial_number_filter
2093
2958
  # Filter on the serial number of the device.
2094
2959
  #
@@ -2116,6 +2981,8 @@ module Aws::IoTManagedIntegrations
2116
2981
  # role_filter: "CONTROLLER", # accepts CONTROLLER, DEVICE
2117
2982
  # parent_controller_identifier_filter: "ParentControllerId",
2118
2983
  # connector_policy_id_filter: "ConnectorPolicyId",
2984
+ # connector_destination_id_filter: "ConnectorDestinationId",
2985
+ # connector_device_id_filter: "ConnectorDeviceId",
2119
2986
  # serial_number_filter: "SerialNumber",
2120
2987
  # provisioning_status_filter: "UNASSOCIATED", # accepts UNASSOCIATED, PRE_ASSOCIATED, DISCOVERED, ACTIVATED, DELETION_FAILED, DELETE_IN_PROGRESS, ISOLATED, DELETED
2121
2988
  # next_token: "NextToken",
@@ -2132,6 +2999,7 @@ module Aws::IoTManagedIntegrations
2132
2999
  # resp.items[0].classification #=> String
2133
3000
  # resp.items[0].connector_device_id #=> String
2134
3001
  # resp.items[0].connector_policy_id #=> String
3002
+ # resp.items[0].connector_destination_id #=> String
2135
3003
  # resp.items[0].model #=> String
2136
3004
  # resp.items[0].name #=> String
2137
3005
  # resp.items[0].owner #=> String
@@ -2177,7 +3045,7 @@ module Aws::IoTManagedIntegrations
2177
3045
  # @example Response structure
2178
3046
  #
2179
3047
  # resp.notification_configuration_list #=> Array
2180
- # resp.notification_configuration_list[0].event_type #=> String, one of "DEVICE_COMMAND", "DEVICE_COMMAND_REQUEST", "DEVICE_EVENT", "DEVICE_LIFE_CYCLE", "DEVICE_STATE", "DEVICE_OTA", "CONNECTOR_ASSOCIATION", "CONNECTOR_ERROR_REPORT"
3048
+ # resp.notification_configuration_list[0].event_type #=> String, one of "DEVICE_COMMAND", "DEVICE_COMMAND_REQUEST", "DEVICE_DISCOVERY_STATUS", "DEVICE_EVENT", "DEVICE_LIFE_CYCLE", "DEVICE_STATE", "DEVICE_OTA", "CONNECTOR_ASSOCIATION", "ACCOUNT_ASSOCIATION", "CONNECTOR_ERROR_REPORT"
2181
3049
  # resp.notification_configuration_list[0].destination_name #=> String
2182
3050
  # resp.next_token #=> String
2183
3051
  #
@@ -2383,7 +3251,7 @@ module Aws::IoTManagedIntegrations
2383
3251
  # @example Example: ListSchemaVersions happy path for an example schema version.
2384
3252
  #
2385
3253
  # resp = client.list_schema_versions({
2386
- # schema_id: "matter.ColorControl",
3254
+ # schema_id: "example.ColorControl",
2387
3255
  # type: "capability",
2388
3256
  # })
2389
3257
  #
@@ -2393,8 +3261,8 @@ module Aws::IoTManagedIntegrations
2393
3261
  # {
2394
3262
  # description: "The Color Control cluster defined as Harmony Capability.",
2395
3263
  # namespace: "matter",
2396
- # schema_id: "matter.ColorControl",
2397
- # semantic_version: "1.3",
3264
+ # schema_id: "example.ColorControl",
3265
+ # semantic_version: "1.4",
2398
3266
  # type: "capability",
2399
3267
  # },
2400
3268
  # ],
@@ -2413,8 +3281,8 @@ module Aws::IoTManagedIntegrations
2413
3281
  # {
2414
3282
  # description: "The Color Control cluster defined as Harmony Capability.",
2415
3283
  # namespace: "matter",
2416
- # schema_id: "matter.ColorControl",
2417
- # semantic_version: "1.3",
3284
+ # schema_id: "example.ColorControl",
3285
+ # semantic_version: "1.4",
2418
3286
  # type: "capability",
2419
3287
  # },
2420
3288
  # ],
@@ -2424,7 +3292,7 @@ module Aws::IoTManagedIntegrations
2424
3292
  #
2425
3293
  # resp = client.list_schema_versions({
2426
3294
  # namespace: "matter",
2427
- # schema_id: "matter.ColorControl",
3295
+ # schema_id: "example.ColorControl",
2428
3296
  # type: "capability",
2429
3297
  # })
2430
3298
  #
@@ -2458,6 +3326,33 @@ module Aws::IoTManagedIntegrations
2458
3326
  req.send_request(options)
2459
3327
  end
2460
3328
 
3329
+ # List tags for the specified resource.
3330
+ #
3331
+ # @option params [required, String] :resource_arn
3332
+ # The ARN of the resource for which to list tags.
3333
+ #
3334
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3335
+ #
3336
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
3337
+ #
3338
+ # @example Request syntax with placeholder values
3339
+ #
3340
+ # resp = client.list_tags_for_resource({
3341
+ # resource_arn: "IoTManagedIntegrationsResourceARN", # required
3342
+ # })
3343
+ #
3344
+ # @example Response structure
3345
+ #
3346
+ # resp.tags #=> Hash
3347
+ # resp.tags["TagKey"] #=> String
3348
+ #
3349
+ # @overload list_tags_for_resource(params = {})
3350
+ # @param [Hash] params ({})
3351
+ def list_tags_for_resource(params = {}, options = {})
3352
+ req = build_request(:list_tags_for_resource, params)
3353
+ req.send_request(options)
3354
+ end
3355
+
2461
3356
  # Sets the default encryption configuration for the Amazon Web Services
2462
3357
  # account. For more information, see [Key management][1] in the AWS IoT
2463
3358
  # SiteWise User Guide.
@@ -2562,6 +3457,48 @@ module Aws::IoTManagedIntegrations
2562
3457
  req.send_request(options)
2563
3458
  end
2564
3459
 
3460
+ # Registers an account association with a managed thing, establishing a
3461
+ # connection between a device and a third-party account.
3462
+ #
3463
+ # @option params [required, String] :managed_thing_id
3464
+ # The identifier of the managed thing to register with the account
3465
+ # association.
3466
+ #
3467
+ # @option params [required, String] :account_association_id
3468
+ # The identifier of the account association to register with the managed
3469
+ # thing.
3470
+ #
3471
+ # @option params [required, String] :device_discovery_id
3472
+ # The identifier of the device discovery job associated with this
3473
+ # registration.
3474
+ #
3475
+ # @return [Types::RegisterAccountAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3476
+ #
3477
+ # * {Types::RegisterAccountAssociationResponse#account_association_id #account_association_id} => String
3478
+ # * {Types::RegisterAccountAssociationResponse#device_discovery_id #device_discovery_id} => String
3479
+ # * {Types::RegisterAccountAssociationResponse#managed_thing_id #managed_thing_id} => String
3480
+ #
3481
+ # @example Request syntax with placeholder values
3482
+ #
3483
+ # resp = client.register_account_association({
3484
+ # managed_thing_id: "ManagedThingId", # required
3485
+ # account_association_id: "AccountAssociationId", # required
3486
+ # device_discovery_id: "DeviceDiscoveryId", # required
3487
+ # })
3488
+ #
3489
+ # @example Response structure
3490
+ #
3491
+ # resp.account_association_id #=> String
3492
+ # resp.device_discovery_id #=> String
3493
+ # resp.managed_thing_id #=> String
3494
+ #
3495
+ # @overload register_account_association(params = {})
3496
+ # @param [Hash] params ({})
3497
+ def register_account_association(params = {}, options = {})
3498
+ req = build_request(:register_account_association, params)
3499
+ req.send_request(options)
3500
+ end
3501
+
2565
3502
  # Customers can request IoT managed integrations to manage the server
2566
3503
  # trust for them or bring their own external server trusts for the
2567
3504
  # custom domain. Returns an IoT managed integrations endpoint.
@@ -2602,6 +3539,173 @@ module Aws::IoTManagedIntegrations
2602
3539
  req.send_request(options)
2603
3540
  end
2604
3541
 
3542
+ # Relays third-party device events for a connector such as a new device
3543
+ # or a device state change event.
3544
+ #
3545
+ # @option params [required, String] :connector_id
3546
+ # The id of the connector between the third-party cloud provider and IoT
3547
+ # managed integrations.
3548
+ #
3549
+ # @option params [String] :user_id
3550
+ # The id of the third-party cloud provider.
3551
+ #
3552
+ # @option params [required, String] :operation
3553
+ # The Open Connectivity Foundation (OCF) operation requested to be
3554
+ # performed on the managed thing.
3555
+ #
3556
+ # <note markdown="1"> The field op can have a value of "I" or "U". The field "cn" will
3557
+ # contain the capability types.
3558
+ #
3559
+ # </note>
3560
+ #
3561
+ # @option params [String] :operation_version
3562
+ # The Open Connectivity Foundation (OCF) security specification version
3563
+ # for the operation being requested on the managed thing. For more
3564
+ # information, see [OCF Security Specification][1].
3565
+ #
3566
+ #
3567
+ #
3568
+ # [1]: https://openconnectivity.org/specs/OCF_Security_Specification_v1.0.0.pdf
3569
+ #
3570
+ # @option params [Integer] :status_code
3571
+ # The status code of the Open Connectivity Foundation (OCF) operation
3572
+ # being performed on the managed thing.
3573
+ #
3574
+ # @option params [String] :message
3575
+ # The device state change event payload.
3576
+ #
3577
+ # This parameter will include the following three fields:
3578
+ #
3579
+ # * `uri`: `schema auc://<PARTNER-DEVICE-ID>/ResourcePath` (The
3580
+ # `Resourcepath` corresponds to an OCF resource.)
3581
+ #
3582
+ # * `op`: For device state changes, this field must populate as `n+d`.
3583
+ #
3584
+ # * `cn`: The content depends on the OCF resource referenced in
3585
+ # `ResourcePath`.
3586
+ #
3587
+ # @option params [String] :device_discovery_id
3588
+ # The id for the device discovery job.
3589
+ #
3590
+ # @option params [String] :connector_device_id
3591
+ # The third-party device id as defined by the connector. This device id
3592
+ # must not contain personal identifiable information (PII).
3593
+ #
3594
+ # <note markdown="1"> This parameter is used for cloud-to-cloud devices only.
3595
+ #
3596
+ # </note>
3597
+ #
3598
+ # @option params [String] :trace_id
3599
+ # The trace request identifier used to correlate a command request and
3600
+ # response. This is specified by the device owner, but will be generated
3601
+ # by IoT managed integrations if not provided by the device owner.
3602
+ #
3603
+ # @option params [Array<Types::Device>] :devices
3604
+ # The list of devices.
3605
+ #
3606
+ # @option params [Types::MatterEndpoint] :matter_endpoint
3607
+ # The device endpoint.
3608
+ #
3609
+ # @return [Types::SendConnectorEventResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3610
+ #
3611
+ # * {Types::SendConnectorEventResponse#connector_id #connector_id} => String
3612
+ #
3613
+ # @example Request syntax with placeholder values
3614
+ #
3615
+ # resp = client.send_connector_event({
3616
+ # connector_id: "ConnectorId", # required
3617
+ # user_id: "ThirdPartyUserId",
3618
+ # operation: "DEVICE_COMMAND_RESPONSE", # required, accepts DEVICE_COMMAND_RESPONSE, DEVICE_DISCOVERY, DEVICE_EVENT, DEVICE_COMMAND_REQUEST
3619
+ # operation_version: "ConnectorEventOperationVersion",
3620
+ # status_code: 1,
3621
+ # message: "ConnectorEventMessage",
3622
+ # device_discovery_id: "DeviceDiscoveryId",
3623
+ # connector_device_id: "ConnectorDeviceId",
3624
+ # trace_id: "TraceId",
3625
+ # devices: [
3626
+ # {
3627
+ # connector_device_id: "ConnectorDeviceId", # required
3628
+ # connector_device_name: "ConnectorDeviceName",
3629
+ # capability_report: { # required
3630
+ # version: "CapabilityReportVersion", # required
3631
+ # node_id: "NodeId",
3632
+ # endpoints: [ # required
3633
+ # {
3634
+ # id: "EndpointId", # required
3635
+ # device_types: ["DeviceType"], # required
3636
+ # clusters: [ # required
3637
+ # {
3638
+ # id: "ClusterId", # required
3639
+ # revision: 1, # required
3640
+ # public_id: "SchemaVersionedId",
3641
+ # name: "CapabilityName",
3642
+ # spec_version: "SpecVersion",
3643
+ # attributes: [
3644
+ # {
3645
+ # id: "MatterAttributeId",
3646
+ # name: "ActionName",
3647
+ # value: {
3648
+ # },
3649
+ # },
3650
+ # ],
3651
+ # commands: ["MatterCommandId"],
3652
+ # events: ["MatterEventId"],
3653
+ # feature_map: 1,
3654
+ # generated_commands: ["MatterCommandId"],
3655
+ # fabric_index: 1,
3656
+ # },
3657
+ # ],
3658
+ # parts: ["EndpointId"],
3659
+ # semantic_tags: ["EndpointSemanticTag"],
3660
+ # client_clusters: ["ClusterId"],
3661
+ # },
3662
+ # ],
3663
+ # },
3664
+ # capability_schemas: [
3665
+ # {
3666
+ # format: "AWS", # required, accepts AWS, ZCL, CONNECTOR
3667
+ # capability_id: "SchemaVersionedId", # required
3668
+ # extrinsic_id: "ExtrinsicSchemaId", # required
3669
+ # extrinsic_version: 1, # required
3670
+ # schema: { # required
3671
+ # },
3672
+ # },
3673
+ # ],
3674
+ # device_metadata: {
3675
+ # },
3676
+ # },
3677
+ # ],
3678
+ # matter_endpoint: {
3679
+ # id: "EndpointId",
3680
+ # clusters: [
3681
+ # {
3682
+ # id: "ClusterId",
3683
+ # attributes: {
3684
+ # },
3685
+ # commands: {
3686
+ # "MatterCommandId" => {
3687
+ # },
3688
+ # },
3689
+ # events: {
3690
+ # "MatterEventId" => {
3691
+ # },
3692
+ # },
3693
+ # },
3694
+ # ],
3695
+ # },
3696
+ # })
3697
+ #
3698
+ # @example Response structure
3699
+ #
3700
+ # resp.connector_id #=> String
3701
+ #
3702
+ # @overload send_connector_event(params = {})
3703
+ # @param [Hash] params ({})
3704
+ def send_connector_event(params = {}, options = {})
3705
+ req = build_request(:send_connector_event, params)
3706
+ req.send_request(options)
3707
+ end
3708
+
2605
3709
  # Send the command to the device represented by the managed thing.
2606
3710
  #
2607
3711
  # @option params [required, String] :managed_thing_id
@@ -2614,6 +3718,10 @@ module Aws::IoTManagedIntegrations
2614
3718
  # The ID tracking the current discovery process for one connector
2615
3719
  # association.
2616
3720
  #
3721
+ # @option params [String] :account_association_id
3722
+ # The identifier of the account association to use when sending a
3723
+ # command to a managed thing.
3724
+ #
2617
3725
  # @return [Types::SendManagedThingCommandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2618
3726
  #
2619
3727
  # * {Types::SendManagedThingCommandResponse#trace_id #trace_id} => String
@@ -2644,6 +3752,7 @@ module Aws::IoTManagedIntegrations
2644
3752
  # },
2645
3753
  # ],
2646
3754
  # connector_association_id: "ConnectorAssociationId",
3755
+ # account_association_id: "AccountAssociationId",
2647
3756
  # })
2648
3757
  #
2649
3758
  # @example Response structure
@@ -2657,13 +3766,50 @@ module Aws::IoTManagedIntegrations
2657
3766
  req.send_request(options)
2658
3767
  end
2659
3768
 
2660
- # During user-guided setup, this is used to start device discovery. The
2661
- # authentication material (install code) is passed as a message to the
2662
- # controller telling it to start the discovery.
3769
+ # Initiates a refresh of an existing account association to update its
3770
+ # authorization and connection status.
3771
+ #
3772
+ # @option params [required, String] :account_association_id
3773
+ # The unique identifier of the account association to refresh.
3774
+ #
3775
+ # @return [Types::StartAccountAssociationRefreshResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3776
+ #
3777
+ # * {Types::StartAccountAssociationRefreshResponse#o_auth_authorization_url #o_auth_authorization_url} => String
3778
+ #
3779
+ # @example Request syntax with placeholder values
3780
+ #
3781
+ # resp = client.start_account_association_refresh({
3782
+ # account_association_id: "AccountAssociationId", # required
3783
+ # })
3784
+ #
3785
+ # @example Response structure
3786
+ #
3787
+ # resp.o_auth_authorization_url #=> String
3788
+ #
3789
+ # @overload start_account_association_refresh(params = {})
3790
+ # @param [Hash] params ({})
3791
+ def start_account_association_refresh(params = {}, options = {})
3792
+ req = build_request(:start_account_association_refresh, params)
3793
+ req.send_request(options)
3794
+ end
3795
+
3796
+ # This API is used to start device discovery for hub-connected and
3797
+ # third-party-connected devices. The authentication material (install
3798
+ # code) is passed as a message to the controller telling it to start the
3799
+ # discovery.
2663
3800
  #
2664
3801
  # @option params [required, String] :discovery_type
2665
3802
  # The discovery type supporting the type of device to be discovered in
2666
- # the device discovery job request.
3803
+ # the device discovery task request.
3804
+ #
3805
+ # @option params [Hash<String,String>] :custom_protocol_detail
3806
+ # Additional protocol-specific details required for device discovery,
3807
+ # which vary based on the discovery type.
3808
+ #
3809
+ # <note markdown="1"> For a `DiscoveryType` of `CUSTOM`, the string-to-string map must have
3810
+ # a key value of `Name` set to a non-empty-string.
3811
+ #
3812
+ # </note>
2667
3813
  #
2668
3814
  # @option params [String] :controller_identifier
2669
3815
  # The id of the end-user's IoT hub.
@@ -2671,6 +3817,10 @@ module Aws::IoTManagedIntegrations
2671
3817
  # @option params [String] :connector_association_identifier
2672
3818
  # The id of the connector association.
2673
3819
  #
3820
+ # @option params [String] :account_association_id
3821
+ # The identifier of the cloud-to-cloud account association to use for
3822
+ # discovery of third-party devices.
3823
+ #
2674
3824
  # @option params [String] :authentication_material
2675
3825
  # The authentication material required to start the local device
2676
3826
  # discovery job request.
@@ -2696,9 +3846,13 @@ module Aws::IoTManagedIntegrations
2696
3846
  # @example Request syntax with placeholder values
2697
3847
  #
2698
3848
  # resp = client.start_device_discovery({
2699
- # discovery_type: "ZWAVE", # required, accepts ZWAVE, ZIGBEE, CLOUD
3849
+ # discovery_type: "ZWAVE", # required, accepts ZWAVE, ZIGBEE, CLOUD, CUSTOM
3850
+ # custom_protocol_detail: {
3851
+ # "CustomProtocolDetailKey" => "CustomProtocolDetailValue",
3852
+ # },
2700
3853
  # controller_identifier: "ManagedThingId",
2701
3854
  # connector_association_identifier: "ConnectorAssociationId",
3855
+ # account_association_id: "AccountAssociationId",
2702
3856
  # authentication_material: "DiscoveryAuthMaterialString",
2703
3857
  # authentication_material_type: "ZWAVE_INSTALL_CODE", # accepts ZWAVE_INSTALL_CODE
2704
3858
  # client_token: "ClientToken",
@@ -2719,6 +3873,180 @@ module Aws::IoTManagedIntegrations
2719
3873
  req.send_request(options)
2720
3874
  end
2721
3875
 
3876
+ # Add tags for the specified resource.
3877
+ #
3878
+ # @option params [required, String] :resource_arn
3879
+ # The ARN of the resource to which to add tags.
3880
+ #
3881
+ # @option params [required, Hash<String,String>] :tags
3882
+ # A set of key/value pairs that are used to manage the resource
3883
+ #
3884
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3885
+ #
3886
+ # @example Request syntax with placeholder values
3887
+ #
3888
+ # resp = client.tag_resource({
3889
+ # resource_arn: "IoTManagedIntegrationsResourceARN", # required
3890
+ # tags: { # required
3891
+ # "TagKey" => "TagValue",
3892
+ # },
3893
+ # })
3894
+ #
3895
+ # @overload tag_resource(params = {})
3896
+ # @param [Hash] params ({})
3897
+ def tag_resource(params = {}, options = {})
3898
+ req = build_request(:tag_resource, params)
3899
+ req.send_request(options)
3900
+ end
3901
+
3902
+ # Remove tags for the specified resource.
3903
+ #
3904
+ # @option params [required, String] :resource_arn
3905
+ # The ARN of the resource to which to add tags.
3906
+ #
3907
+ # @option params [required, Array<String>] :tag_keys
3908
+ # A list of tag keys to remove from the resource.
3909
+ #
3910
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3911
+ #
3912
+ # @example Request syntax with placeholder values
3913
+ #
3914
+ # resp = client.untag_resource({
3915
+ # resource_arn: "IoTManagedIntegrationsResourceARN", # required
3916
+ # tag_keys: ["TagKey"], # required
3917
+ # })
3918
+ #
3919
+ # @overload untag_resource(params = {})
3920
+ # @param [Hash] params ({})
3921
+ def untag_resource(params = {}, options = {})
3922
+ req = build_request(:untag_resource, params)
3923
+ req.send_request(options)
3924
+ end
3925
+
3926
+ # Updates the properties of an existing account association.
3927
+ #
3928
+ # @option params [required, String] :account_association_id
3929
+ # The unique identifier of the account association to update.
3930
+ #
3931
+ # @option params [String] :name
3932
+ # The new name to assign to the account association.
3933
+ #
3934
+ # @option params [String] :description
3935
+ # The new description to assign to the account association.
3936
+ #
3937
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3938
+ #
3939
+ # @example Request syntax with placeholder values
3940
+ #
3941
+ # resp = client.update_account_association({
3942
+ # account_association_id: "AccountAssociationId", # required
3943
+ # name: "AccountAssociationName",
3944
+ # description: "AccountAssociationDescription",
3945
+ # })
3946
+ #
3947
+ # @overload update_account_association(params = {})
3948
+ # @param [Hash] params ({})
3949
+ def update_account_association(params = {}, options = {})
3950
+ req = build_request(:update_account_association, params)
3951
+ req.send_request(options)
3952
+ end
3953
+
3954
+ # Update an existing cloud connector.
3955
+ #
3956
+ # @option params [required, String] :identifier
3957
+ # The unique identifier of the cloud connector to update.
3958
+ #
3959
+ # @option params [String] :name
3960
+ # The new display name to assign to the cloud connector.
3961
+ #
3962
+ # @option params [String] :description
3963
+ # The new description to assign to the cloud connector.
3964
+ #
3965
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3966
+ #
3967
+ #
3968
+ # @example Example: UpdateCloudConnector happy path for TP Link to update display name
3969
+ #
3970
+ # resp = client.update_cloud_connector({
3971
+ # identifier: "123456789012",
3972
+ # name: "Connector for TP Link Cloud V2",
3973
+ # })
3974
+ #
3975
+ # @example Example: UpdateCloudConnector error Id for Ring connector which does not exist
3976
+ #
3977
+ # resp = client.update_cloud_connector({
3978
+ # identifier: "123456789012",
3979
+ # name: "Connector for Ring Cloud",
3980
+ # })
3981
+ #
3982
+ # @example Request syntax with placeholder values
3983
+ #
3984
+ # resp = client.update_cloud_connector({
3985
+ # identifier: "CloudConnectorId", # required
3986
+ # name: "DisplayName",
3987
+ # description: "CloudConnectorDescription",
3988
+ # })
3989
+ #
3990
+ # @overload update_cloud_connector(params = {})
3991
+ # @param [Hash] params ({})
3992
+ def update_cloud_connector(params = {}, options = {})
3993
+ req = build_request(:update_cloud_connector, params)
3994
+ req.send_request(options)
3995
+ end
3996
+
3997
+ # Updates the properties of an existing connector destination.
3998
+ #
3999
+ # @option params [required, String] :identifier
4000
+ # The unique identifier of the connector destination to update.
4001
+ #
4002
+ # @option params [String] :description
4003
+ # The new description to assign to the connector destination.
4004
+ #
4005
+ # @option params [String] :name
4006
+ # The new display name to assign to the connector destination.
4007
+ #
4008
+ # @option params [String] :auth_type
4009
+ # The new authentication type to use for the connector destination.
4010
+ #
4011
+ # @option params [Types::AuthConfigUpdate] :auth_config
4012
+ # The updated authentication configuration details for the connector
4013
+ # destination.
4014
+ #
4015
+ # @option params [Types::SecretsManager] :secrets_manager
4016
+ # The updated AWS Secrets Manager configuration for the connector
4017
+ # destination.
4018
+ #
4019
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4020
+ #
4021
+ # @example Request syntax with placeholder values
4022
+ #
4023
+ # resp = client.update_connector_destination({
4024
+ # identifier: "ConnectorDestinationId", # required
4025
+ # description: "ConnectorDestinationDescription",
4026
+ # name: "ConnectorDestinationName",
4027
+ # auth_type: "OAUTH", # accepts OAUTH
4028
+ # auth_config: {
4029
+ # o_auth_update: {
4030
+ # o_auth_complete_redirect_url: "String",
4031
+ # proactive_refresh_token_renewal: {
4032
+ # enabled: false,
4033
+ # days_before_renewal: 1,
4034
+ # },
4035
+ # },
4036
+ # },
4037
+ # secrets_manager: {
4038
+ # arn: "SecretsManagerArn", # required
4039
+ # version_id: "SecretsManagerVersionId", # required
4040
+ # },
4041
+ # })
4042
+ #
4043
+ # @overload update_connector_destination(params = {})
4044
+ # @param [Hash] params ({})
4045
+ def update_connector_destination(params = {}, options = {})
4046
+ req = build_request(:update_connector_destination, params)
4047
+ req.send_request(options)
4048
+ end
4049
+
2722
4050
  # Update a destination specified by id.
2723
4051
  #
2724
4052
  # @option params [required, String] :name
@@ -2807,6 +4135,10 @@ module Aws::IoTManagedIntegrations
2807
4135
  # @option params [Types::CapabilityReport] :capability_report
2808
4136
  # A report of the capabilities for the managed thing.
2809
4137
  #
4138
+ # @option params [Array<Types::CapabilitySchemaItem>] :capability_schemas
4139
+ # The updated capability schemas that define the functionality and
4140
+ # features supported by the managed thing.
4141
+ #
2810
4142
  # @option params [String] :capabilities
2811
4143
  # The capabilities of the device such as light bulb.
2812
4144
  #
@@ -2852,6 +4184,16 @@ module Aws::IoTManagedIntegrations
2852
4184
  # },
2853
4185
  # ],
2854
4186
  # },
4187
+ # capability_schemas: [
4188
+ # {
4189
+ # format: "AWS", # required, accepts AWS, ZCL, CONNECTOR
4190
+ # capability_id: "SchemaVersionedId", # required
4191
+ # extrinsic_id: "ExtrinsicSchemaId", # required
4192
+ # extrinsic_version: 1, # required
4193
+ # schema: { # required
4194
+ # },
4195
+ # },
4196
+ # ],
2855
4197
  # capabilities: "Capabilities",
2856
4198
  # classification: "Classification",
2857
4199
  # hub_network_mode: "STANDARD", # accepts STANDARD, NETWORK_WIDE_EXCLUSION
@@ -2881,7 +4223,7 @@ module Aws::IoTManagedIntegrations
2881
4223
  # @example Request syntax with placeholder values
2882
4224
  #
2883
4225
  # resp = client.update_notification_configuration({
2884
- # event_type: "DEVICE_COMMAND", # required, accepts DEVICE_COMMAND, DEVICE_COMMAND_REQUEST, DEVICE_EVENT, DEVICE_LIFE_CYCLE, DEVICE_STATE, DEVICE_OTA, CONNECTOR_ASSOCIATION, CONNECTOR_ERROR_REPORT
4226
+ # event_type: "DEVICE_COMMAND", # required, accepts DEVICE_COMMAND, DEVICE_COMMAND_REQUEST, DEVICE_DISCOVERY_STATUS, DEVICE_EVENT, DEVICE_LIFE_CYCLE, DEVICE_STATE, DEVICE_OTA, CONNECTOR_ASSOCIATION, ACCOUNT_ASSOCIATION, CONNECTOR_ERROR_REPORT
2885
4227
  # destination_name: "DestinationName", # required
2886
4228
  # })
2887
4229
  #
@@ -2938,7 +4280,7 @@ module Aws::IoTManagedIntegrations
2938
4280
  tracer: tracer
2939
4281
  )
2940
4282
  context[:gem_name] = 'aws-sdk-iotmanagedintegrations'
2941
- context[:gem_version] = '1.2.0'
4283
+ context[:gem_version] = '1.4.0'
2942
4284
  Seahorse::Client::Request.new(handlers, context)
2943
4285
  end
2944
4286