Skip to content

Commit 21bcc7d

Browse files
Release connectivity status query API which is a dedicated high throughput(TPS) API to query a specific device's most recent connectivity state and metadata.
1 parent 216e571 commit 21bcc7d

19 files changed

+1211
-29
lines changed

generator/ServiceModels/iot/iot-2015-05-28.api.json

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2382,6 +2382,24 @@
23822382
{"shape":"IndexNotReadyException"}
23832383
]
23842384
},
2385+
"GetThingConnectivityData":{
2386+
"name":"GetThingConnectivityData",
2387+
"http":{
2388+
"method":"POST",
2389+
"requestUri":"/things/{thingName}/connectivity-data"
2390+
},
2391+
"input":{"shape":"GetThingConnectivityDataRequest"},
2392+
"output":{"shape":"GetThingConnectivityDataResponse"},
2393+
"errors":[
2394+
{"shape":"InvalidRequestException"},
2395+
{"shape":"ThrottlingException"},
2396+
{"shape":"UnauthorizedException"},
2397+
{"shape":"ServiceUnavailableException"},
2398+
{"shape":"InternalFailureException"},
2399+
{"shape":"ResourceNotFoundException"},
2400+
{"shape":"IndexNotReadyException"}
2401+
]
2402+
},
23852403
"GetTopicRule":{
23862404
"name":"GetTopicRule",
23872405
"http":{
@@ -6041,6 +6059,13 @@
60416059
"max":128,
60426060
"pattern":"[a-zA-Z0-9:.]+"
60436061
},
6062+
"ConnectivityApiThingName":{
6063+
"type":"string",
6064+
"max":128,
6065+
"min":1,
6066+
"pattern":"[a-zA-Z0-9:_-]+",
6067+
"sensitive":true
6068+
},
60446069
"ConnectivityTimestamp":{"type":"long"},
60456070
"ConsecutiveDatapointsToAlarm":{
60466071
"type":"integer",
@@ -8705,6 +8730,25 @@
87058730
}
87068731
},
87078732
"DisconnectReason":{"type":"string"},
8733+
"DisconnectReasonValue":{
8734+
"type":"string",
8735+
"enum":[
8736+
"AUTH_ERROR",
8737+
"CLIENT_INITIATED_DISCONNECT",
8738+
"CLIENT_ERROR",
8739+
"CONNECTION_LOST",
8740+
"DUPLICATE_CLIENTID",
8741+
"FORBIDDEN_ACCESS",
8742+
"MQTT_KEEP_ALIVE_TIMEOUT",
8743+
"SERVER_ERROR",
8744+
"SERVER_INITIATED_DISCONNECT",
8745+
"THROTTLED",
8746+
"WEBSOCKET_TTL_EXPIRATION",
8747+
"CUSTOMAUTH_TTL_EXPIRATION",
8748+
"UNKNOWN",
8749+
"NONE"
8750+
]
8751+
},
87088752
"DisplayName":{
87098753
"type":"string",
87108754
"max":64,
@@ -9502,6 +9546,26 @@
95029546
"statistics":{"shape":"Statistics"}
95039547
}
95049548
},
9549+
"GetThingConnectivityDataRequest":{
9550+
"type":"structure",
9551+
"required":["thingName"],
9552+
"members":{
9553+
"thingName":{
9554+
"shape":"ConnectivityApiThingName",
9555+
"location":"uri",
9556+
"locationName":"thingName"
9557+
}
9558+
}
9559+
},
9560+
"GetThingConnectivityDataResponse":{
9561+
"type":"structure",
9562+
"members":{
9563+
"thingName":{"shape":"ConnectivityApiThingName"},
9564+
"connected":{"shape":"Boolean"},
9565+
"timestamp":{"shape":"Timestamp"},
9566+
"disconnectReason":{"shape":"DisconnectReasonValue"}
9567+
}
9568+
},
95059569
"GetTopicRuleDestinationRequest":{
95069570
"type":"structure",
95079571
"required":["arn"],

generator/ServiceModels/iot/iot-2015-05-28.docs.json

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@
147147
"GetPolicyVersion": "<p>Gets information about the specified policy version.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">GetPolicyVersion</a> action.</p>",
148148
"GetRegistrationCode": "<p>Gets a registration code used to register a CA certificate with IoT.</p> <p>IoT will create a registration code as part of this API call if the registration code doesn't exist or has been deleted. If you already have a registration code, this API call will return the same registration code.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">GetRegistrationCode</a> action.</p>",
149149
"GetStatistics": "<p>Returns the count, average, sum, minimum, maximum, sum of squares, variance, and standard deviation for the specified aggregated field. If the aggregation field is of type <code>String</code>, only the count statistic is returned.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">GetStatistics</a> action.</p>",
150+
"GetThingConnectivityData": "<p>Retrieves the live connectivity status per device.</p>",
150151
"GetTopicRule": "<p>Gets information about the rule.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">GetTopicRule</a> action.</p>",
151152
"GetTopicRuleDestination": "<p>Gets information about a topic rule destination.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">GetTopicRuleDestination</a> action.</p>",
152153
"GetV2LoggingOptions": "<p>Gets the fine grained logging options.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">GetV2LoggingOptions</a> action.</p>",
@@ -163,7 +164,7 @@
163164
"ListCertificateProviders": "<p>Lists all your certificate providers in your Amazon Web Services account.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">ListCertificateProviders</a> action. </p>",
164165
"ListCertificates": "<p>Lists the certificates registered in your Amazon Web Services account.</p> <p>The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">ListCertificates</a> action.</p>",
165166
"ListCertificatesByCA": "<p>List the device certificates signed by the specified CA certificate.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">ListCertificatesByCA</a> action.</p>",
166-
"ListCommandExecutions": "<p>List all command executions.</p> <important> <p>You must provide only the <code>startedTimeFilter</code> or the <code>completedTimeFilter</code> information. If you provide both time filters, the API will generate an error. You can use this information to find command executions that started within a specific timeframe.</p> </important>",
167+
"ListCommandExecutions": "<p>List all command executions.</p> <important> <ul> <li> <p>You must provide only the <code>startedTimeFilter</code> or the <code>completedTimeFilter</code> information. If you provide both time filters, the API will generate an error. You can use this information to retrieve a list of command executions within a specific timeframe.</p> </li> <li> <p>You must provide only the <code>commandArn</code> or the <code>thingArn</code> information depending on whether you want to list executions for a specific command or an IoT thing. If you provide both fields, the API will generate an error.</p> </li> </ul> <p>For more information about considerations for using this API, see <a href=\"https://docs.aws.amazon.com/iot/latest/developerguide/iot-remote-command-execution-start-monitor.html#iot-remote-command-execution-list-cli\">List command executions in your account (CLI)</a>.</p> </important>",
167168
"ListCommands": "<p>List all commands in your account.</p>",
168169
"ListCustomMetrics": "<p> Lists your Device Defender detect custom metrics. </p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">ListCustomMetrics</a> action.</p>",
169170
"ListDetectMitigationActionsExecutions": "<p> Lists mitigation actions executions for a Device Defender ML Detect Security Profile. </p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">ListDetectMitigationActionsExecutions</a> action.</p>",
@@ -1382,6 +1383,7 @@
13821383
"Boolean": {
13831384
"base": null,
13841385
"refs": {
1386+
"GetThingConnectivityDataResponse$connected": "<p>A Boolean that indicates the connectivity status.</p>",
13851387
"ThingConnectivity$connected": "<p>True if the thing is connected to the Amazon Web Services IoT Core service; false if it is not connected.</p>",
13861388
"ThingTypeMetadata$deprecated": "<p>Whether the thing type is deprecated. If <b>true</b>, no new things could be associated with this type.</p>"
13871389
}
@@ -2119,6 +2121,13 @@
21192121
"PropagatingAttribute$connectionAttribute": "<p>The attribute associated with the connection between a device and Amazon Web Services IoT Core.</p>"
21202122
}
21212123
},
2124+
"ConnectivityApiThingName": {
2125+
"base": null,
2126+
"refs": {
2127+
"GetThingConnectivityDataRequest$thingName": "<p>The name of your IoT thing.</p>",
2128+
"GetThingConnectivityDataResponse$thingName": "<p>The name of your IoT thing.</p>"
2129+
}
2130+
},
21222131
"ConnectivityTimestamp": {
21232132
"base": null,
21242133
"refs": {
@@ -2587,7 +2596,7 @@
25872596
"GetCommandExecutionResponse$lastUpdatedAt": "<p>The timestamp, when the command execution was last updated.</p>",
25882597
"GetCommandExecutionResponse$startedAt": "<p>The timestamp, when the command execution was started.</p>",
25892598
"GetCommandExecutionResponse$completedAt": "<p>The timestamp, when the command execution was completed.</p>",
2590-
"GetCommandExecutionResponse$timeToLive": "<p>The time to live (TTL) parameter for the <code>GetCommandExecution</code> API.</p>",
2599+
"GetCommandExecutionResponse$timeToLive": "<p>The time to live (TTL) parameter that indicates the duration for which executions will be retained in your account. The default value is six months.</p>",
25912600
"GetCommandResponse$createdAt": "<p>The timestamp, when the command was created.</p>",
25922601
"GetCommandResponse$lastUpdatedAt": "<p>The timestamp, when the command was last updated.</p>",
25932602
"GetPolicyResponse$creationDate": "<p>The date the policy was created.</p>",
@@ -3622,6 +3631,12 @@
36223631
"ThingConnectivity$disconnectReason": "<p>The reason why the client is disconnected. If the thing has been disconnected for approximately an hour, the <code>disconnectReason</code> value might be missing.</p>"
36233632
}
36243633
},
3634+
"DisconnectReasonValue": {
3635+
"base": null,
3636+
"refs": {
3637+
"GetThingConnectivityDataResponse$disconnectReason": "<p>The reason why the client is disconnecting.</p>"
3638+
}
3639+
},
36253640
"DisplayName": {
36263641
"base": null,
36273642
"refs": {
@@ -4362,6 +4377,16 @@
43624377
"refs": {
43634378
}
43644379
},
4380+
"GetThingConnectivityDataRequest": {
4381+
"base": null,
4382+
"refs": {
4383+
}
4384+
},
4385+
"GetThingConnectivityDataResponse": {
4386+
"base": null,
4387+
"refs": {
4388+
}
4389+
},
43654390
"GetTopicRuleDestinationRequest": {
43664391
"base": null,
43674392
"refs": {
@@ -7576,7 +7601,7 @@
75767601
"refs": {
75777602
"AlertTarget$roleArn": "<p>The ARN of the role that grants permission to send alerts to the notification target.</p>",
75787603
"AuditNotificationTarget$roleArn": "<p>The ARN of the role that grants permission to send notifications to the target.</p>",
7579-
"CreateCommandRequest$roleArn": "<p>The IAM role that allows access to create the command.</p>",
7604+
"CreateCommandRequest$roleArn": "<p>The IAM role that you must provide when using the <code>AWS-IoT-FleetWise</code> namespace. The role grants IoT Device Management the permission to access IoT FleetWise resources for generating the payload for the command. This field is not required when you use the <code>AWS-IoT</code> namespace.</p>",
75807605
"CreateMitigationActionRequest$roleArn": "<p>The ARN of the IAM role that is used to apply the mitigation action.</p>",
75817606
"CreateOTAUpdateRequest$roleArn": "<p>The IAM role that grants Amazon Web Services IoT Core access to the Amazon S3, IoT jobs and Amazon Web Services Code Signing resources to create an OTA update job.</p>",
75827607
"CreateProvisioningTemplateRequest$provisioningRoleArn": "<p>The role ARN for the role associated with the provisioning template. This IoT role grants permission to provision a device.</p>",
@@ -7587,7 +7612,7 @@
75877612
"DescribeProvisioningTemplateResponse$provisioningRoleArn": "<p>The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.</p>",
75887613
"DescribeThingRegistrationTaskResponse$roleArn": "<p>The role ARN that grants access to the input file bucket.</p>",
75897614
"EnableIoTLoggingParams$roleArnForLogging": "<p>The Amazon Resource Name (ARN) of the IAM role used for logging.</p>",
7590-
"GetCommandResponse$roleArn": "<p>The IAM role that allows access to retrieve information about the command.</p>",
7615+
"GetCommandResponse$roleArn": "<p>The IAM role that you provided when creating the command with <code>AWS-IoT-FleetWise</code> as the namespace.</p>",
75917616
"MetricsExportConfig$roleArn": "<p>This role ARN has permission to publish MQTT messages, after which Device Defender Detect can assume the role and publish messages on your behalf.</p>",
75927617
"MitigationAction$roleArn": "<p>The IAM role ARN used to apply this mitigation action.</p>",
75937618
"PresignedUrlConfig$roleArn": "<p>The ARN of an IAM role that grants permission to download files from the S3 bucket where the job data/updates are stored. The role must also grant permission for IoT to download the files.</p> <important> <p>For information about addressing the confused deputy problem, see <a href=\"https://docs.aws.amazon.com/iot/latest/developerguide/cross-service-confused-deputy-prevention.html\">cross-service confused deputy prevention</a> in the <i>Amazon Web Services IoT Core developer guide</i>.</p> </important>",
@@ -9149,6 +9174,7 @@
91499174
"DetectMitigationActionExecution$executionEndDate": "<p> The date a mitigation action ended. </p>",
91509175
"DetectMitigationActionsTaskSummary$taskStartTime": "<p> The date the task started. </p>",
91519176
"DetectMitigationActionsTaskSummary$taskEndTime": "<p> The date the task ended. </p>",
9177+
"GetThingConnectivityDataResponse$timestamp": "<p>The timestamp of when the event occurred.</p>",
91529178
"ListAuditFindingsRequest$startTime": "<p>A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.</p>",
91539179
"ListAuditFindingsRequest$endTime": "<p>A filter to limit results to those found before the specified time. You must specify either the startTime and endTime or the taskId, but not both.</p>",
91549180
"ListAuditMitigationActionsTasksRequest$startTime": "<p>Specify this filter to limit results to tasks that began on or after a specific date and time.</p>",

0 commit comments

Comments
 (0)