Skip to content

Commit c65f9ee

Browse files
author
awstools
committed
feat(client-iot): This release allows AWS IoT Core users to use their own AWS KMS keys for data protection
1 parent 0ae4506 commit c65f9ee

17 files changed

+986
-157
lines changed

clients/client-iot/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,6 +1026,14 @@ DescribeDomainConfiguration
10261026

10271027
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iot/command/DescribeDomainConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iot/Interface/DescribeDomainConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iot/Interface/DescribeDomainConfigurationCommandOutput/)
10281028

1029+
</details>
1030+
<details>
1031+
<summary>
1032+
DescribeEncryptionConfiguration
1033+
</summary>
1034+
1035+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iot/command/DescribeEncryptionConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iot/Interface/DescribeEncryptionConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iot/Interface/DescribeEncryptionConfigurationCommandOutput/)
1036+
10291037
</details>
10301038
<details>
10311039
<summary>
@@ -2226,6 +2234,14 @@ UpdateDynamicThingGroup
22262234

22272235
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iot/command/UpdateDynamicThingGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iot/Interface/UpdateDynamicThingGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iot/Interface/UpdateDynamicThingGroupCommandOutput/)
22282236

2237+
</details>
2238+
<details>
2239+
<summary>
2240+
UpdateEncryptionConfiguration
2241+
</summary>
2242+
2243+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iot/command/UpdateEncryptionConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iot/Interface/UpdateEncryptionConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-iot/Interface/UpdateEncryptionConfigurationCommandOutput/)
2244+
22292245
</details>
22302246
<details>
22312247
<summary>

clients/client-iot/src/IoT.ts

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,11 @@ import {
487487
DescribeDomainConfigurationCommandInput,
488488
DescribeDomainConfigurationCommandOutput,
489489
} from "./commands/DescribeDomainConfigurationCommand";
490+
import {
491+
DescribeEncryptionConfigurationCommand,
492+
DescribeEncryptionConfigurationCommandInput,
493+
DescribeEncryptionConfigurationCommandOutput,
494+
} from "./commands/DescribeEncryptionConfigurationCommand";
490495
import {
491496
DescribeEndpointCommand,
492497
DescribeEndpointCommandInput,
@@ -1197,6 +1202,11 @@ import {
11971202
UpdateDynamicThingGroupCommandInput,
11981203
UpdateDynamicThingGroupCommandOutput,
11991204
} from "./commands/UpdateDynamicThingGroupCommand";
1205+
import {
1206+
UpdateEncryptionConfigurationCommand,
1207+
UpdateEncryptionConfigurationCommandInput,
1208+
UpdateEncryptionConfigurationCommandOutput,
1209+
} from "./commands/UpdateEncryptionConfigurationCommand";
12001210
import {
12011211
UpdateEventConfigurationsCommand,
12021212
UpdateEventConfigurationsCommandInput,
@@ -1388,6 +1398,7 @@ const commands = {
13881398
DescribeDetectMitigationActionsTaskCommand,
13891399
DescribeDimensionCommand,
13901400
DescribeDomainConfigurationCommand,
1401+
DescribeEncryptionConfigurationCommand,
13911402
DescribeEndpointCommand,
13921403
DescribeEventConfigurationsCommand,
13931404
DescribeFleetMetricCommand,
@@ -1538,6 +1549,7 @@ const commands = {
15381549
UpdateDimensionCommand,
15391550
UpdateDomainConfigurationCommand,
15401551
UpdateDynamicThingGroupCommand,
1552+
UpdateEncryptionConfigurationCommand,
15411553
UpdateEventConfigurationsCommand,
15421554
UpdateFleetMetricCommand,
15431555
UpdateIndexingConfigurationCommand,
@@ -3168,6 +3180,24 @@ export interface IoT {
31683180
cb: (err: any, data?: DescribeDomainConfigurationCommandOutput) => void
31693181
): void;
31703182

3183+
/**
3184+
* @see {@link DescribeEncryptionConfigurationCommand}
3185+
*/
3186+
describeEncryptionConfiguration(): Promise<DescribeEncryptionConfigurationCommandOutput>;
3187+
describeEncryptionConfiguration(
3188+
args: DescribeEncryptionConfigurationCommandInput,
3189+
options?: __HttpHandlerOptions
3190+
): Promise<DescribeEncryptionConfigurationCommandOutput>;
3191+
describeEncryptionConfiguration(
3192+
args: DescribeEncryptionConfigurationCommandInput,
3193+
cb: (err: any, data?: DescribeEncryptionConfigurationCommandOutput) => void
3194+
): void;
3195+
describeEncryptionConfiguration(
3196+
args: DescribeEncryptionConfigurationCommandInput,
3197+
options: __HttpHandlerOptions,
3198+
cb: (err: any, data?: DescribeEncryptionConfigurationCommandOutput) => void
3199+
): void;
3200+
31713201
/**
31723202
* @see {@link DescribeEndpointCommand}
31733203
*/
@@ -5593,6 +5623,23 @@ export interface IoT {
55935623
cb: (err: any, data?: UpdateDynamicThingGroupCommandOutput) => void
55945624
): void;
55955625

5626+
/**
5627+
* @see {@link UpdateEncryptionConfigurationCommand}
5628+
*/
5629+
updateEncryptionConfiguration(
5630+
args: UpdateEncryptionConfigurationCommandInput,
5631+
options?: __HttpHandlerOptions
5632+
): Promise<UpdateEncryptionConfigurationCommandOutput>;
5633+
updateEncryptionConfiguration(
5634+
args: UpdateEncryptionConfigurationCommandInput,
5635+
cb: (err: any, data?: UpdateEncryptionConfigurationCommandOutput) => void
5636+
): void;
5637+
updateEncryptionConfiguration(
5638+
args: UpdateEncryptionConfigurationCommandInput,
5639+
options: __HttpHandlerOptions,
5640+
cb: (err: any, data?: UpdateEncryptionConfigurationCommandOutput) => void
5641+
): void;
5642+
55965643
/**
55975644
* @see {@link UpdateEventConfigurationsCommand}
55985645
*/

clients/client-iot/src/IoTClient.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,10 @@ import {
331331
DescribeDomainConfigurationCommandInput,
332332
DescribeDomainConfigurationCommandOutput,
333333
} from "./commands/DescribeDomainConfigurationCommand";
334+
import {
335+
DescribeEncryptionConfigurationCommandInput,
336+
DescribeEncryptionConfigurationCommandOutput,
337+
} from "./commands/DescribeEncryptionConfigurationCommand";
334338
import { DescribeEndpointCommandInput, DescribeEndpointCommandOutput } from "./commands/DescribeEndpointCommand";
335339
import {
336340
DescribeEventConfigurationsCommandInput,
@@ -748,6 +752,10 @@ import {
748752
UpdateDynamicThingGroupCommandInput,
749753
UpdateDynamicThingGroupCommandOutput,
750754
} from "./commands/UpdateDynamicThingGroupCommand";
755+
import {
756+
UpdateEncryptionConfigurationCommandInput,
757+
UpdateEncryptionConfigurationCommandOutput,
758+
} from "./commands/UpdateEncryptionConfigurationCommand";
751759
import {
752760
UpdateEventConfigurationsCommandInput,
753761
UpdateEventConfigurationsCommandOutput,
@@ -916,6 +924,7 @@ export type ServiceInputTypes =
916924
| DescribeDetectMitigationActionsTaskCommandInput
917925
| DescribeDimensionCommandInput
918926
| DescribeDomainConfigurationCommandInput
927+
| DescribeEncryptionConfigurationCommandInput
919928
| DescribeEndpointCommandInput
920929
| DescribeEventConfigurationsCommandInput
921930
| DescribeFleetMetricCommandInput
@@ -1066,6 +1075,7 @@ export type ServiceInputTypes =
10661075
| UpdateDimensionCommandInput
10671076
| UpdateDomainConfigurationCommandInput
10681077
| UpdateDynamicThingGroupCommandInput
1078+
| UpdateEncryptionConfigurationCommandInput
10691079
| UpdateEventConfigurationsCommandInput
10701080
| UpdateFleetMetricCommandInput
10711081
| UpdateIndexingConfigurationCommandInput
@@ -1191,6 +1201,7 @@ export type ServiceOutputTypes =
11911201
| DescribeDetectMitigationActionsTaskCommandOutput
11921202
| DescribeDimensionCommandOutput
11931203
| DescribeDomainConfigurationCommandOutput
1204+
| DescribeEncryptionConfigurationCommandOutput
11941205
| DescribeEndpointCommandOutput
11951206
| DescribeEventConfigurationsCommandOutput
11961207
| DescribeFleetMetricCommandOutput
@@ -1341,6 +1352,7 @@ export type ServiceOutputTypes =
13411352
| UpdateDimensionCommandOutput
13421353
| UpdateDomainConfigurationCommandOutput
13431354
| UpdateDynamicThingGroupCommandOutput
1355+
| UpdateEncryptionConfigurationCommandOutput
13441356
| UpdateEventConfigurationsCommandOutput
13451357
| UpdateFleetMetricCommandOutput
13461358
| UpdateIndexingConfigurationCommandOutput

clients/client-iot/src/commands/CreateTopicRuleCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,6 +492,9 @@ export interface CreateTopicRuleCommandOutput extends __MetadataBearer {}
492492
* @throws {@link SqlParseException} (client fault)
493493
* <p>The Rule-SQL expression can't be parsed correctly.</p>
494494
*
495+
* @throws {@link UnauthorizedException} (client fault)
496+
* <p>You are not authorized to perform this operation.</p>
497+
*
495498
* @throws {@link IoTServiceException}
496499
* <p>Base exception class for all service exceptions from IoT service.</p>
497500
*

clients/client-iot/src/commands/CreateTopicRuleDestinationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ export interface CreateTopicRuleDestinationCommandOutput extends CreateTopicRule
103103
* @throws {@link ServiceUnavailableException} (server fault)
104104
* <p>The service is temporarily unavailable.</p>
105105
*
106+
* @throws {@link UnauthorizedException} (client fault)
107+
* <p>You are not authorized to perform this operation.</p>
108+
*
106109
* @throws {@link IoTServiceException}
107110
* <p>Base exception class for all service exceptions from IoT service.</p>
108111
*
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
4+
import { Command as $Command } from "@smithy/smithy-client";
5+
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
6+
7+
import { commonParams } from "../endpoint/EndpointParameters";
8+
import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient";
9+
import { DescribeEncryptionConfigurationRequest, DescribeEncryptionConfigurationResponse } from "../models/models_1";
10+
import {
11+
de_DescribeEncryptionConfigurationCommand,
12+
se_DescribeEncryptionConfigurationCommand,
13+
} from "../protocols/Aws_restJson1";
14+
15+
/**
16+
* @public
17+
*/
18+
export type { __MetadataBearer };
19+
export { $Command };
20+
/**
21+
* @public
22+
*
23+
* The input for {@link DescribeEncryptionConfigurationCommand}.
24+
*/
25+
export interface DescribeEncryptionConfigurationCommandInput extends DescribeEncryptionConfigurationRequest {}
26+
/**
27+
* @public
28+
*
29+
* The output of {@link DescribeEncryptionConfigurationCommand}.
30+
*/
31+
export interface DescribeEncryptionConfigurationCommandOutput
32+
extends DescribeEncryptionConfigurationResponse,
33+
__MetadataBearer {}
34+
35+
/**
36+
* <p>Retrieves the encryption configuration for resources and data of your Amazon Web Services account in
37+
* Amazon Web Services IoT Core. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/key-management.html">Key management in IoT</a> from
38+
* the <i>Amazon Web Services IoT Core Developer Guide</i>.</p>
39+
* @example
40+
* Use a bare-bones client and the command you need to make an API call.
41+
* ```javascript
42+
* import { IoTClient, DescribeEncryptionConfigurationCommand } from "@aws-sdk/client-iot"; // ES Modules import
43+
* // const { IoTClient, DescribeEncryptionConfigurationCommand } = require("@aws-sdk/client-iot"); // CommonJS import
44+
* const client = new IoTClient(config);
45+
* const input = {};
46+
* const command = new DescribeEncryptionConfigurationCommand(input);
47+
* const response = await client.send(command);
48+
* // { // DescribeEncryptionConfigurationResponse
49+
* // encryptionType: "CUSTOMER_MANAGED_KMS_KEY" || "AWS_OWNED_KMS_KEY",
50+
* // kmsKeyArn: "STRING_VALUE",
51+
* // kmsAccessRoleArn: "STRING_VALUE",
52+
* // configurationDetails: { // ConfigurationDetails
53+
* // configurationStatus: "HEALTHY" || "UNHEALTHY",
54+
* // errorCode: "STRING_VALUE",
55+
* // errorMessage: "STRING_VALUE",
56+
* // },
57+
* // lastModifiedDate: new Date("TIMESTAMP"),
58+
* // };
59+
*
60+
* ```
61+
*
62+
* @param DescribeEncryptionConfigurationCommandInput - {@link DescribeEncryptionConfigurationCommandInput}
63+
* @returns {@link DescribeEncryptionConfigurationCommandOutput}
64+
* @see {@link DescribeEncryptionConfigurationCommandInput} for command's `input` shape.
65+
* @see {@link DescribeEncryptionConfigurationCommandOutput} for command's `response` shape.
66+
* @see {@link IoTClientResolvedConfig | config} for IoTClient's `config` shape.
67+
*
68+
* @throws {@link InternalFailureException} (server fault)
69+
* <p>An unexpected error has occurred.</p>
70+
*
71+
* @throws {@link InvalidRequestException} (client fault)
72+
* <p>The request is not valid.</p>
73+
*
74+
* @throws {@link ServiceUnavailableException} (server fault)
75+
* <p>The service is temporarily unavailable.</p>
76+
*
77+
* @throws {@link ThrottlingException} (client fault)
78+
* <p>The rate exceeds the limit.</p>
79+
*
80+
* @throws {@link UnauthorizedException} (client fault)
81+
* <p>You are not authorized to perform this operation.</p>
82+
*
83+
* @throws {@link IoTServiceException}
84+
* <p>Base exception class for all service exceptions from IoT service.</p>
85+
*
86+
*
87+
* @public
88+
*/
89+
export class DescribeEncryptionConfigurationCommand extends $Command
90+
.classBuilder<
91+
DescribeEncryptionConfigurationCommandInput,
92+
DescribeEncryptionConfigurationCommandOutput,
93+
IoTClientResolvedConfig,
94+
ServiceInputTypes,
95+
ServiceOutputTypes
96+
>()
97+
.ep(commonParams)
98+
.m(function (this: any, Command: any, cs: any, config: IoTClientResolvedConfig, o: any) {
99+
return [
100+
getSerdePlugin(config, this.serialize, this.deserialize),
101+
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
102+
];
103+
})
104+
.s("AWSIotService", "DescribeEncryptionConfiguration", {})
105+
.n("IoTClient", "DescribeEncryptionConfigurationCommand")
106+
.f(void 0, void 0)
107+
.ser(se_DescribeEncryptionConfigurationCommand)
108+
.de(de_DescribeEncryptionConfigurationCommand)
109+
.build() {
110+
/** @internal type navigation helper, not in runtime. */
111+
protected declare static __types: {
112+
api: {
113+
input: {};
114+
output: DescribeEncryptionConfigurationResponse;
115+
};
116+
sdk: {
117+
input: DescribeEncryptionConfigurationCommandInput;
118+
output: DescribeEncryptionConfigurationCommandOutput;
119+
};
120+
};
121+
}

clients/client-iot/src/commands/ListCommandExecutionsCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
88
import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient";
9-
import { ListCommandExecutionsRequest, ListCommandExecutionsResponse } from "../models/models_1";
9+
import { ListCommandExecutionsRequest } from "../models/models_1";
10+
import { ListCommandExecutionsResponse } from "../models/models_2";
1011
import { de_ListCommandExecutionsCommand, se_ListCommandExecutionsCommand } from "../protocols/Aws_restJson1";
1112

1213
/**

clients/client-iot/src/commands/ListCommandsCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
88
import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient";
9-
import { ListCommandsRequest, ListCommandsResponse } from "../models/models_1";
9+
import { ListCommandsRequest, ListCommandsResponse } from "../models/models_2";
1010
import { de_ListCommandsCommand, se_ListCommandsCommand } from "../protocols/Aws_restJson1";
1111

1212
/**

clients/client-iot/src/commands/ListCustomMetricsCommand.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
88
import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient";
9-
import { ListCustomMetricsRequest } from "../models/models_1";
10-
import { ListCustomMetricsResponse } from "../models/models_2";
9+
import { ListCustomMetricsRequest, ListCustomMetricsResponse } from "../models/models_2";
1110
import { de_ListCustomMetricsCommand, se_ListCustomMetricsCommand } from "../protocols/Aws_restJson1";
1211

1312
/**

clients/client-iot/src/commands/ListTopicRulesCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ export interface ListTopicRulesCommandOutput extends ListTopicRulesResponse, __M
7474
* @throws {@link ServiceUnavailableException} (server fault)
7575
* <p>The service is temporarily unavailable.</p>
7676
*
77+
* @throws {@link UnauthorizedException} (client fault)
78+
* <p>You are not authorized to perform this operation.</p>
79+
*
7780
* @throws {@link IoTServiceException}
7881
* <p>Base exception class for all service exceptions from IoT service.</p>
7982
*

0 commit comments

Comments
 (0)