-
Notifications
You must be signed in to change notification settings - Fork 586
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(client-iot): Release connectivity status query API which is a de…
…dicated high throughput(TPS) API to query a specific device's most recent connectivity state and metadata.
- Loading branch information
awstools
committed
Dec 18, 2024
1 parent
be98eba
commit 8709403
Showing
12 changed files
with
670 additions
and
175 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
121 changes: 121 additions & 0 deletions
121
clients/client-iot/src/commands/GetThingConnectivityDataCommand.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
// smithy-typescript generated code | ||
import { getEndpointPlugin } from "@smithy/middleware-endpoint"; | ||
import { getSerdePlugin } from "@smithy/middleware-serde"; | ||
import { Command as $Command } from "@smithy/smithy-client"; | ||
import { MetadataBearer as __MetadataBearer } from "@smithy/types"; | ||
|
||
import { commonParams } from "../endpoint/EndpointParameters"; | ||
import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; | ||
import { | ||
GetThingConnectivityDataRequest, | ||
GetThingConnectivityDataRequestFilterSensitiveLog, | ||
GetThingConnectivityDataResponse, | ||
GetThingConnectivityDataResponseFilterSensitiveLog, | ||
} from "../models/models_1"; | ||
import { de_GetThingConnectivityDataCommand, se_GetThingConnectivityDataCommand } from "../protocols/Aws_restJson1"; | ||
|
||
/** | ||
* @public | ||
*/ | ||
export type { __MetadataBearer }; | ||
export { $Command }; | ||
/** | ||
* @public | ||
* | ||
* The input for {@link GetThingConnectivityDataCommand}. | ||
*/ | ||
export interface GetThingConnectivityDataCommandInput extends GetThingConnectivityDataRequest {} | ||
/** | ||
* @public | ||
* | ||
* The output of {@link GetThingConnectivityDataCommand}. | ||
*/ | ||
export interface GetThingConnectivityDataCommandOutput extends GetThingConnectivityDataResponse, __MetadataBearer {} | ||
|
||
/** | ||
* <p>Retrieves the live connectivity status per device.</p> | ||
* @example | ||
* Use a bare-bones client and the command you need to make an API call. | ||
* ```javascript | ||
* import { IoTClient, GetThingConnectivityDataCommand } from "@aws-sdk/client-iot"; // ES Modules import | ||
* // const { IoTClient, GetThingConnectivityDataCommand } = require("@aws-sdk/client-iot"); // CommonJS import | ||
* const client = new IoTClient(config); | ||
* const input = { // GetThingConnectivityDataRequest | ||
* thingName: "STRING_VALUE", // required | ||
* }; | ||
* const command = new GetThingConnectivityDataCommand(input); | ||
* const response = await client.send(command); | ||
* // { // GetThingConnectivityDataResponse | ||
* // thingName: "STRING_VALUE", | ||
* // connected: true || false, | ||
* // timestamp: new Date("TIMESTAMP"), | ||
* // disconnectReason: "AUTH_ERROR" || "CLIENT_INITIATED_DISCONNECT" || "CLIENT_ERROR" || "CONNECTION_LOST" || "DUPLICATE_CLIENTID" || "FORBIDDEN_ACCESS" || "MQTT_KEEP_ALIVE_TIMEOUT" || "SERVER_ERROR" || "SERVER_INITIATED_DISCONNECT" || "THROTTLED" || "WEBSOCKET_TTL_EXPIRATION" || "CUSTOMAUTH_TTL_EXPIRATION" || "UNKNOWN" || "NONE", | ||
* // }; | ||
* | ||
* ``` | ||
* | ||
* @param GetThingConnectivityDataCommandInput - {@link GetThingConnectivityDataCommandInput} | ||
* @returns {@link GetThingConnectivityDataCommandOutput} | ||
* @see {@link GetThingConnectivityDataCommandInput} for command's `input` shape. | ||
* @see {@link GetThingConnectivityDataCommandOutput} for command's `response` shape. | ||
* @see {@link IoTClientResolvedConfig | config} for IoTClient's `config` shape. | ||
* | ||
* @throws {@link IndexNotReadyException} (client fault) | ||
* <p>The index is not ready.</p> | ||
* | ||
* @throws {@link InternalFailureException} (server fault) | ||
* <p>An unexpected error has occurred.</p> | ||
* | ||
* @throws {@link InvalidRequestException} (client fault) | ||
* <p>The request is not valid.</p> | ||
* | ||
* @throws {@link ResourceNotFoundException} (client fault) | ||
* <p>The specified resource does not exist.</p> | ||
* | ||
* @throws {@link ServiceUnavailableException} (server fault) | ||
* <p>The service is temporarily unavailable.</p> | ||
* | ||
* @throws {@link ThrottlingException} (client fault) | ||
* <p>The rate exceeds the limit.</p> | ||
* | ||
* @throws {@link UnauthorizedException} (client fault) | ||
* <p>You are not authorized to perform this operation.</p> | ||
* | ||
* @throws {@link IoTServiceException} | ||
* <p>Base exception class for all service exceptions from IoT service.</p> | ||
* | ||
* @public | ||
*/ | ||
export class GetThingConnectivityDataCommand extends $Command | ||
.classBuilder< | ||
GetThingConnectivityDataCommandInput, | ||
GetThingConnectivityDataCommandOutput, | ||
IoTClientResolvedConfig, | ||
ServiceInputTypes, | ||
ServiceOutputTypes | ||
>() | ||
.ep(commonParams) | ||
.m(function (this: any, Command: any, cs: any, config: IoTClientResolvedConfig, o: any) { | ||
return [ | ||
getSerdePlugin(config, this.serialize, this.deserialize), | ||
getEndpointPlugin(config, Command.getEndpointParameterInstructions()), | ||
]; | ||
}) | ||
.s("AWSIotService", "GetThingConnectivityData", {}) | ||
.n("IoTClient", "GetThingConnectivityDataCommand") | ||
.f(GetThingConnectivityDataRequestFilterSensitiveLog, GetThingConnectivityDataResponseFilterSensitiveLog) | ||
.ser(se_GetThingConnectivityDataCommand) | ||
.de(de_GetThingConnectivityDataCommand) | ||
.build() { | ||
/** @internal type navigation helper, not in runtime. */ | ||
protected declare static __types: { | ||
api: { | ||
input: GetThingConnectivityDataRequest; | ||
output: GetThingConnectivityDataResponse; | ||
}; | ||
sdk: { | ||
input: GetThingConnectivityDataCommandInput; | ||
output: GetThingConnectivityDataCommandOutput; | ||
}; | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.