Skip to content

Commit 18eaa2a

Browse files
author
AWS
committed
Managed integrations for AWS IoT Device Management Update: Add a new GetManagedThingCertificate API to expose Iot ManagedIntegrations (MI) device certificate, and add "-" support for name, properties, actions and events in the CapabilityReportCapability object.
1 parent 6c361c1 commit 18eaa2a

File tree

2 files changed

+91
-29
lines changed

2 files changed

+91
-29
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "Managed integrations for AWS IoT Device Management",
4+
"contributor": "",
5+
"description": "Add a new GetManagedThingCertificate API to expose Iot ManagedIntegrations (MI) device certificate, and add \"-\" support for name, properties, actions and events in the CapabilityReportCapability object."
6+
}

services/iotmanagedintegrations/src/main/resources/codegen-resources/service-2.json

Lines changed: 85 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
{"shape":"ValidationException"},
2727
{"shape":"AccessDeniedException"},
2828
{"shape":"InternalServerException"},
29+
{"shape":"UnauthorizedException"},
2930
{"shape":"ConflictException"},
3031
{"shape":"ServiceUnavailableException"},
3132
{"shape":"ThrottlingException"},
@@ -64,8 +65,10 @@
6465
{"shape":"AccessDeniedException"},
6566
{"shape":"ValidationException"},
6667
{"shape":"InternalServerException"},
68+
{"shape":"UnauthorizedException"},
6769
{"shape":"ConflictException"},
68-
{"shape":"ThrottlingException"}
70+
{"shape":"ThrottlingException"},
71+
{"shape":"ResourceNotFoundException"}
6972
],
7073
"documentation":"<p>Create a connector destination for connecting a cloud-to-cloud (C2C) connector to the customer's Amazon Web Services account.</p>"
7174
},
@@ -87,7 +90,7 @@
8790
{"shape":"ServiceUnavailableException"},
8891
{"shape":"ThrottlingException"}
8992
],
90-
"documentation":"<p>Create a product credential locker. This operation will trigger the creation of all the manufacturing resources including the Wi-Fi setup key pair and device certificate.</p>"
93+
"documentation":"<p>Create a credential locker.</p> <note> <p>This operation will not trigger the creation of all the manufacturing resources.</p> </note>"
9194
},
9295
"CreateDestination":{
9396
"name":"CreateDestination",
@@ -105,7 +108,7 @@
105108
{"shape":"ConflictException"},
106109
{"shape":"ThrottlingException"}
107110
],
108-
"documentation":"<p> Create a destination. IoT managed integrations uses the destination to determine where to deliver notifications for a device. </p>"
111+
"documentation":"<p> Create a notification destination such as Kinesis Data Streams that receive events and notifications from Managed integrations. Managed integrations uses the destination to determine where to deliver notifications.</p>"
109112
},
110113
"CreateEventLogConfiguration":{
111114
"name":"CreateEventLogConfiguration",
@@ -145,7 +148,7 @@
145148
{"shape":"ResourceNotFoundException"},
146149
{"shape":"ThrottlingException"}
147150
],
148-
"documentation":"<p>Creates a managed thing. A managed thing contains the device identifier, protocol supported, and capabilities of the device in a protocol-specific format.</p>"
151+
"documentation":"<p>Creates a managed thing. A managed thing contains the device identifier, protocol supported, and capabilities of the device in a data model format defined by Managed integrations.</p>"
149152
},
150153
"CreateNotificationConfiguration":{
151154
"name":"CreateNotificationConfiguration",
@@ -183,7 +186,7 @@
183186
{"shape":"ThrottlingException"},
184187
{"shape":"ResourceNotFoundException"}
185188
],
186-
"documentation":"<p>Create an over-the-air (OTA) task to update a device.</p>"
189+
"documentation":"<p>Create an over-the-air (OTA) task to target a device.</p>"
187190
},
188191
"CreateOtaTaskConfiguration":{
189192
"name":"CreateOtaTaskConfiguration",
@@ -240,7 +243,7 @@
240243
{"shape":"ResourceNotFoundException"},
241244
{"shape":"ThrottlingException"}
242245
],
243-
"documentation":"<p>Remove a third party account and related devices from an end user.</p>",
246+
"documentation":"<p>Remove a third-party account association for an end user.</p> <note> <p>You must first call the <code>DeregisterAccountAssociation</code> to remove the connection between the managed thing and the third-party account before calling the <code>DeleteAccountAssociation</code> API.</p> </note>",
244247
"idempotent":true
245248
},
246249
"DeleteCloudConnector":{
@@ -255,6 +258,7 @@
255258
{"shape":"AccessDeniedException"},
256259
{"shape":"ValidationException"},
257260
{"shape":"InternalServerException"},
261+
{"shape":"UnauthorizedException"},
258262
{"shape":"ResourceNotFoundException"},
259263
{"shape":"ThrottlingException"}
260264
],
@@ -276,7 +280,7 @@
276280
{"shape":"ResourceNotFoundException"},
277281
{"shape":"ThrottlingException"}
278282
],
279-
"documentation":"<p>Delete a connector destination for connecting a cloud-to-cloud (C2C) connector to the customer's Amazon Web Services account.</p>",
283+
"documentation":"<p>Delete a connector destination linked to a cloud-to-cloud (C2C) connector.</p> <note> <p>Deletion can't be done if the account association has used this connector destination.</p> </note>",
280284
"idempotent":true
281285
},
282286
"DeleteCredentialLocker":{
@@ -313,7 +317,7 @@
313317
{"shape":"ResourceNotFoundException"},
314318
{"shape":"ThrottlingException"}
315319
],
316-
"documentation":"<p>Deletes a customer-managed destination specified by id. </p>",
320+
"documentation":"<p>Deletes a notification destination specified by name. </p>",
317321
"idempotent":true
318322
},
319323
"DeleteEventLogConfiguration":{
@@ -352,7 +356,7 @@
352356
{"shape":"ResourceNotFoundException"},
353357
{"shape":"ThrottlingException"}
354358
],
355-
"documentation":"<p>Delete a managed thing. If a controller is deleted, all of the devices connected to it will have their status changed to <code>PENDING</code>. It is not possible to remove a cloud device.</p>",
359+
"documentation":"<p>Delete a managed thing. For direct-connected and hub-connected devices connecting with Managed integrations via a controller, all of the devices connected to it will have their status changed to <code>PENDING</code>. It is not possible to remove a cloud-to-cloud device.</p>",
356360
"idempotent":true
357361
},
358362
"DeleteNotificationConfiguration":{
@@ -445,7 +449,7 @@
445449
{"shape":"ThrottlingException"},
446450
{"shape":"ResourceNotFoundException"}
447451
],
448-
"documentation":"<p>Deregisters an account association, removing the connection between a managed thing and a third-party account.</p>",
452+
"documentation":"<p>Deregister an account association from a managed thing.</p>",
449453
"idempotent":true
450454
},
451455
"GetAccountAssociation":{
@@ -483,7 +487,7 @@
483487
{"shape":"ResourceNotFoundException"},
484488
{"shape":"ThrottlingException"}
485489
],
486-
"documentation":"<p>Gets all the information about a connector for a connector developer.</p>"
490+
"documentation":"<p>Get configuration details for a cloud connector.</p>"
487491
},
488492
"GetConnectorDestination":{
489493
"name":"GetConnectorDestination",
@@ -501,7 +505,7 @@
501505
{"shape":"ResourceNotFoundException"},
502506
{"shape":"ThrottlingException"}
503507
],
504-
"documentation":"<p>Get a connector destination of a cloud-to-cloud (C2C) connector connecting to a customer's Amazon Web Services account.</p>"
508+
"documentation":"<p>Get connector destination details linked to a cloud-to-cloud (C2C) connector.</p>"
505509
},
506510
"GetCredentialLocker":{
507511
"name":"GetCredentialLocker",
@@ -578,7 +582,7 @@
578582
{"shape":"ResourceNotFoundException"},
579583
{"shape":"ThrottlingException"}
580584
],
581-
"documentation":"<p>Gets a destination by ID. </p>"
585+
"documentation":"<p>Gets a destination by name. </p>"
582586
},
583587
"GetDeviceDiscovery":{
584588
"name":"GetDeviceDiscovery",
@@ -655,7 +659,7 @@
655659
{"shape":"ResourceNotFoundException"},
656660
{"shape":"ThrottlingException"}
657661
],
658-
"documentation":"<p> Get the attributes and capabilities associated with a managed thing.</p>"
662+
"documentation":"<p> Get details of a managed thing including its attributes and capabilities.</p>"
659663
},
660664
"GetManagedThingCapabilities":{
661665
"name":"GetManagedThingCapabilities",
@@ -677,6 +681,26 @@
677681
],
678682
"documentation":"<p>Get the capabilities for a managed thing using the device ID.</p>"
679683
},
684+
"GetManagedThingCertificate":{
685+
"name":"GetManagedThingCertificate",
686+
"http":{
687+
"method":"GET",
688+
"requestUri":"/managed-things-certificate/{Identifier}",
689+
"responseCode":200
690+
},
691+
"input":{"shape":"GetManagedThingCertificateRequest"},
692+
"output":{"shape":"GetManagedThingCertificateResponse"},
693+
"errors":[
694+
{"shape":"ValidationException"},
695+
{"shape":"AccessDeniedException"},
696+
{"shape":"InternalServerException"},
697+
{"shape":"UnauthorizedException"},
698+
{"shape":"ServiceUnavailableException"},
699+
{"shape":"ResourceNotFoundException"},
700+
{"shape":"ThrottlingException"}
701+
],
702+
"documentation":"<p>Retrieves the certificate PEM for a managed IoT thing.</p>"
703+
},
680704
"GetManagedThingConnectivityData":{
681705
"name":"GetManagedThingConnectivityData",
682706
"http":{
@@ -753,7 +777,7 @@
753777
{"shape":"ResourceNotFoundException"},
754778
{"shape":"ThrottlingException"}
755779
],
756-
"documentation":"<p> Get a notification configuration.</p>"
780+
"documentation":"<p> Get a notification configuration for a specified event type.</p>"
757781
},
758782
"GetOtaTask":{
759783
"name":"GetOtaTask",
@@ -771,7 +795,7 @@
771795
{"shape":"ResourceNotFoundException"},
772796
{"shape":"ThrottlingException"}
773797
],
774-
"documentation":"<p>Get the over-the-air (OTA) task.</p>"
798+
"documentation":"<p>Get details of the over-the-air (OTA) task by its task id.</p>"
775799
},
776800
"GetOtaTaskConfiguration":{
777801
"name":"GetOtaTaskConfiguration",
@@ -827,7 +851,7 @@
827851
{"shape":"ResourceNotFoundException"},
828852
{"shape":"ThrottlingException"}
829853
],
830-
"documentation":"<p>Get the runtime log configuration for a specific managed thing or for all managed things as a group.</p>"
854+
"documentation":"<p>Get the runtime log configuration for a specific managed thing.</p>"
831855
},
832856
"GetSchemaVersion":{
833857
"name":"GetSchemaVersion",
@@ -882,7 +906,7 @@
882906
{"shape":"InternalServerException"},
883907
{"shape":"ThrottlingException"}
884908
],
885-
"documentation":"<p>Returns a list of connectors based on permissions. </p>"
909+
"documentation":"<p>Returns a list of connectors filtered by its Lambda Amazon Resource Name (ARN) and <code>type</code>.</p>"
886910
},
887911
"ListConnectorDestinations":{
888912
"name":"ListConnectorDestinations",
@@ -934,7 +958,7 @@
934958
{"shape":"InternalServerException"},
935959
{"shape":"ThrottlingException"}
936960
],
937-
"documentation":"<p> List all destination names under one Amazon Web Services account.</p>"
961+
"documentation":"<p> List all notification destinations.</p>"
938962
},
939963
"ListDeviceDiscoveries":{
940964
"name":"ListDeviceDiscoveries",
@@ -1286,7 +1310,7 @@
12861310
{"shape":"ResourceNotFoundException"},
12871311
{"shape":"ThrottlingException"}
12881312
],
1289-
"documentation":"<p>Reset a runtime log configuration for a specific managed thing or for all managed things as a group.</p>",
1313+
"documentation":"<p>Reset a runtime log configuration for a specific managed thing.</p>",
12901314
"idempotent":true
12911315
},
12921316
"SendConnectorEvent":{
@@ -1367,7 +1391,7 @@
13671391
{"shape":"ResourceNotFoundException"},
13681392
{"shape":"ThrottlingException"}
13691393
],
1370-
"documentation":"<p> This API is used to start device discovery for hub-connected and third-party-connected devices. The authentication material (install code) is passed as a message to the controller telling it to start the discovery.</p>"
1394+
"documentation":"<p> This API is used to start device discovery for hub-connected and third-party-connected devices. The authentication material (install code) is delivered as a message to the controller instructing it to start the discovery.</p>"
13711395
},
13721396
"TagResource":{
13731397
"name":"TagResource",
@@ -1439,6 +1463,7 @@
14391463
{"shape":"AccessDeniedException"},
14401464
{"shape":"ValidationException"},
14411465
{"shape":"InternalServerException"},
1466+
{"shape":"UnauthorizedException"},
14421467
{"shape":"ResourceNotFoundException"},
14431468
{"shape":"ThrottlingException"}
14441469
],
@@ -1478,7 +1503,7 @@
14781503
{"shape":"ResourceNotFoundException"},
14791504
{"shape":"ThrottlingException"}
14801505
],
1481-
"documentation":"<p> Update a destination specified by id. </p>",
1506+
"documentation":"<p> Update a destination specified by name. </p>",
14821507
"idempotent":true
14831508
},
14841509
"UpdateEventLogConfiguration":{
@@ -1685,7 +1710,7 @@
16851710
"type":"string",
16861711
"max":128,
16871712
"min":1,
1688-
"pattern":"[/a-zA-Z0-9\\._ ]+"
1713+
"pattern":"[/a-zA-Z0-9\\._ -]+"
16891714
},
16901715
"ActionReference":{
16911716
"type":"string",
@@ -1843,7 +1868,7 @@
18431868
"type":"string",
18441869
"max":128,
18451870
"min":1,
1846-
"pattern":"[/a-zA-Z0-9\\._ ]+"
1871+
"pattern":"[/a-zA-Z0-9\\._ -]+"
18471872
},
18481873
"CapabilityProperties":{
18491874
"type":"structure",
@@ -2016,6 +2041,12 @@
20162041
"min":1,
20172042
"pattern":"(0|[1-9][0-9]*)"
20182043
},
2044+
"CertificatePem":{
2045+
"type":"string",
2046+
"max":65536,
2047+
"min":1,
2048+
"pattern":"[\\s\\S]*"
2049+
},
20192050
"ClaimCertificate":{
20202051
"type":"string",
20212052
"sensitive":true
@@ -3450,7 +3481,7 @@
34503481
"type":"string",
34513482
"max":128,
34523483
"min":1,
3453-
"pattern":"[/a-zA-Z0-9\\._ ]+"
3484+
"pattern":"[/a-zA-Z0-9\\._ -]+"
34543485
},
34553486
"EventType":{
34563487
"type":"string",
@@ -3927,6 +3958,31 @@
39273958
}
39283959
}
39293960
},
3961+
"GetManagedThingCertificateRequest":{
3962+
"type":"structure",
3963+
"required":["Identifier"],
3964+
"members":{
3965+
"Identifier":{
3966+
"shape":"ManagedThingId",
3967+
"documentation":"<p>The identifier of the managed thing.</p>",
3968+
"location":"uri",
3969+
"locationName":"Identifier"
3970+
}
3971+
}
3972+
},
3973+
"GetManagedThingCertificateResponse":{
3974+
"type":"structure",
3975+
"members":{
3976+
"ManagedThingId":{
3977+
"shape":"ManagedThingId",
3978+
"documentation":"<p>The identifier of the managed thing.</p>"
3979+
},
3980+
"CertificatePem":{
3981+
"shape":"CertificatePem",
3982+
"documentation":"<p>The PEM-encoded certificate for the managed thing.</p>"
3983+
}
3984+
}
3985+
},
39303986
"GetManagedThingConnectivityDataRequest":{
39313987
"type":"structure",
39323988
"required":["Identifier"],
@@ -4316,7 +4372,7 @@
43164372
},
43174373
"Id":{
43184374
"shape":"ProvisioningProfileId",
4319-
"documentation":"<p>The provisioning profile id..</p>"
4375+
"documentation":"<p>The provisioning profile id.</p>"
43204376
},
43214377
"ClaimCertificate":{
43224378
"shape":"ClaimCertificate",
@@ -6118,7 +6174,7 @@
61186174
"type":"string",
61196175
"max":128,
61206176
"min":1,
6121-
"pattern":"[/a-zA-Z0-9\\._ ]+"
6177+
"pattern":"[/a-zA-Z0-9\\._ -]+"
61226178
},
61236179
"ProvisioningProfileArn":{
61246180
"type":"string",
@@ -6648,7 +6704,7 @@
66486704
},
66496705
"TraceId":{
66506706
"shape":"TraceId",
6651-
"documentation":"<p>The trace request identifier used to correlate a command request and response. This is specified by the device owner, but will be generated by IoT managed integrations if not provided by the device owner.</p>"
6707+
"documentation":"<p>The trace request identifier. This is generated by IoT managed integrations and can be used to trace this command and its related operations in CloudWatch.</p>"
66526708
},
66536709
"Devices":{
66546710
"shape":"Devices",
@@ -6705,7 +6761,7 @@
67056761
"members":{
67066762
"TraceId":{
67076763
"shape":"TraceId",
6708-
"documentation":"<p>The trace request identifier. This is specified by the device owner, but will be generated by IoT managed integrations if not provided by the device owner.</p>"
6764+
"documentation":"<p>The trace request identifier. This is generated by IoT managed integrations and can be used to trace this command and its related operations in CloudWatch.</p>"
67096765
}
67106766
}
67116767
},

0 commit comments

Comments
 (0)