aws-sdk-iotmanagedintegrations 1.3.0 → 1.5.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.
@@ -95,7 +95,7 @@ module Aws::IoTManagedIntegrations
95
95
  # class name or an instance of a plugin class.
96
96
  #
97
97
  # @option options [required, Aws::CredentialProvider] :credentials
98
- # Your AWS credentials. This can be an instance of any one of the
98
+ # Your AWS credentials used for authentication. This can be an instance of any one of the
99
99
  # following classes:
100
100
  #
101
101
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
@@ -128,18 +128,23 @@ module Aws::IoTManagedIntegrations
128
128
  # locations will be searched for credentials:
129
129
  #
130
130
  # * `Aws.config[:credentials]`
131
+ #
131
132
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
133
  # `:account_id` options.
133
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
- # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
134
+ #
135
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
136
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
137
+ #
135
138
  # * `~/.aws/credentials`
139
+ #
136
140
  # * `~/.aws/config`
141
+ #
137
142
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
143
  # are very aggressive. Construct and pass an instance of
139
144
  # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
145
  # enable retries and extended timeouts. Instance profile credential
141
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
- # to true.
146
+ # fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
147
+ # to `true`.
143
148
  #
144
149
  # @option options [required, String] :region
145
150
  # The AWS region to connect to. The configured `:region` is
@@ -167,6 +172,11 @@ module Aws::IoTManagedIntegrations
167
172
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
168
173
  # not retry instead of sleeping.
169
174
  #
175
+ # @option options [Array<String>] :auth_scheme_preference
176
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
177
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
178
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
179
+ #
170
180
  # @option options [Boolean] :client_side_monitoring (false)
171
181
  # When `true`, client-side metrics will be collected for all API requests from
172
182
  # this client.
@@ -253,8 +263,8 @@ module Aws::IoTManagedIntegrations
253
263
  # 4 times. Used in `standard` and `adaptive` retry modes.
254
264
  #
255
265
  # @option options [String] :profile ("default")
256
- # Used when loading credentials from the shared credentials file
257
- # at HOME/.aws/credentials. When not specified, 'default' is used.
266
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
267
+ # When not specified, 'default' is used.
258
268
  #
259
269
  # @option options [String] :request_checksum_calculation ("when_supported")
260
270
  # Determines when a checksum will be calculated for request payloads. Values are:
@@ -367,7 +377,7 @@ module Aws::IoTManagedIntegrations
367
377
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
368
378
  #
369
379
  # @option options [Aws::TokenProvider] :token_provider
370
- # A Bearer Token Provider. This can be an instance of any one of the
380
+ # Your Bearer token used for authentication. This can be an instance of any one of the
371
381
  # following classes:
372
382
  #
373
383
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
@@ -469,6 +479,243 @@ module Aws::IoTManagedIntegrations
469
479
 
470
480
  # @!group API Operations
471
481
 
482
+ # Creates a new account association via the destination id.
483
+ #
484
+ # @option params [String] :client_token
485
+ # An idempotency token. If you retry a request that completed
486
+ # successfully initially using the same client token and parameters,
487
+ # then the retry attempt will succeed without performing any further
488
+ # actions.
489
+ #
490
+ # **A suitable default value is auto-generated.** You should normally
491
+ # not need to pass this option.**
492
+ #
493
+ # @option params [required, String] :connector_destination_id
494
+ # The identifier of the connector destination.
495
+ #
496
+ # @option params [String] :name
497
+ # The name of the destination for the new account association.
498
+ #
499
+ # @option params [String] :description
500
+ # A description of the account association request.
501
+ #
502
+ # @option params [Hash<String,String>] :tags
503
+ # A set of key/value pairs that are used to manage the account
504
+ # association.
505
+ #
506
+ # @return [Types::CreateAccountAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
507
+ #
508
+ # * {Types::CreateAccountAssociationResponse#o_auth_authorization_url #o_auth_authorization_url} => String
509
+ # * {Types::CreateAccountAssociationResponse#account_association_id #account_association_id} => String
510
+ # * {Types::CreateAccountAssociationResponse#association_state #association_state} => String
511
+ # * {Types::CreateAccountAssociationResponse#arn #arn} => String
512
+ #
513
+ # @example Request syntax with placeholder values
514
+ #
515
+ # resp = client.create_account_association({
516
+ # client_token: "ClientToken",
517
+ # connector_destination_id: "ConnectorDestinationId", # required
518
+ # name: "AccountAssociationName",
519
+ # description: "AccountAssociationDescription",
520
+ # tags: {
521
+ # "TagKey" => "TagValue",
522
+ # },
523
+ # })
524
+ #
525
+ # @example Response structure
526
+ #
527
+ # resp.o_auth_authorization_url #=> String
528
+ # resp.account_association_id #=> String
529
+ # resp.association_state #=> String, one of "ASSOCIATION_IN_PROGRESS", "ASSOCIATION_FAILED", "ASSOCIATION_SUCCEEDED", "ASSOCIATION_DELETING", "REFRESH_TOKEN_EXPIRED"
530
+ # resp.arn #=> String
531
+ #
532
+ # @overload create_account_association(params = {})
533
+ # @param [Hash] params ({})
534
+ def create_account_association(params = {}, options = {})
535
+ req = build_request(:create_account_association, params)
536
+ req.send_request(options)
537
+ end
538
+
539
+ # Creates a C2C (cloud-to-cloud) connector.
540
+ #
541
+ # @option params [required, String] :name
542
+ # The display name of the C2C connector.
543
+ #
544
+ # @option params [required, Types::EndpointConfig] :endpoint_config
545
+ # The configuration details for the cloud connector endpoint, including
546
+ # connection parameters and authentication requirements.
547
+ #
548
+ # @option params [String] :description
549
+ # A description of the C2C connector.
550
+ #
551
+ # @option params [String] :endpoint_type
552
+ # The type of endpoint used for the cloud connector, which defines how
553
+ # the connector communicates with external services.
554
+ #
555
+ # @option params [String] :client_token
556
+ # An idempotency token. If you retry a request that completed
557
+ # successfully initially using the same client token and parameters,
558
+ # then the retry attempt will succeed without performing any further
559
+ # actions.
560
+ #
561
+ # **A suitable default value is auto-generated.** You should normally
562
+ # not need to pass this option.**
563
+ #
564
+ # @return [Types::CreateCloudConnectorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
565
+ #
566
+ # * {Types::CreateCloudConnectorResponse#id #id} => String
567
+ #
568
+ #
569
+ # @example Example: CreateCloudConnector happy path for TP Link
570
+ #
571
+ # resp = client.create_cloud_connector({
572
+ # client_token: "1234567890",
573
+ # endpoint_config: {
574
+ # lambda: {
575
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
576
+ # },
577
+ # },
578
+ # endpoint_type: "LAMBDA",
579
+ # name: "Connector for TP Link Cloud",
580
+ # })
581
+ #
582
+ # resp.to_h outputs the following:
583
+ # {
584
+ # id: "TPLinkConnector1211",
585
+ # }
586
+ #
587
+ # @example Example: CreateCloudConnector happy path for Ring
588
+ #
589
+ # resp = client.create_cloud_connector({
590
+ # client_token: "12312321",
591
+ # endpoint_config: {
592
+ # lambda: {
593
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
594
+ # },
595
+ # },
596
+ # endpoint_type: "LAMBDA",
597
+ # name: "Connector for Ring Cloud",
598
+ # })
599
+ #
600
+ # resp.to_h outputs the following:
601
+ # {
602
+ # id: "RingConnector1212",
603
+ # }
604
+ #
605
+ # @example Example: CreateCloudConnector error path for Ring connector which already exists
606
+ #
607
+ # resp = client.create_cloud_connector({
608
+ # client_token: "1213123123",
609
+ # endpoint_config: {
610
+ # lambda: {
611
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion2",
612
+ # },
613
+ # },
614
+ # endpoint_type: "LAMBDA",
615
+ # name: "Connector for Ring Cloud",
616
+ # })
617
+ #
618
+ # @example Request syntax with placeholder values
619
+ #
620
+ # resp = client.create_cloud_connector({
621
+ # name: "DisplayName", # required
622
+ # endpoint_config: { # required
623
+ # lambda: {
624
+ # arn: "LambdaArn", # required
625
+ # },
626
+ # },
627
+ # description: "CloudConnectorDescription",
628
+ # endpoint_type: "LAMBDA", # accepts LAMBDA
629
+ # client_token: "ClientToken",
630
+ # })
631
+ #
632
+ # @example Response structure
633
+ #
634
+ # resp.id #=> String
635
+ #
636
+ # @overload create_cloud_connector(params = {})
637
+ # @param [Hash] params ({})
638
+ def create_cloud_connector(params = {}, options = {})
639
+ req = build_request(:create_cloud_connector, params)
640
+ req.send_request(options)
641
+ end
642
+
643
+ # Create a connector destination for connecting a cloud-to-cloud (C2C)
644
+ # connector to the customer's Amazon Web Services account.
645
+ #
646
+ # @option params [String] :name
647
+ # The display name of the connector destination.
648
+ #
649
+ # @option params [String] :description
650
+ # A description of the connector destination.
651
+ #
652
+ # @option params [required, String] :cloud_connector_id
653
+ # The identifier of the C2C connector.
654
+ #
655
+ # @option params [required, String] :auth_type
656
+ # The authentication type used for the connector destination, which
657
+ # determines how credentials and access are managed.
658
+ #
659
+ # @option params [required, Types::AuthConfig] :auth_config
660
+ # The authentication configuration details for the connector
661
+ # destination, including OAuth settings and other authentication
662
+ # parameters.
663
+ #
664
+ # @option params [required, Types::SecretsManager] :secrets_manager
665
+ # The AWS Secrets Manager configuration used to securely store and
666
+ # manage sensitive information for the connector destination.
667
+ #
668
+ # @option params [String] :client_token
669
+ # An idempotency token. If you retry a request that completed
670
+ # successfully initially using the same client token and parameters,
671
+ # then the retry attempt will succeed without performing any further
672
+ # actions.
673
+ #
674
+ # **A suitable default value is auto-generated.** You should normally
675
+ # not need to pass this option.**
676
+ #
677
+ # @return [Types::CreateConnectorDestinationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
678
+ #
679
+ # * {Types::CreateConnectorDestinationResponse#id #id} => String
680
+ #
681
+ # @example Request syntax with placeholder values
682
+ #
683
+ # resp = client.create_connector_destination({
684
+ # name: "ConnectorDestinationName",
685
+ # description: "ConnectorDestinationDescription",
686
+ # cloud_connector_id: "CloudConnectorId", # required
687
+ # auth_type: "OAUTH", # required, accepts OAUTH
688
+ # auth_config: { # required
689
+ # o_auth: {
690
+ # auth_url: "AuthUrl", # required
691
+ # token_url: "TokenUrl", # required
692
+ # scope: "String",
693
+ # token_endpoint_authentication_scheme: "HTTP_BASIC", # required, accepts HTTP_BASIC, REQUEST_BODY_CREDENTIALS
694
+ # o_auth_complete_redirect_url: "String",
695
+ # proactive_refresh_token_renewal: {
696
+ # enabled: false,
697
+ # days_before_renewal: 1,
698
+ # },
699
+ # },
700
+ # },
701
+ # secrets_manager: { # required
702
+ # arn: "SecretsManagerArn", # required
703
+ # version_id: "SecretsManagerVersionId", # required
704
+ # },
705
+ # client_token: "ClientToken",
706
+ # })
707
+ #
708
+ # @example Response structure
709
+ #
710
+ # resp.id #=> String
711
+ #
712
+ # @overload create_connector_destination(params = {})
713
+ # @param [Hash] params ({})
714
+ def create_connector_destination(params = {}, options = {})
715
+ req = build_request(:create_connector_destination, params)
716
+ req.send_request(options)
717
+ end
718
+
472
719
  # Create a product credential locker. This operation will trigger the
473
720
  # creation of all the manufacturing resources including the Wi-Fi setup
474
721
  # key pair and device certificate.
@@ -660,6 +907,11 @@ module Aws::IoTManagedIntegrations
660
907
  # @option params [Types::CapabilityReport] :capability_report
661
908
  # A report of the capabilities for the managed thing.
662
909
  #
910
+ # @option params [Array<Types::CapabilitySchemaItem>] :capability_schemas
911
+ # The capability schemas that define the functionality and features
912
+ # supported by the managed thing, including device capabilities and
913
+ # their associated properties.
914
+ #
663
915
  # @option params [String] :capabilities
664
916
  # The capabilities of the device such as light bulb.
665
917
  #
@@ -682,6 +934,14 @@ module Aws::IoTManagedIntegrations
682
934
  # @option params [Hash<String,String>] :meta_data
683
935
  # The metadata for the managed thing.
684
936
  #
937
+ # <note markdown="1"> The `managedThing` `metadata` parameter is used for associating
938
+ # attributes with a `managedThing` that can be used for grouping
939
+ # over-the-air (OTA) tasks. Name value pairs in `metadata` can be used
940
+ # in the `OtaTargetQueryString` parameter for the `CreateOtaTask` API
941
+ # operation.
942
+ #
943
+ # </note>
944
+ #
685
945
  # @return [Types::CreateManagedThingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
686
946
  #
687
947
  # * {Types::CreateManagedThingResponse#id #id} => String
@@ -695,7 +955,7 @@ module Aws::IoTManagedIntegrations
695
955
  # owner: "Owner",
696
956
  # credential_locker_id: "CredentialLockerId",
697
957
  # 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
958
+ # 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
959
  # serial_number: "SerialNumber",
700
960
  # brand: "Brand",
701
961
  # model: "Model",
@@ -720,6 +980,16 @@ module Aws::IoTManagedIntegrations
720
980
  # },
721
981
  # ],
722
982
  # },
983
+ # capability_schemas: [
984
+ # {
985
+ # format: "AWS", # required, accepts AWS, ZCL, CONNECTOR
986
+ # capability_id: "SchemaVersionedId", # required
987
+ # extrinsic_id: "ExtrinsicSchemaId", # required
988
+ # extrinsic_version: 1, # required
989
+ # schema: { # required
990
+ # },
991
+ # },
992
+ # ],
723
993
  # capabilities: "Capabilities",
724
994
  # client_token: "ClientToken",
725
995
  # classification: "Classification",
@@ -774,7 +1044,7 @@ module Aws::IoTManagedIntegrations
774
1044
  # @example Request syntax with placeholder values
775
1045
  #
776
1046
  # 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
1047
+ # 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
1048
  # destination_name: "DestinationName", # required
779
1049
  # client_token: "ClientToken",
780
1050
  # tags: {
@@ -784,7 +1054,7 @@ module Aws::IoTManagedIntegrations
784
1054
  #
785
1055
  # @example Response structure
786
1056
  #
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"
1057
+ # 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
1058
  #
789
1059
  # @overload create_notification_configuration(params = {})
790
1060
  # @param [Hash] params ({})
@@ -1030,6 +1300,67 @@ module Aws::IoTManagedIntegrations
1030
1300
  req.send_request(options)
1031
1301
  end
1032
1302
 
1303
+ # Remove a third party account and related devices from an end user.
1304
+ #
1305
+ # @option params [required, String] :account_association_id
1306
+ # The unique identifier of the account association to be deleted.
1307
+ #
1308
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1309
+ #
1310
+ # @example Request syntax with placeholder values
1311
+ #
1312
+ # resp = client.delete_account_association({
1313
+ # account_association_id: "AccountAssociationId", # required
1314
+ # })
1315
+ #
1316
+ # @overload delete_account_association(params = {})
1317
+ # @param [Hash] params ({})
1318
+ def delete_account_association(params = {}, options = {})
1319
+ req = build_request(:delete_account_association, params)
1320
+ req.send_request(options)
1321
+ end
1322
+
1323
+ # Delete a cloud connector.
1324
+ #
1325
+ # @option params [required, String] :identifier
1326
+ # The identifier of the cloud connector.
1327
+ #
1328
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1329
+ #
1330
+ # @example Request syntax with placeholder values
1331
+ #
1332
+ # resp = client.delete_cloud_connector({
1333
+ # identifier: "CloudConnectorId", # required
1334
+ # })
1335
+ #
1336
+ # @overload delete_cloud_connector(params = {})
1337
+ # @param [Hash] params ({})
1338
+ def delete_cloud_connector(params = {}, options = {})
1339
+ req = build_request(:delete_cloud_connector, params)
1340
+ req.send_request(options)
1341
+ end
1342
+
1343
+ # Delete a connector destination for connecting a cloud-to-cloud (C2C)
1344
+ # connector to the customer's Amazon Web Services account.
1345
+ #
1346
+ # @option params [required, String] :identifier
1347
+ # The identifier of the connector destination.
1348
+ #
1349
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1350
+ #
1351
+ # @example Request syntax with placeholder values
1352
+ #
1353
+ # resp = client.delete_connector_destination({
1354
+ # identifier: "ConnectorDestinationId", # required
1355
+ # })
1356
+ #
1357
+ # @overload delete_connector_destination(params = {})
1358
+ # @param [Hash] params ({})
1359
+ def delete_connector_destination(params = {}, options = {})
1360
+ req = build_request(:delete_connector_destination, params)
1361
+ req.send_request(options)
1362
+ end
1363
+
1033
1364
  # Delete a credential locker.
1034
1365
  #
1035
1366
  # <note markdown="1"> This operation can't be undone and any existing device won't be able
@@ -1134,7 +1465,7 @@ module Aws::IoTManagedIntegrations
1134
1465
  # @example Request syntax with placeholder values
1135
1466
  #
1136
1467
  # 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
1468
+ # 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
1469
  # })
1139
1470
  #
1140
1471
  # @overload delete_notification_configuration(params = {})
@@ -1204,68 +1535,263 @@ module Aws::IoTManagedIntegrations
1204
1535
  req.send_request(options)
1205
1536
  end
1206
1537
 
1207
- # Get information on an existing credential locker
1538
+ # Deregisters an account association, removing the connection between a
1539
+ # managed thing and a third-party account.
1208
1540
  #
1209
- # @option params [required, String] :identifier
1210
- # The identifier of the credential locker.
1541
+ # @option params [required, String] :managed_thing_id
1542
+ # The identifier of the managed thing to be deregistered from the
1543
+ # account association.
1211
1544
  #
1212
- # @return [Types::GetCredentialLockerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1545
+ # @option params [required, String] :account_association_id
1546
+ # The unique identifier of the account association to be deregistered.
1213
1547
  #
1214
- # * {Types::GetCredentialLockerResponse#id #id} => String
1215
- # * {Types::GetCredentialLockerResponse#arn #arn} => String
1216
- # * {Types::GetCredentialLockerResponse#name #name} => String
1217
- # * {Types::GetCredentialLockerResponse#created_at #created_at} => Time
1218
- # * {Types::GetCredentialLockerResponse#tags #tags} => Hash&lt;String,String&gt;
1548
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1219
1549
  #
1220
1550
  # @example Request syntax with placeholder values
1221
1551
  #
1222
- # resp = client.get_credential_locker({
1223
- # identifier: "CredentialLockerId", # required
1552
+ # resp = client.deregister_account_association({
1553
+ # managed_thing_id: "ManagedThingId", # required
1554
+ # account_association_id: "AccountAssociationId", # required
1555
+ # })
1556
+ #
1557
+ # @overload deregister_account_association(params = {})
1558
+ # @param [Hash] params ({})
1559
+ def deregister_account_association(params = {}, options = {})
1560
+ req = build_request(:deregister_account_association, params)
1561
+ req.send_request(options)
1562
+ end
1563
+
1564
+ # Get an account association for an Amazon Web Services account linked
1565
+ # to a customer-managed destination.
1566
+ #
1567
+ # @option params [required, String] :account_association_id
1568
+ # The unique identifier of the account association to retrieve.
1569
+ #
1570
+ # @return [Types::GetAccountAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1571
+ #
1572
+ # * {Types::GetAccountAssociationResponse#account_association_id #account_association_id} => String
1573
+ # * {Types::GetAccountAssociationResponse#association_state #association_state} => String
1574
+ # * {Types::GetAccountAssociationResponse#error_message #error_message} => String
1575
+ # * {Types::GetAccountAssociationResponse#connector_destination_id #connector_destination_id} => String
1576
+ # * {Types::GetAccountAssociationResponse#name #name} => String
1577
+ # * {Types::GetAccountAssociationResponse#description #description} => String
1578
+ # * {Types::GetAccountAssociationResponse#arn #arn} => String
1579
+ # * {Types::GetAccountAssociationResponse#o_auth_authorization_url #o_auth_authorization_url} => String
1580
+ # * {Types::GetAccountAssociationResponse#tags #tags} => Hash&lt;String,String&gt;
1581
+ #
1582
+ # @example Request syntax with placeholder values
1583
+ #
1584
+ # resp = client.get_account_association({
1585
+ # account_association_id: "AccountAssociationId", # required
1224
1586
  # })
1225
1587
  #
1226
1588
  # @example Response structure
1227
1589
  #
1228
- # resp.id #=> String
1229
- # resp.arn #=> String
1590
+ # resp.account_association_id #=> String
1591
+ # resp.association_state #=> String, one of "ASSOCIATION_IN_PROGRESS", "ASSOCIATION_FAILED", "ASSOCIATION_SUCCEEDED", "ASSOCIATION_DELETING", "REFRESH_TOKEN_EXPIRED"
1592
+ # resp.error_message #=> String
1593
+ # resp.connector_destination_id #=> String
1230
1594
  # resp.name #=> String
1231
- # resp.created_at #=> Time
1595
+ # resp.description #=> String
1596
+ # resp.arn #=> String
1597
+ # resp.o_auth_authorization_url #=> String
1232
1598
  # resp.tags #=> Hash
1233
1599
  # resp.tags["TagKey"] #=> String
1234
1600
  #
1235
- # @overload get_credential_locker(params = {})
1601
+ # @overload get_account_association(params = {})
1236
1602
  # @param [Hash] params ({})
1237
- def get_credential_locker(params = {}, options = {})
1238
- req = build_request(:get_credential_locker, params)
1603
+ def get_account_association(params = {}, options = {})
1604
+ req = build_request(:get_account_association, params)
1239
1605
  req.send_request(options)
1240
1606
  end
1241
1607
 
1242
- # Returns the IoT managed integrations custom endpoint.
1608
+ # Gets all the information about a connector for a connector developer.
1243
1609
  #
1244
- # @return [Types::GetCustomEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1610
+ # @option params [required, String] :identifier
1611
+ # The identifier of the C2C connector.
1245
1612
  #
1246
- # * {Types::GetCustomEndpointResponse#endpoint_address #endpoint_address} => String
1613
+ # @return [Types::GetCloudConnectorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1614
+ #
1615
+ # * {Types::GetCloudConnectorResponse#name #name} => String
1616
+ # * {Types::GetCloudConnectorResponse#endpoint_config #endpoint_config} => Types::EndpointConfig
1617
+ # * {Types::GetCloudConnectorResponse#description #description} => String
1618
+ # * {Types::GetCloudConnectorResponse#endpoint_type #endpoint_type} => String
1619
+ # * {Types::GetCloudConnectorResponse#id #id} => String
1620
+ # * {Types::GetCloudConnectorResponse#type #type} => String
1621
+ #
1622
+ #
1623
+ # @example Example: GetCloudConnector happy path for TP Link to get connector resource
1624
+ #
1625
+ # resp = client.get_cloud_connector({
1626
+ # identifier: "123456789012",
1627
+ # })
1628
+ #
1629
+ # resp.to_h outputs the following:
1630
+ # {
1631
+ # endpoint_config: {
1632
+ # lambda: {
1633
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
1634
+ # },
1635
+ # },
1636
+ # endpoint_type: "LAMBDA",
1637
+ # id: "123456789012",
1638
+ # name: "Connector for TP Link Cloud V2",
1639
+ # }
1640
+ #
1641
+ # @example Example: GetCloudConnector happy path for Ring to pending status
1642
+ #
1643
+ # resp = client.get_cloud_connector({
1644
+ # identifier: "123456789012",
1645
+ # })
1646
+ #
1647
+ # resp.to_h outputs the following:
1648
+ # {
1649
+ # endpoint_config: {
1650
+ # lambda: {
1651
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
1652
+ # },
1653
+ # },
1654
+ # name: "Connector for Ring Cloud",
1655
+ # }
1656
+ #
1657
+ # @example Example: GetCloudConnector error Id for Ring connector which does not exist
1658
+ #
1659
+ # resp = client.get_cloud_connector({
1660
+ # identifier: "123456789012",
1661
+ # })
1662
+ #
1663
+ # @example Request syntax with placeholder values
1664
+ #
1665
+ # resp = client.get_cloud_connector({
1666
+ # identifier: "CloudConnectorId", # required
1667
+ # })
1247
1668
  #
1248
1669
  # @example Response structure
1249
1670
  #
1250
- # resp.endpoint_address #=> String
1671
+ # resp.name #=> String
1672
+ # resp.endpoint_config.lambda.arn #=> String
1673
+ # resp.description #=> String
1674
+ # resp.endpoint_type #=> String, one of "LAMBDA"
1675
+ # resp.id #=> String
1676
+ # resp.type #=> String, one of "LISTED", "UNLISTED"
1251
1677
  #
1252
- # @overload get_custom_endpoint(params = {})
1678
+ # @overload get_cloud_connector(params = {})
1253
1679
  # @param [Hash] params ({})
1254
- def get_custom_endpoint(params = {}, options = {})
1255
- req = build_request(:get_custom_endpoint, params)
1680
+ def get_cloud_connector(params = {}, options = {})
1681
+ req = build_request(:get_cloud_connector, params)
1256
1682
  req.send_request(options)
1257
1683
  end
1258
1684
 
1259
- # Retrieves information about the default encryption configuration for
1260
- # the Amazon Web Services account in the default or specified region.
1261
- # For more information, see [Key management][1] in the *AWS IoT SiteWise
1262
- # User Guide*.
1685
+ # Get a connector destination of a cloud-to-cloud (C2C) connector
1686
+ # connecting to a customer's Amazon Web Services account.
1263
1687
  #
1688
+ # @option params [required, String] :identifier
1689
+ # The identifier of the C2C connector destination.
1264
1690
  #
1691
+ # @return [Types::GetConnectorDestinationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1265
1692
  #
1266
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html
1693
+ # * {Types::GetConnectorDestinationResponse#name #name} => String
1694
+ # * {Types::GetConnectorDestinationResponse#description #description} => String
1695
+ # * {Types::GetConnectorDestinationResponse#cloud_connector_id #cloud_connector_id} => String
1696
+ # * {Types::GetConnectorDestinationResponse#id #id} => String
1697
+ # * {Types::GetConnectorDestinationResponse#auth_type #auth_type} => String
1698
+ # * {Types::GetConnectorDestinationResponse#auth_config #auth_config} => Types::AuthConfig
1699
+ # * {Types::GetConnectorDestinationResponse#secrets_manager #secrets_manager} => Types::SecretsManager
1700
+ # * {Types::GetConnectorDestinationResponse#o_auth_complete_redirect_url #o_auth_complete_redirect_url} => String
1267
1701
  #
1268
- # @return [Types::GetDefaultEncryptionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1702
+ # @example Request syntax with placeholder values
1703
+ #
1704
+ # resp = client.get_connector_destination({
1705
+ # identifier: "ConnectorDestinationId", # required
1706
+ # })
1707
+ #
1708
+ # @example Response structure
1709
+ #
1710
+ # resp.name #=> String
1711
+ # resp.description #=> String
1712
+ # resp.cloud_connector_id #=> String
1713
+ # resp.id #=> String
1714
+ # resp.auth_type #=> String, one of "OAUTH"
1715
+ # resp.auth_config.o_auth.auth_url #=> String
1716
+ # resp.auth_config.o_auth.token_url #=> String
1717
+ # resp.auth_config.o_auth.scope #=> String
1718
+ # resp.auth_config.o_auth.token_endpoint_authentication_scheme #=> String, one of "HTTP_BASIC", "REQUEST_BODY_CREDENTIALS"
1719
+ # resp.auth_config.o_auth.o_auth_complete_redirect_url #=> String
1720
+ # resp.auth_config.o_auth.proactive_refresh_token_renewal.enabled #=> Boolean
1721
+ # resp.auth_config.o_auth.proactive_refresh_token_renewal.days_before_renewal #=> Integer
1722
+ # resp.secrets_manager.arn #=> String
1723
+ # resp.secrets_manager.version_id #=> String
1724
+ # resp.o_auth_complete_redirect_url #=> String
1725
+ #
1726
+ # @overload get_connector_destination(params = {})
1727
+ # @param [Hash] params ({})
1728
+ def get_connector_destination(params = {}, options = {})
1729
+ req = build_request(:get_connector_destination, params)
1730
+ req.send_request(options)
1731
+ end
1732
+
1733
+ # Get information on an existing credential locker
1734
+ #
1735
+ # @option params [required, String] :identifier
1736
+ # The identifier of the credential locker.
1737
+ #
1738
+ # @return [Types::GetCredentialLockerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1739
+ #
1740
+ # * {Types::GetCredentialLockerResponse#id #id} => String
1741
+ # * {Types::GetCredentialLockerResponse#arn #arn} => String
1742
+ # * {Types::GetCredentialLockerResponse#name #name} => String
1743
+ # * {Types::GetCredentialLockerResponse#created_at #created_at} => Time
1744
+ # * {Types::GetCredentialLockerResponse#tags #tags} => Hash&lt;String,String&gt;
1745
+ #
1746
+ # @example Request syntax with placeholder values
1747
+ #
1748
+ # resp = client.get_credential_locker({
1749
+ # identifier: "CredentialLockerId", # required
1750
+ # })
1751
+ #
1752
+ # @example Response structure
1753
+ #
1754
+ # resp.id #=> String
1755
+ # resp.arn #=> String
1756
+ # resp.name #=> String
1757
+ # resp.created_at #=> Time
1758
+ # resp.tags #=> Hash
1759
+ # resp.tags["TagKey"] #=> String
1760
+ #
1761
+ # @overload get_credential_locker(params = {})
1762
+ # @param [Hash] params ({})
1763
+ def get_credential_locker(params = {}, options = {})
1764
+ req = build_request(:get_credential_locker, params)
1765
+ req.send_request(options)
1766
+ end
1767
+
1768
+ # Returns the IoT managed integrations custom endpoint.
1769
+ #
1770
+ # @return [Types::GetCustomEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1771
+ #
1772
+ # * {Types::GetCustomEndpointResponse#endpoint_address #endpoint_address} => String
1773
+ #
1774
+ # @example Response structure
1775
+ #
1776
+ # resp.endpoint_address #=> String
1777
+ #
1778
+ # @overload get_custom_endpoint(params = {})
1779
+ # @param [Hash] params ({})
1780
+ def get_custom_endpoint(params = {}, options = {})
1781
+ req = build_request(:get_custom_endpoint, params)
1782
+ req.send_request(options)
1783
+ end
1784
+
1785
+ # Retrieves information about the default encryption configuration for
1786
+ # the Amazon Web Services account in the default or specified region.
1787
+ # For more information, see [Key management][1] in the *AWS IoT SiteWise
1788
+ # User Guide*.
1789
+ #
1790
+ #
1791
+ #
1792
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html
1793
+ #
1794
+ # @return [Types::GetDefaultEncryptionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1269
1795
  #
1270
1796
  # * {Types::GetDefaultEncryptionConfigurationResponse#configuration_status #configuration_status} => Types::ConfigurationStatus
1271
1797
  # * {Types::GetDefaultEncryptionConfigurationResponse#encryption_type #encryption_type} => String
@@ -1341,6 +1867,7 @@ module Aws::IoTManagedIntegrations
1341
1867
  # * {Types::GetDeviceDiscoveryResponse#started_at #started_at} => Time
1342
1868
  # * {Types::GetDeviceDiscoveryResponse#controller_id #controller_id} => String
1343
1869
  # * {Types::GetDeviceDiscoveryResponse#connector_association_id #connector_association_id} => String
1870
+ # * {Types::GetDeviceDiscoveryResponse#account_association_id #account_association_id} => String
1344
1871
  # * {Types::GetDeviceDiscoveryResponse#finished_at #finished_at} => Time
1345
1872
  # * {Types::GetDeviceDiscoveryResponse#tags #tags} => Hash&lt;String,String&gt;
1346
1873
  #
@@ -1354,11 +1881,12 @@ module Aws::IoTManagedIntegrations
1354
1881
  #
1355
1882
  # resp.id #=> String
1356
1883
  # resp.arn #=> String
1357
- # resp.discovery_type #=> String, one of "ZWAVE", "ZIGBEE", "CLOUD"
1884
+ # resp.discovery_type #=> String, one of "ZWAVE", "ZIGBEE", "CLOUD", "CUSTOM"
1358
1885
  # resp.status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "TIMED_OUT"
1359
1886
  # resp.started_at #=> Time
1360
1887
  # resp.controller_id #=> String
1361
1888
  # resp.connector_association_id #=> String
1889
+ # resp.account_association_id #=> String
1362
1890
  # resp.finished_at #=> Time
1363
1891
  # resp.tags #=> Hash
1364
1892
  # resp.tags["TagKey"] #=> String
@@ -1442,6 +1970,7 @@ module Aws::IoTManagedIntegrations
1442
1970
  # * {Types::GetManagedThingResponse#universal_product_code #universal_product_code} => String
1443
1971
  # * {Types::GetManagedThingResponse#international_article_number #international_article_number} => String
1444
1972
  # * {Types::GetManagedThingResponse#connector_policy_id #connector_policy_id} => String
1973
+ # * {Types::GetManagedThingResponse#connector_destination_id #connector_destination_id} => String
1445
1974
  # * {Types::GetManagedThingResponse#connector_device_id #connector_device_id} => String
1446
1975
  # * {Types::GetManagedThingResponse#device_specific_key #device_specific_key} => String
1447
1976
  # * {Types::GetManagedThingResponse#mac_address #mac_address} => String
@@ -1476,6 +2005,7 @@ module Aws::IoTManagedIntegrations
1476
2005
  # resp.universal_product_code #=> String
1477
2006
  # resp.international_article_number #=> String
1478
2007
  # resp.connector_policy_id #=> String
2008
+ # resp.connector_destination_id #=> String
1479
2009
  # resp.connector_device_id #=> String
1480
2010
  # resp.device_specific_key #=> String
1481
2011
  # resp.mac_address #=> String
@@ -1576,6 +2106,14 @@ module Aws::IoTManagedIntegrations
1576
2106
 
1577
2107
  # Get the metadata information for a managed thing.
1578
2108
  #
2109
+ # <note markdown="1"> The `managedThing` `metadata` parameter is used for associating
2110
+ # attributes with a `managedThing` that can be used for grouping
2111
+ # over-the-air (OTA) tasks. Name value pairs in `metadata` can be used
2112
+ # in the `OtaTargetQueryString` parameter for the `CreateOtaTask` API
2113
+ # operation.
2114
+ #
2115
+ # </note>
2116
+ #
1579
2117
  # @option params [required, String] :identifier
1580
2118
  # The managed thing id.
1581
2119
  #
@@ -1651,12 +2189,12 @@ module Aws::IoTManagedIntegrations
1651
2189
  # @example Request syntax with placeholder values
1652
2190
  #
1653
2191
  # 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
2192
+ # 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
2193
  # })
1656
2194
  #
1657
2195
  # @example Response structure
1658
2196
  #
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"
2197
+ # 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
2198
  # resp.destination_name #=> String
1661
2199
  # resp.created_at #=> Time
1662
2200
  # resp.updated_at #=> Time
@@ -1693,6 +2231,7 @@ module Aws::IoTManagedIntegrations
1693
2231
  # * {Types::GetOtaTaskResponse#ota_scheduling_config #ota_scheduling_config} => Types::OtaTaskSchedulingConfig
1694
2232
  # * {Types::GetOtaTaskResponse#ota_task_execution_retry_config #ota_task_execution_retry_config} => Types::OtaTaskExecutionRetryConfig
1695
2233
  # * {Types::GetOtaTaskResponse#status #status} => String
2234
+ # * {Types::GetOtaTaskResponse#tags #tags} => Hash&lt;String,String&gt;
1696
2235
  #
1697
2236
  # @example Request syntax with placeholder values
1698
2237
  #
@@ -1735,6 +2274,8 @@ module Aws::IoTManagedIntegrations
1735
2274
  # resp.ota_task_execution_retry_config.retry_config_criteria[0].failure_type #=> String, one of "FAILED", "TIMED_OUT", "ALL"
1736
2275
  # resp.ota_task_execution_retry_config.retry_config_criteria[0].min_number_of_retries #=> Integer
1737
2276
  # resp.status #=> String, one of "IN_PROGRESS", "CANCELED", "COMPLETED", "DELETION_IN_PROGRESS", "SCHEDULED"
2277
+ # resp.tags #=> Hash
2278
+ # resp.tags["TagKey"] #=> String
1738
2279
  #
1739
2280
  # @overload get_ota_task(params = {})
1740
2281
  # @param [Hash] params ({})
@@ -1907,6 +2448,188 @@ module Aws::IoTManagedIntegrations
1907
2448
  req.send_request(options)
1908
2449
  end
1909
2450
 
2451
+ # Lists all account associations, with optional filtering by connector
2452
+ # destination ID.
2453
+ #
2454
+ # @option params [String] :connector_destination_id
2455
+ # The identifier of the connector destination to filter account
2456
+ # associations by.
2457
+ #
2458
+ # @option params [Integer] :max_results
2459
+ # The maximum number of account associations to return in a single
2460
+ # response.
2461
+ #
2462
+ # @option params [String] :next_token
2463
+ # A token used for pagination of results.
2464
+ #
2465
+ # @return [Types::ListAccountAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2466
+ #
2467
+ # * {Types::ListAccountAssociationsResponse#items #items} => Array&lt;Types::AccountAssociationItem&gt;
2468
+ # * {Types::ListAccountAssociationsResponse#next_token #next_token} => String
2469
+ #
2470
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2471
+ #
2472
+ # @example Request syntax with placeholder values
2473
+ #
2474
+ # resp = client.list_account_associations({
2475
+ # connector_destination_id: "ConnectorDestinationId",
2476
+ # max_results: 1,
2477
+ # next_token: "NextToken",
2478
+ # })
2479
+ #
2480
+ # @example Response structure
2481
+ #
2482
+ # resp.items #=> Array
2483
+ # resp.items[0].account_association_id #=> String
2484
+ # resp.items[0].association_state #=> String, one of "ASSOCIATION_IN_PROGRESS", "ASSOCIATION_FAILED", "ASSOCIATION_SUCCEEDED", "ASSOCIATION_DELETING", "REFRESH_TOKEN_EXPIRED"
2485
+ # resp.items[0].error_message #=> String
2486
+ # resp.items[0].connector_destination_id #=> String
2487
+ # resp.items[0].name #=> String
2488
+ # resp.items[0].description #=> String
2489
+ # resp.items[0].arn #=> String
2490
+ # resp.next_token #=> String
2491
+ #
2492
+ # @overload list_account_associations(params = {})
2493
+ # @param [Hash] params ({})
2494
+ def list_account_associations(params = {}, options = {})
2495
+ req = build_request(:list_account_associations, params)
2496
+ req.send_request(options)
2497
+ end
2498
+
2499
+ # Returns a list of connectors based on permissions.
2500
+ #
2501
+ # @option params [String] :type
2502
+ # The type of cloud connectors to filter by when listing available
2503
+ # connectors.
2504
+ #
2505
+ # @option params [String] :lambda_arn
2506
+ # The Amazon Resource Name (ARN) of the Lambda function to filter cloud
2507
+ # connectors by.
2508
+ #
2509
+ # @option params [Integer] :max_results
2510
+ # The maximum number of results to return at one time.
2511
+ #
2512
+ # @option params [String] :next_token
2513
+ # A token that can be used to retrieve the next set of results.
2514
+ #
2515
+ # @return [Types::ListCloudConnectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2516
+ #
2517
+ # * {Types::ListCloudConnectorsResponse#items #items} => Array&lt;Types::ConnectorItem&gt;
2518
+ # * {Types::ListCloudConnectorsResponse#next_token #next_token} => String
2519
+ #
2520
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2521
+ #
2522
+ #
2523
+ # @example Example: ListCloudConnectors happy path to get a list of connector resources
2524
+ #
2525
+ # resp = client.list_cloud_connectors({
2526
+ # max_results: 5,
2527
+ # })
2528
+ #
2529
+ # resp.to_h outputs the following:
2530
+ # {
2531
+ # items: [
2532
+ # {
2533
+ # description: "Description for TP Link Cloud V2",
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 TP Link Cloud V2",
2541
+ # },
2542
+ # {
2543
+ # description: "Description for Ring Cloud",
2544
+ # endpoint_config: {
2545
+ # lambda: {
2546
+ # arn: "arn:aws:lambda:us-east-1:111122223333:function:my-function:myVersion",
2547
+ # },
2548
+ # },
2549
+ # endpoint_type: "LAMBDA",
2550
+ # name: "Connector for Ring Cloud",
2551
+ # },
2552
+ # ],
2553
+ # }
2554
+ #
2555
+ # @example Example: ListCloudConnectors error path for unauthorized user
2556
+ #
2557
+ # resp = client.list_cloud_connectors({
2558
+ # max_results: 5,
2559
+ # })
2560
+ #
2561
+ # @example Request syntax with placeholder values
2562
+ #
2563
+ # resp = client.list_cloud_connectors({
2564
+ # type: "LISTED", # accepts LISTED, UNLISTED
2565
+ # lambda_arn: "LambdaArn",
2566
+ # max_results: 1,
2567
+ # next_token: "NextToken",
2568
+ # })
2569
+ #
2570
+ # @example Response structure
2571
+ #
2572
+ # resp.items #=> Array
2573
+ # resp.items[0].name #=> String
2574
+ # resp.items[0].endpoint_config.lambda.arn #=> String
2575
+ # resp.items[0].description #=> String
2576
+ # resp.items[0].endpoint_type #=> String, one of "LAMBDA"
2577
+ # resp.items[0].id #=> String
2578
+ # resp.items[0].type #=> String, one of "LISTED", "UNLISTED"
2579
+ # resp.next_token #=> String
2580
+ #
2581
+ # @overload list_cloud_connectors(params = {})
2582
+ # @param [Hash] params ({})
2583
+ def list_cloud_connectors(params = {}, options = {})
2584
+ req = build_request(:list_cloud_connectors, params)
2585
+ req.send_request(options)
2586
+ end
2587
+
2588
+ # Lists all connector destinations, with optional filtering by cloud
2589
+ # connector ID.
2590
+ #
2591
+ # @option params [String] :cloud_connector_id
2592
+ # The identifier of the cloud connector to filter connector destinations
2593
+ # by.
2594
+ #
2595
+ # @option params [String] :next_token
2596
+ # A token used for pagination of results.
2597
+ #
2598
+ # @option params [Integer] :max_results
2599
+ # The maximum number of connector destinations to return in a single
2600
+ # response.
2601
+ #
2602
+ # @return [Types::ListConnectorDestinationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2603
+ #
2604
+ # * {Types::ListConnectorDestinationsResponse#connector_destination_list #connector_destination_list} => Array&lt;Types::ConnectorDestinationSummary&gt;
2605
+ # * {Types::ListConnectorDestinationsResponse#next_token #next_token} => String
2606
+ #
2607
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2608
+ #
2609
+ # @example Request syntax with placeholder values
2610
+ #
2611
+ # resp = client.list_connector_destinations({
2612
+ # cloud_connector_id: "CloudConnectorId",
2613
+ # next_token: "NextToken",
2614
+ # max_results: 1,
2615
+ # })
2616
+ #
2617
+ # @example Response structure
2618
+ #
2619
+ # resp.connector_destination_list #=> Array
2620
+ # resp.connector_destination_list[0].name #=> String
2621
+ # resp.connector_destination_list[0].description #=> String
2622
+ # resp.connector_destination_list[0].cloud_connector_id #=> String
2623
+ # resp.connector_destination_list[0].id #=> String
2624
+ # resp.next_token #=> String
2625
+ #
2626
+ # @overload list_connector_destinations(params = {})
2627
+ # @param [Hash] params ({})
2628
+ def list_connector_destinations(params = {}, options = {})
2629
+ req = build_request(:list_connector_destinations, params)
2630
+ req.send_request(options)
2631
+ end
2632
+
1910
2633
  # List information on an existing credential locker.
1911
2634
  #
1912
2635
  # @option params [String] :next_token
@@ -1984,6 +2707,103 @@ module Aws::IoTManagedIntegrations
1984
2707
  req.send_request(options)
1985
2708
  end
1986
2709
 
2710
+ # Lists all device discovery tasks, with optional filtering by type and
2711
+ # status.
2712
+ #
2713
+ # @option params [String] :next_token
2714
+ # A token used for pagination of results.
2715
+ #
2716
+ # @option params [Integer] :max_results
2717
+ # The maximum number of device discovery jobs to return in a single
2718
+ # response.
2719
+ #
2720
+ # @option params [String] :type_filter
2721
+ # The discovery type to filter device discovery jobs by.
2722
+ #
2723
+ # @option params [String] :status_filter
2724
+ # The status to filter device discovery jobs by.
2725
+ #
2726
+ # @return [Types::ListDeviceDiscoveriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2727
+ #
2728
+ # * {Types::ListDeviceDiscoveriesResponse#items #items} => Array&lt;Types::DeviceDiscoverySummary&gt;
2729
+ # * {Types::ListDeviceDiscoveriesResponse#next_token #next_token} => String
2730
+ #
2731
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2732
+ #
2733
+ # @example Request syntax with placeholder values
2734
+ #
2735
+ # resp = client.list_device_discoveries({
2736
+ # next_token: "NextToken",
2737
+ # max_results: 1,
2738
+ # type_filter: "ZWAVE", # accepts ZWAVE, ZIGBEE, CLOUD, CUSTOM
2739
+ # status_filter: "RUNNING", # accepts RUNNING, SUCCEEDED, FAILED, TIMED_OUT
2740
+ # })
2741
+ #
2742
+ # @example Response structure
2743
+ #
2744
+ # resp.items #=> Array
2745
+ # resp.items[0].id #=> String
2746
+ # resp.items[0].discovery_type #=> String, one of "ZWAVE", "ZIGBEE", "CLOUD", "CUSTOM"
2747
+ # resp.items[0].status #=> String, one of "RUNNING", "SUCCEEDED", "FAILED", "TIMED_OUT"
2748
+ # resp.next_token #=> String
2749
+ #
2750
+ # @overload list_device_discoveries(params = {})
2751
+ # @param [Hash] params ({})
2752
+ def list_device_discoveries(params = {}, options = {})
2753
+ req = build_request(:list_device_discoveries, params)
2754
+ req.send_request(options)
2755
+ end
2756
+
2757
+ # Lists all devices discovered during a specific device discovery task.
2758
+ #
2759
+ # @option params [required, String] :identifier
2760
+ # The identifier of the device discovery job to list discovered devices
2761
+ # for.
2762
+ #
2763
+ # @option params [String] :next_token
2764
+ # A token used for pagination of results.
2765
+ #
2766
+ # @option params [Integer] :max_results
2767
+ # The maximum number of discovered devices to return in a single
2768
+ # response.
2769
+ #
2770
+ # @return [Types::ListDiscoveredDevicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2771
+ #
2772
+ # * {Types::ListDiscoveredDevicesResponse#items #items} => Array&lt;Types::DiscoveredDeviceSummary&gt;
2773
+ # * {Types::ListDiscoveredDevicesResponse#next_token #next_token} => String
2774
+ #
2775
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2776
+ #
2777
+ # @example Request syntax with placeholder values
2778
+ #
2779
+ # resp = client.list_discovered_devices({
2780
+ # identifier: "DeviceDiscoveryId", # required
2781
+ # next_token: "NextToken",
2782
+ # max_results: 1,
2783
+ # })
2784
+ #
2785
+ # @example Response structure
2786
+ #
2787
+ # resp.items #=> Array
2788
+ # resp.items[0].connector_device_id #=> String
2789
+ # resp.items[0].connector_device_name #=> String
2790
+ # resp.items[0].device_types #=> Array
2791
+ # resp.items[0].device_types[0] #=> String
2792
+ # resp.items[0].managed_thing_id #=> String
2793
+ # resp.items[0].modification #=> String, one of "DISCOVERED", "UPDATED", "NO_CHANGE"
2794
+ # resp.items[0].discovered_at #=> Time
2795
+ # resp.items[0].brand #=> String
2796
+ # resp.items[0].model #=> String
2797
+ # resp.items[0].authentication_material #=> String
2798
+ # resp.next_token #=> String
2799
+ #
2800
+ # @overload list_discovered_devices(params = {})
2801
+ # @param [Hash] params ({})
2802
+ def list_discovered_devices(params = {}, options = {})
2803
+ req = build_request(:list_discovered_devices, params)
2804
+ req.send_request(options)
2805
+ end
2806
+
1987
2807
  # List all event log configurations for an account.
1988
2808
  #
1989
2809
  # @option params [String] :next_token
@@ -2022,6 +2842,53 @@ module Aws::IoTManagedIntegrations
2022
2842
  req.send_request(options)
2023
2843
  end
2024
2844
 
2845
+ # Lists all account associations for a specific managed thing.
2846
+ #
2847
+ # @option params [String] :managed_thing_id
2848
+ # The identifier of the managed thing to list account associations for.
2849
+ #
2850
+ # @option params [String] :account_association_id
2851
+ # The identifier of the account association to filter results by. When
2852
+ # specified, only associations with this account association ID will be
2853
+ # returned.
2854
+ #
2855
+ # @option params [Integer] :max_results
2856
+ # The maximum number of account associations to return in a single
2857
+ # response.
2858
+ #
2859
+ # @option params [String] :next_token
2860
+ # A token used for pagination of results.
2861
+ #
2862
+ # @return [Types::ListManagedThingAccountAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2863
+ #
2864
+ # * {Types::ListManagedThingAccountAssociationsResponse#items #items} => Array&lt;Types::ManagedThingAssociation&gt;
2865
+ # * {Types::ListManagedThingAccountAssociationsResponse#next_token #next_token} => String
2866
+ #
2867
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2868
+ #
2869
+ # @example Request syntax with placeholder values
2870
+ #
2871
+ # resp = client.list_managed_thing_account_associations({
2872
+ # managed_thing_id: "ManagedThingId",
2873
+ # account_association_id: "AccountAssociationId",
2874
+ # max_results: 1,
2875
+ # next_token: "NextToken",
2876
+ # })
2877
+ #
2878
+ # @example Response structure
2879
+ #
2880
+ # resp.items #=> Array
2881
+ # resp.items[0].managed_thing_id #=> String
2882
+ # resp.items[0].account_association_id #=> String
2883
+ # resp.next_token #=> String
2884
+ #
2885
+ # @overload list_managed_thing_account_associations(params = {})
2886
+ # @param [Hash] params ({})
2887
+ def list_managed_thing_account_associations(params = {}, options = {})
2888
+ req = build_request(:list_managed_thing_account_associations, params)
2889
+ req.send_request(options)
2890
+ end
2891
+
2025
2892
  # List schemas associated with a managed thing.
2026
2893
  #
2027
2894
  # @option params [required, String] :identifier
@@ -2070,8 +2937,7 @@ module Aws::IoTManagedIntegrations
2070
2937
  req.send_request(options)
2071
2938
  end
2072
2939
 
2073
- # List all of the associations and statuses for a managed thing by its
2074
- # owner.
2940
+ # Listing all managed things with provision for filters.
2075
2941
  #
2076
2942
  # @option params [String] :owner_filter
2077
2943
  # Filter on device owners when listing managed things.
@@ -2089,6 +2955,15 @@ module Aws::IoTManagedIntegrations
2089
2955
  # @option params [String] :connector_policy_id_filter
2090
2956
  # Filter on a connector policy id for a managed thing.
2091
2957
  #
2958
+ # @option params [String] :connector_destination_id_filter
2959
+ # Filter managed things by the connector destination ID they are
2960
+ # associated with.
2961
+ #
2962
+ # @option params [String] :connector_device_id_filter
2963
+ # Filter managed things by the connector device ID they are associated
2964
+ # with. When specified, only managed things with this connector device
2965
+ # ID will be returned.
2966
+ #
2092
2967
  # @option params [String] :serial_number_filter
2093
2968
  # Filter on the serial number of the device.
2094
2969
  #
@@ -2116,6 +2991,8 @@ module Aws::IoTManagedIntegrations
2116
2991
  # role_filter: "CONTROLLER", # accepts CONTROLLER, DEVICE
2117
2992
  # parent_controller_identifier_filter: "ParentControllerId",
2118
2993
  # connector_policy_id_filter: "ConnectorPolicyId",
2994
+ # connector_destination_id_filter: "ConnectorDestinationId",
2995
+ # connector_device_id_filter: "ConnectorDeviceId",
2119
2996
  # serial_number_filter: "SerialNumber",
2120
2997
  # provisioning_status_filter: "UNASSOCIATED", # accepts UNASSOCIATED, PRE_ASSOCIATED, DISCOVERED, ACTIVATED, DELETION_FAILED, DELETE_IN_PROGRESS, ISOLATED, DELETED
2121
2998
  # next_token: "NextToken",
@@ -2132,6 +3009,7 @@ module Aws::IoTManagedIntegrations
2132
3009
  # resp.items[0].classification #=> String
2133
3010
  # resp.items[0].connector_device_id #=> String
2134
3011
  # resp.items[0].connector_policy_id #=> String
3012
+ # resp.items[0].connector_destination_id #=> String
2135
3013
  # resp.items[0].model #=> String
2136
3014
  # resp.items[0].name #=> String
2137
3015
  # resp.items[0].owner #=> String
@@ -2177,7 +3055,7 @@ module Aws::IoTManagedIntegrations
2177
3055
  # @example Response structure
2178
3056
  #
2179
3057
  # 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"
3058
+ # 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
3059
  # resp.notification_configuration_list[0].destination_name #=> String
2182
3060
  # resp.next_token #=> String
2183
3061
  #
@@ -2383,7 +3261,7 @@ module Aws::IoTManagedIntegrations
2383
3261
  # @example Example: ListSchemaVersions happy path for an example schema version.
2384
3262
  #
2385
3263
  # resp = client.list_schema_versions({
2386
- # schema_id: "matter.ColorControl",
3264
+ # schema_id: "example.ColorControl",
2387
3265
  # type: "capability",
2388
3266
  # })
2389
3267
  #
@@ -2393,8 +3271,8 @@ module Aws::IoTManagedIntegrations
2393
3271
  # {
2394
3272
  # description: "The Color Control cluster defined as Harmony Capability.",
2395
3273
  # namespace: "matter",
2396
- # schema_id: "matter.ColorControl",
2397
- # semantic_version: "1.3",
3274
+ # schema_id: "example.ColorControl",
3275
+ # semantic_version: "1.4",
2398
3276
  # type: "capability",
2399
3277
  # },
2400
3278
  # ],
@@ -2413,8 +3291,8 @@ module Aws::IoTManagedIntegrations
2413
3291
  # {
2414
3292
  # description: "The Color Control cluster defined as Harmony Capability.",
2415
3293
  # namespace: "matter",
2416
- # schema_id: "matter.ColorControl",
2417
- # semantic_version: "1.3",
3294
+ # schema_id: "example.ColorControl",
3295
+ # semantic_version: "1.4",
2418
3296
  # type: "capability",
2419
3297
  # },
2420
3298
  # ],
@@ -2424,7 +3302,7 @@ module Aws::IoTManagedIntegrations
2424
3302
  #
2425
3303
  # resp = client.list_schema_versions({
2426
3304
  # namespace: "matter",
2427
- # schema_id: "matter.ColorControl",
3305
+ # schema_id: "example.ColorControl",
2428
3306
  # type: "capability",
2429
3307
  # })
2430
3308
  #
@@ -2458,6 +3336,33 @@ module Aws::IoTManagedIntegrations
2458
3336
  req.send_request(options)
2459
3337
  end
2460
3338
 
3339
+ # List tags for the specified resource.
3340
+ #
3341
+ # @option params [required, String] :resource_arn
3342
+ # The ARN of the resource for which to list tags.
3343
+ #
3344
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3345
+ #
3346
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
3347
+ #
3348
+ # @example Request syntax with placeholder values
3349
+ #
3350
+ # resp = client.list_tags_for_resource({
3351
+ # resource_arn: "IoTManagedIntegrationsResourceARN", # required
3352
+ # })
3353
+ #
3354
+ # @example Response structure
3355
+ #
3356
+ # resp.tags #=> Hash
3357
+ # resp.tags["TagKey"] #=> String
3358
+ #
3359
+ # @overload list_tags_for_resource(params = {})
3360
+ # @param [Hash] params ({})
3361
+ def list_tags_for_resource(params = {}, options = {})
3362
+ req = build_request(:list_tags_for_resource, params)
3363
+ req.send_request(options)
3364
+ end
3365
+
2461
3366
  # Sets the default encryption configuration for the Amazon Web Services
2462
3367
  # account. For more information, see [Key management][1] in the AWS IoT
2463
3368
  # SiteWise User Guide.
@@ -2562,6 +3467,48 @@ module Aws::IoTManagedIntegrations
2562
3467
  req.send_request(options)
2563
3468
  end
2564
3469
 
3470
+ # Registers an account association with a managed thing, establishing a
3471
+ # connection between a device and a third-party account.
3472
+ #
3473
+ # @option params [required, String] :managed_thing_id
3474
+ # The identifier of the managed thing to register with the account
3475
+ # association.
3476
+ #
3477
+ # @option params [required, String] :account_association_id
3478
+ # The identifier of the account association to register with the managed
3479
+ # thing.
3480
+ #
3481
+ # @option params [required, String] :device_discovery_id
3482
+ # The identifier of the device discovery job associated with this
3483
+ # registration.
3484
+ #
3485
+ # @return [Types::RegisterAccountAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3486
+ #
3487
+ # * {Types::RegisterAccountAssociationResponse#account_association_id #account_association_id} => String
3488
+ # * {Types::RegisterAccountAssociationResponse#device_discovery_id #device_discovery_id} => String
3489
+ # * {Types::RegisterAccountAssociationResponse#managed_thing_id #managed_thing_id} => String
3490
+ #
3491
+ # @example Request syntax with placeholder values
3492
+ #
3493
+ # resp = client.register_account_association({
3494
+ # managed_thing_id: "ManagedThingId", # required
3495
+ # account_association_id: "AccountAssociationId", # required
3496
+ # device_discovery_id: "DeviceDiscoveryId", # required
3497
+ # })
3498
+ #
3499
+ # @example Response structure
3500
+ #
3501
+ # resp.account_association_id #=> String
3502
+ # resp.device_discovery_id #=> String
3503
+ # resp.managed_thing_id #=> String
3504
+ #
3505
+ # @overload register_account_association(params = {})
3506
+ # @param [Hash] params ({})
3507
+ def register_account_association(params = {}, options = {})
3508
+ req = build_request(:register_account_association, params)
3509
+ req.send_request(options)
3510
+ end
3511
+
2565
3512
  # Customers can request IoT managed integrations to manage the server
2566
3513
  # trust for them or bring their own external server trusts for the
2567
3514
  # custom domain. Returns an IoT managed integrations endpoint.
@@ -2602,6 +3549,173 @@ module Aws::IoTManagedIntegrations
2602
3549
  req.send_request(options)
2603
3550
  end
2604
3551
 
3552
+ # Relays third-party device events for a connector such as a new device
3553
+ # or a device state change event.
3554
+ #
3555
+ # @option params [required, String] :connector_id
3556
+ # The id of the connector between the third-party cloud provider and IoT
3557
+ # managed integrations.
3558
+ #
3559
+ # @option params [String] :user_id
3560
+ # The id of the third-party cloud provider.
3561
+ #
3562
+ # @option params [required, String] :operation
3563
+ # The Open Connectivity Foundation (OCF) operation requested to be
3564
+ # performed on the managed thing.
3565
+ #
3566
+ # <note markdown="1"> The field op can have a value of "I" or "U". The field "cn" will
3567
+ # contain the capability types.
3568
+ #
3569
+ # </note>
3570
+ #
3571
+ # @option params [String] :operation_version
3572
+ # The Open Connectivity Foundation (OCF) security specification version
3573
+ # for the operation being requested on the managed thing. For more
3574
+ # information, see [OCF Security Specification][1].
3575
+ #
3576
+ #
3577
+ #
3578
+ # [1]: https://openconnectivity.org/specs/OCF_Security_Specification_v1.0.0.pdf
3579
+ #
3580
+ # @option params [Integer] :status_code
3581
+ # The status code of the Open Connectivity Foundation (OCF) operation
3582
+ # being performed on the managed thing.
3583
+ #
3584
+ # @option params [String] :message
3585
+ # The device state change event payload.
3586
+ #
3587
+ # This parameter will include the following three fields:
3588
+ #
3589
+ # * `uri`: `schema auc://<PARTNER-DEVICE-ID>/ResourcePath` (The
3590
+ # `Resourcepath` corresponds to an OCF resource.)
3591
+ #
3592
+ # * `op`: For device state changes, this field must populate as `n+d`.
3593
+ #
3594
+ # * `cn`: The content depends on the OCF resource referenced in
3595
+ # `ResourcePath`.
3596
+ #
3597
+ # @option params [String] :device_discovery_id
3598
+ # The id for the device discovery job.
3599
+ #
3600
+ # @option params [String] :connector_device_id
3601
+ # The third-party device id as defined by the connector. This device id
3602
+ # must not contain personal identifiable information (PII).
3603
+ #
3604
+ # <note markdown="1"> This parameter is used for cloud-to-cloud devices only.
3605
+ #
3606
+ # </note>
3607
+ #
3608
+ # @option params [String] :trace_id
3609
+ # The trace request identifier used to correlate a command request and
3610
+ # response. This is specified by the device owner, but will be generated
3611
+ # by IoT managed integrations if not provided by the device owner.
3612
+ #
3613
+ # @option params [Array<Types::Device>] :devices
3614
+ # The list of devices.
3615
+ #
3616
+ # @option params [Types::MatterEndpoint] :matter_endpoint
3617
+ # The device endpoint.
3618
+ #
3619
+ # @return [Types::SendConnectorEventResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3620
+ #
3621
+ # * {Types::SendConnectorEventResponse#connector_id #connector_id} => String
3622
+ #
3623
+ # @example Request syntax with placeholder values
3624
+ #
3625
+ # resp = client.send_connector_event({
3626
+ # connector_id: "ConnectorId", # required
3627
+ # user_id: "ThirdPartyUserId",
3628
+ # operation: "DEVICE_COMMAND_RESPONSE", # required, accepts DEVICE_COMMAND_RESPONSE, DEVICE_DISCOVERY, DEVICE_EVENT, DEVICE_COMMAND_REQUEST
3629
+ # operation_version: "ConnectorEventOperationVersion",
3630
+ # status_code: 1,
3631
+ # message: "ConnectorEventMessage",
3632
+ # device_discovery_id: "DeviceDiscoveryId",
3633
+ # connector_device_id: "ConnectorDeviceId",
3634
+ # trace_id: "TraceId",
3635
+ # devices: [
3636
+ # {
3637
+ # connector_device_id: "ConnectorDeviceId", # required
3638
+ # connector_device_name: "ConnectorDeviceName",
3639
+ # capability_report: { # required
3640
+ # version: "CapabilityReportVersion", # required
3641
+ # node_id: "NodeId",
3642
+ # endpoints: [ # required
3643
+ # {
3644
+ # id: "EndpointId", # required
3645
+ # device_types: ["DeviceType"], # required
3646
+ # clusters: [ # required
3647
+ # {
3648
+ # id: "ClusterId", # required
3649
+ # revision: 1, # required
3650
+ # public_id: "SchemaVersionedId",
3651
+ # name: "CapabilityName",
3652
+ # spec_version: "SpecVersion",
3653
+ # attributes: [
3654
+ # {
3655
+ # id: "MatterAttributeId",
3656
+ # name: "ActionName",
3657
+ # value: {
3658
+ # },
3659
+ # },
3660
+ # ],
3661
+ # commands: ["MatterCommandId"],
3662
+ # events: ["MatterEventId"],
3663
+ # feature_map: 1,
3664
+ # generated_commands: ["MatterCommandId"],
3665
+ # fabric_index: 1,
3666
+ # },
3667
+ # ],
3668
+ # parts: ["EndpointId"],
3669
+ # semantic_tags: ["EndpointSemanticTag"],
3670
+ # client_clusters: ["ClusterId"],
3671
+ # },
3672
+ # ],
3673
+ # },
3674
+ # capability_schemas: [
3675
+ # {
3676
+ # format: "AWS", # required, accepts AWS, ZCL, CONNECTOR
3677
+ # capability_id: "SchemaVersionedId", # required
3678
+ # extrinsic_id: "ExtrinsicSchemaId", # required
3679
+ # extrinsic_version: 1, # required
3680
+ # schema: { # required
3681
+ # },
3682
+ # },
3683
+ # ],
3684
+ # device_metadata: {
3685
+ # },
3686
+ # },
3687
+ # ],
3688
+ # matter_endpoint: {
3689
+ # id: "EndpointId",
3690
+ # clusters: [
3691
+ # {
3692
+ # id: "ClusterId",
3693
+ # attributes: {
3694
+ # },
3695
+ # commands: {
3696
+ # "MatterCommandId" => {
3697
+ # },
3698
+ # },
3699
+ # events: {
3700
+ # "MatterEventId" => {
3701
+ # },
3702
+ # },
3703
+ # },
3704
+ # ],
3705
+ # },
3706
+ # })
3707
+ #
3708
+ # @example Response structure
3709
+ #
3710
+ # resp.connector_id #=> String
3711
+ #
3712
+ # @overload send_connector_event(params = {})
3713
+ # @param [Hash] params ({})
3714
+ def send_connector_event(params = {}, options = {})
3715
+ req = build_request(:send_connector_event, params)
3716
+ req.send_request(options)
3717
+ end
3718
+
2605
3719
  # Send the command to the device represented by the managed thing.
2606
3720
  #
2607
3721
  # @option params [required, String] :managed_thing_id
@@ -2614,6 +3728,10 @@ module Aws::IoTManagedIntegrations
2614
3728
  # The ID tracking the current discovery process for one connector
2615
3729
  # association.
2616
3730
  #
3731
+ # @option params [String] :account_association_id
3732
+ # The identifier of the account association to use when sending a
3733
+ # command to a managed thing.
3734
+ #
2617
3735
  # @return [Types::SendManagedThingCommandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2618
3736
  #
2619
3737
  # * {Types::SendManagedThingCommandResponse#trace_id #trace_id} => String
@@ -2644,6 +3762,7 @@ module Aws::IoTManagedIntegrations
2644
3762
  # },
2645
3763
  # ],
2646
3764
  # connector_association_id: "ConnectorAssociationId",
3765
+ # account_association_id: "AccountAssociationId",
2647
3766
  # })
2648
3767
  #
2649
3768
  # @example Response structure
@@ -2657,13 +3776,50 @@ module Aws::IoTManagedIntegrations
2657
3776
  req.send_request(options)
2658
3777
  end
2659
3778
 
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.
3779
+ # Initiates a refresh of an existing account association to update its
3780
+ # authorization and connection status.
3781
+ #
3782
+ # @option params [required, String] :account_association_id
3783
+ # The unique identifier of the account association to refresh.
3784
+ #
3785
+ # @return [Types::StartAccountAssociationRefreshResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3786
+ #
3787
+ # * {Types::StartAccountAssociationRefreshResponse#o_auth_authorization_url #o_auth_authorization_url} => String
3788
+ #
3789
+ # @example Request syntax with placeholder values
3790
+ #
3791
+ # resp = client.start_account_association_refresh({
3792
+ # account_association_id: "AccountAssociationId", # required
3793
+ # })
3794
+ #
3795
+ # @example Response structure
3796
+ #
3797
+ # resp.o_auth_authorization_url #=> String
3798
+ #
3799
+ # @overload start_account_association_refresh(params = {})
3800
+ # @param [Hash] params ({})
3801
+ def start_account_association_refresh(params = {}, options = {})
3802
+ req = build_request(:start_account_association_refresh, params)
3803
+ req.send_request(options)
3804
+ end
3805
+
3806
+ # This API is used to start device discovery for hub-connected and
3807
+ # third-party-connected devices. The authentication material (install
3808
+ # code) is passed as a message to the controller telling it to start the
3809
+ # discovery.
2663
3810
  #
2664
3811
  # @option params [required, String] :discovery_type
2665
3812
  # The discovery type supporting the type of device to be discovered in
2666
- # the device discovery job request.
3813
+ # the device discovery task request.
3814
+ #
3815
+ # @option params [Hash<String,String>] :custom_protocol_detail
3816
+ # Additional protocol-specific details required for device discovery,
3817
+ # which vary based on the discovery type.
3818
+ #
3819
+ # <note markdown="1"> For a `DiscoveryType` of `CUSTOM`, the string-to-string map must have
3820
+ # a key value of `Name` set to a non-empty-string.
3821
+ #
3822
+ # </note>
2667
3823
  #
2668
3824
  # @option params [String] :controller_identifier
2669
3825
  # The id of the end-user's IoT hub.
@@ -2671,6 +3827,10 @@ module Aws::IoTManagedIntegrations
2671
3827
  # @option params [String] :connector_association_identifier
2672
3828
  # The id of the connector association.
2673
3829
  #
3830
+ # @option params [String] :account_association_id
3831
+ # The identifier of the cloud-to-cloud account association to use for
3832
+ # discovery of third-party devices.
3833
+ #
2674
3834
  # @option params [String] :authentication_material
2675
3835
  # The authentication material required to start the local device
2676
3836
  # discovery job request.
@@ -2696,9 +3856,13 @@ module Aws::IoTManagedIntegrations
2696
3856
  # @example Request syntax with placeholder values
2697
3857
  #
2698
3858
  # resp = client.start_device_discovery({
2699
- # discovery_type: "ZWAVE", # required, accepts ZWAVE, ZIGBEE, CLOUD
3859
+ # discovery_type: "ZWAVE", # required, accepts ZWAVE, ZIGBEE, CLOUD, CUSTOM
3860
+ # custom_protocol_detail: {
3861
+ # "CustomProtocolDetailKey" => "CustomProtocolDetailValue",
3862
+ # },
2700
3863
  # controller_identifier: "ManagedThingId",
2701
3864
  # connector_association_identifier: "ConnectorAssociationId",
3865
+ # account_association_id: "AccountAssociationId",
2702
3866
  # authentication_material: "DiscoveryAuthMaterialString",
2703
3867
  # authentication_material_type: "ZWAVE_INSTALL_CODE", # accepts ZWAVE_INSTALL_CODE
2704
3868
  # client_token: "ClientToken",
@@ -2719,6 +3883,180 @@ module Aws::IoTManagedIntegrations
2719
3883
  req.send_request(options)
2720
3884
  end
2721
3885
 
3886
+ # Add tags for the specified resource.
3887
+ #
3888
+ # @option params [required, String] :resource_arn
3889
+ # The ARN of the resource to which to add tags.
3890
+ #
3891
+ # @option params [required, Hash<String,String>] :tags
3892
+ # A set of key/value pairs that are used to manage the resource
3893
+ #
3894
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3895
+ #
3896
+ # @example Request syntax with placeholder values
3897
+ #
3898
+ # resp = client.tag_resource({
3899
+ # resource_arn: "IoTManagedIntegrationsResourceARN", # required
3900
+ # tags: { # required
3901
+ # "TagKey" => "TagValue",
3902
+ # },
3903
+ # })
3904
+ #
3905
+ # @overload tag_resource(params = {})
3906
+ # @param [Hash] params ({})
3907
+ def tag_resource(params = {}, options = {})
3908
+ req = build_request(:tag_resource, params)
3909
+ req.send_request(options)
3910
+ end
3911
+
3912
+ # Remove tags for the specified resource.
3913
+ #
3914
+ # @option params [required, String] :resource_arn
3915
+ # The ARN of the resource to which to add tags.
3916
+ #
3917
+ # @option params [required, Array<String>] :tag_keys
3918
+ # A list of tag keys to remove from the resource.
3919
+ #
3920
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3921
+ #
3922
+ # @example Request syntax with placeholder values
3923
+ #
3924
+ # resp = client.untag_resource({
3925
+ # resource_arn: "IoTManagedIntegrationsResourceARN", # required
3926
+ # tag_keys: ["TagKey"], # required
3927
+ # })
3928
+ #
3929
+ # @overload untag_resource(params = {})
3930
+ # @param [Hash] params ({})
3931
+ def untag_resource(params = {}, options = {})
3932
+ req = build_request(:untag_resource, params)
3933
+ req.send_request(options)
3934
+ end
3935
+
3936
+ # Updates the properties of an existing account association.
3937
+ #
3938
+ # @option params [required, String] :account_association_id
3939
+ # The unique identifier of the account association to update.
3940
+ #
3941
+ # @option params [String] :name
3942
+ # The new name to assign to the account association.
3943
+ #
3944
+ # @option params [String] :description
3945
+ # The new description to assign to the account association.
3946
+ #
3947
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3948
+ #
3949
+ # @example Request syntax with placeholder values
3950
+ #
3951
+ # resp = client.update_account_association({
3952
+ # account_association_id: "AccountAssociationId", # required
3953
+ # name: "AccountAssociationName",
3954
+ # description: "AccountAssociationDescription",
3955
+ # })
3956
+ #
3957
+ # @overload update_account_association(params = {})
3958
+ # @param [Hash] params ({})
3959
+ def update_account_association(params = {}, options = {})
3960
+ req = build_request(:update_account_association, params)
3961
+ req.send_request(options)
3962
+ end
3963
+
3964
+ # Update an existing cloud connector.
3965
+ #
3966
+ # @option params [required, String] :identifier
3967
+ # The unique identifier of the cloud connector to update.
3968
+ #
3969
+ # @option params [String] :name
3970
+ # The new display name to assign to the cloud connector.
3971
+ #
3972
+ # @option params [String] :description
3973
+ # The new description to assign to the cloud connector.
3974
+ #
3975
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3976
+ #
3977
+ #
3978
+ # @example Example: UpdateCloudConnector happy path for TP Link to update display name
3979
+ #
3980
+ # resp = client.update_cloud_connector({
3981
+ # identifier: "123456789012",
3982
+ # name: "Connector for TP Link Cloud V2",
3983
+ # })
3984
+ #
3985
+ # @example Example: UpdateCloudConnector error Id for Ring connector which does not exist
3986
+ #
3987
+ # resp = client.update_cloud_connector({
3988
+ # identifier: "123456789012",
3989
+ # name: "Connector for Ring Cloud",
3990
+ # })
3991
+ #
3992
+ # @example Request syntax with placeholder values
3993
+ #
3994
+ # resp = client.update_cloud_connector({
3995
+ # identifier: "CloudConnectorId", # required
3996
+ # name: "DisplayName",
3997
+ # description: "CloudConnectorDescription",
3998
+ # })
3999
+ #
4000
+ # @overload update_cloud_connector(params = {})
4001
+ # @param [Hash] params ({})
4002
+ def update_cloud_connector(params = {}, options = {})
4003
+ req = build_request(:update_cloud_connector, params)
4004
+ req.send_request(options)
4005
+ end
4006
+
4007
+ # Updates the properties of an existing connector destination.
4008
+ #
4009
+ # @option params [required, String] :identifier
4010
+ # The unique identifier of the connector destination to update.
4011
+ #
4012
+ # @option params [String] :description
4013
+ # The new description to assign to the connector destination.
4014
+ #
4015
+ # @option params [String] :name
4016
+ # The new display name to assign to the connector destination.
4017
+ #
4018
+ # @option params [String] :auth_type
4019
+ # The new authentication type to use for the connector destination.
4020
+ #
4021
+ # @option params [Types::AuthConfigUpdate] :auth_config
4022
+ # The updated authentication configuration details for the connector
4023
+ # destination.
4024
+ #
4025
+ # @option params [Types::SecretsManager] :secrets_manager
4026
+ # The updated AWS Secrets Manager configuration for the connector
4027
+ # destination.
4028
+ #
4029
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4030
+ #
4031
+ # @example Request syntax with placeholder values
4032
+ #
4033
+ # resp = client.update_connector_destination({
4034
+ # identifier: "ConnectorDestinationId", # required
4035
+ # description: "ConnectorDestinationDescription",
4036
+ # name: "ConnectorDestinationName",
4037
+ # auth_type: "OAUTH", # accepts OAUTH
4038
+ # auth_config: {
4039
+ # o_auth_update: {
4040
+ # o_auth_complete_redirect_url: "String",
4041
+ # proactive_refresh_token_renewal: {
4042
+ # enabled: false,
4043
+ # days_before_renewal: 1,
4044
+ # },
4045
+ # },
4046
+ # },
4047
+ # secrets_manager: {
4048
+ # arn: "SecretsManagerArn", # required
4049
+ # version_id: "SecretsManagerVersionId", # required
4050
+ # },
4051
+ # })
4052
+ #
4053
+ # @overload update_connector_destination(params = {})
4054
+ # @param [Hash] params ({})
4055
+ def update_connector_destination(params = {}, options = {})
4056
+ req = build_request(:update_connector_destination, params)
4057
+ req.send_request(options)
4058
+ end
4059
+
2722
4060
  # Update a destination specified by id.
2723
4061
  #
2724
4062
  # @option params [required, String] :name
@@ -2807,6 +4145,10 @@ module Aws::IoTManagedIntegrations
2807
4145
  # @option params [Types::CapabilityReport] :capability_report
2808
4146
  # A report of the capabilities for the managed thing.
2809
4147
  #
4148
+ # @option params [Array<Types::CapabilitySchemaItem>] :capability_schemas
4149
+ # The updated capability schemas that define the functionality and
4150
+ # features supported by the managed thing.
4151
+ #
2810
4152
  # @option params [String] :capabilities
2811
4153
  # The capabilities of the device such as light bulb.
2812
4154
  #
@@ -2852,6 +4194,16 @@ module Aws::IoTManagedIntegrations
2852
4194
  # },
2853
4195
  # ],
2854
4196
  # },
4197
+ # capability_schemas: [
4198
+ # {
4199
+ # format: "AWS", # required, accepts AWS, ZCL, CONNECTOR
4200
+ # capability_id: "SchemaVersionedId", # required
4201
+ # extrinsic_id: "ExtrinsicSchemaId", # required
4202
+ # extrinsic_version: 1, # required
4203
+ # schema: { # required
4204
+ # },
4205
+ # },
4206
+ # ],
2855
4207
  # capabilities: "Capabilities",
2856
4208
  # classification: "Classification",
2857
4209
  # hub_network_mode: "STANDARD", # accepts STANDARD, NETWORK_WIDE_EXCLUSION
@@ -2881,7 +4233,7 @@ module Aws::IoTManagedIntegrations
2881
4233
  # @example Request syntax with placeholder values
2882
4234
  #
2883
4235
  # 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
4236
+ # 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
4237
  # destination_name: "DestinationName", # required
2886
4238
  # })
2887
4239
  #
@@ -2938,7 +4290,7 @@ module Aws::IoTManagedIntegrations
2938
4290
  tracer: tracer
2939
4291
  )
2940
4292
  context[:gem_name] = 'aws-sdk-iotmanagedintegrations'
2941
- context[:gem_version] = '1.3.0'
4293
+ context[:gem_version] = '1.5.0'
2942
4294
  Seahorse::Client::Request.new(handlers, context)
2943
4295
  end
2944
4296