diff --git a/clients/client-iot/src/commands/CreateCertificateFromCsrCommand.ts b/clients/client-iot/src/commands/CreateCertificateFromCsrCommand.ts index 8b291f0d89db..f220b599b0ed 100644 --- a/clients/client-iot/src/commands/CreateCertificateFromCsrCommand.ts +++ b/clients/client-iot/src/commands/CreateCertificateFromCsrCommand.ts @@ -43,11 +43,9 @@ export interface CreateCertificateFromCsrCommandOutput extends CreateCertificate *

Requires permission to access the CreateCertificateFromCsr action. *

* - *

The CSR must include a public key that is either an - * RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves. - * For supported certificates, consult - * Certificate signing algorithms supported by IoT. - *

+ *

The CSR must include a public key that is either an RSA key with a length of at least + * 2048 bits or an ECC key from NIST P-256, NIST P-384, or NIST P-521 curves. For supported + * certificates, consult Certificate signing algorithms supported by IoT.

*
* *

Reusing the same certificate signing request (CSR) diff --git a/clients/client-iot/src/commands/CreateTopicRuleCommand.ts b/clients/client-iot/src/commands/CreateTopicRuleCommand.ts index b5e6cd94cd6c..126491b2537b 100644 --- a/clients/client-iot/src/commands/CreateTopicRuleCommand.ts +++ b/clients/client-iot/src/commands/CreateTopicRuleCommand.ts @@ -232,6 +232,12 @@ export interface CreateTopicRuleCommandOutput extends __MetadataBearer {} * clientProperties: { // ClientProperties // required * "": "STRING_VALUE", * }, + * headers: [ // KafkaHeaders + * { // KafkaActionHeader + * key: "STRING_VALUE", // required + * value: "STRING_VALUE", // required + * }, + * ], * }, * openSearch: { // OpenSearchAction * roleArn: "STRING_VALUE", // required @@ -435,6 +441,12 @@ export interface CreateTopicRuleCommandOutput extends __MetadataBearer {} * clientProperties: { // required * "": "STRING_VALUE", * }, + * headers: [ + * { + * key: "STRING_VALUE", // required + * value: "STRING_VALUE", // required + * }, + * ], * }, * openSearch: { * roleArn: "STRING_VALUE", // required diff --git a/clients/client-iot/src/commands/DeleteDynamicThingGroupCommand.ts b/clients/client-iot/src/commands/DeleteDynamicThingGroupCommand.ts index d894fee239e1..19db79a8dbc9 100644 --- a/clients/client-iot/src/commands/DeleteDynamicThingGroupCommand.ts +++ b/clients/client-iot/src/commands/DeleteDynamicThingGroupCommand.ts @@ -15,7 +15,8 @@ import { } from "@smithy/types"; import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient"; -import { DeleteDynamicThingGroupRequest, DeleteDynamicThingGroupResponse } from "../models/models_0"; +import { DeleteDynamicThingGroupRequest } from "../models/models_0"; +import { DeleteDynamicThingGroupResponse } from "../models/models_1"; import { de_DeleteDynamicThingGroupCommand, se_DeleteDynamicThingGroupCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-iot/src/commands/DeletePackageVersionCommand.ts b/clients/client-iot/src/commands/DeletePackageVersionCommand.ts index 3eb19d92c440..d278595e722a 100644 --- a/clients/client-iot/src/commands/DeletePackageVersionCommand.ts +++ b/clients/client-iot/src/commands/DeletePackageVersionCommand.ts @@ -39,7 +39,7 @@ export interface DeletePackageVersionCommandOutput extends DeletePackageVersionR * @public *

Deletes a specific version from a software package.

*

- * Note: If a package version is designated as default, you must remove the designation from the package using the UpdatePackage action.

+ * Note: If a package version is designated as default, you must remove the designation from the software package using the UpdatePackage action.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-iot/src/commands/DeleteV2LoggingLevelCommand.ts b/clients/client-iot/src/commands/DeleteV2LoggingLevelCommand.ts index c47ddc75837d..667bee50bbd8 100644 --- a/clients/client-iot/src/commands/DeleteV2LoggingLevelCommand.ts +++ b/clients/client-iot/src/commands/DeleteV2LoggingLevelCommand.ts @@ -46,7 +46,7 @@ export interface DeleteV2LoggingLevelCommandOutput extends __MetadataBearer {} * // const { IoTClient, DeleteV2LoggingLevelCommand } = require("@aws-sdk/client-iot"); // CommonJS import * const client = new IoTClient(config); * const input = { // DeleteV2LoggingLevelRequest - * targetType: "DEFAULT" || "THING_GROUP" || "CLIENT_ID" || "SOURCE_IP" || "PRINCIPAL_ID", // required + * targetType: "DEFAULT" || "THING_GROUP" || "CLIENT_ID" || "SOURCE_IP" || "PRINCIPAL_ID" || "EVENT_TYPE" || "DEVICE_DEFENDER", // required * targetName: "STRING_VALUE", // required * }; * const command = new DeleteV2LoggingLevelCommand(input); diff --git a/clients/client-iot/src/commands/GetTopicRuleCommand.ts b/clients/client-iot/src/commands/GetTopicRuleCommand.ts index fa26a099eb52..a668d4ea0770 100644 --- a/clients/client-iot/src/commands/GetTopicRuleCommand.ts +++ b/clients/client-iot/src/commands/GetTopicRuleCommand.ts @@ -238,6 +238,12 @@ export interface GetTopicRuleCommandOutput extends GetTopicRuleResponse, __Metad * // clientProperties: { // ClientProperties // required * // "": "STRING_VALUE", * // }, + * // headers: [ // KafkaHeaders + * // { // KafkaActionHeader + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", // required + * // }, + * // ], * // }, * // openSearch: { // OpenSearchAction * // roleArn: "STRING_VALUE", // required @@ -441,6 +447,12 @@ export interface GetTopicRuleCommandOutput extends GetTopicRuleResponse, __Metad * // clientProperties: { // required * // "": "STRING_VALUE", * // }, + * // headers: [ + * // { + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", // required + * // }, + * // ], * // }, * // openSearch: { * // roleArn: "STRING_VALUE", // required diff --git a/clients/client-iot/src/commands/ListV2LoggingLevelsCommand.ts b/clients/client-iot/src/commands/ListV2LoggingLevelsCommand.ts index dde9f34c50ab..83c85c52d8a2 100644 --- a/clients/client-iot/src/commands/ListV2LoggingLevelsCommand.ts +++ b/clients/client-iot/src/commands/ListV2LoggingLevelsCommand.ts @@ -46,7 +46,7 @@ export interface ListV2LoggingLevelsCommandOutput extends ListV2LoggingLevelsRes * // const { IoTClient, ListV2LoggingLevelsCommand } = require("@aws-sdk/client-iot"); // CommonJS import * const client = new IoTClient(config); * const input = { // ListV2LoggingLevelsRequest - * targetType: "DEFAULT" || "THING_GROUP" || "CLIENT_ID" || "SOURCE_IP" || "PRINCIPAL_ID", + * targetType: "DEFAULT" || "THING_GROUP" || "CLIENT_ID" || "SOURCE_IP" || "PRINCIPAL_ID" || "EVENT_TYPE" || "DEVICE_DEFENDER", * nextToken: "STRING_VALUE", * maxResults: Number("int"), * }; @@ -56,7 +56,7 @@ export interface ListV2LoggingLevelsCommandOutput extends ListV2LoggingLevelsRes * // logTargetConfigurations: [ // LogTargetConfigurations * // { // LogTargetConfiguration * // logTarget: { // LogTarget - * // targetType: "DEFAULT" || "THING_GROUP" || "CLIENT_ID" || "SOURCE_IP" || "PRINCIPAL_ID", // required + * // targetType: "DEFAULT" || "THING_GROUP" || "CLIENT_ID" || "SOURCE_IP" || "PRINCIPAL_ID" || "EVENT_TYPE" || "DEVICE_DEFENDER", // required * // targetName: "STRING_VALUE", * // }, * // logLevel: "DEBUG" || "INFO" || "ERROR" || "WARN" || "DISABLED", diff --git a/clients/client-iot/src/commands/ReplaceTopicRuleCommand.ts b/clients/client-iot/src/commands/ReplaceTopicRuleCommand.ts index 21699fa1ce30..3513b29dc6de 100644 --- a/clients/client-iot/src/commands/ReplaceTopicRuleCommand.ts +++ b/clients/client-iot/src/commands/ReplaceTopicRuleCommand.ts @@ -233,6 +233,12 @@ export interface ReplaceTopicRuleCommandOutput extends __MetadataBearer {} * clientProperties: { // ClientProperties // required * "": "STRING_VALUE", * }, + * headers: [ // KafkaHeaders + * { // KafkaActionHeader + * key: "STRING_VALUE", // required + * value: "STRING_VALUE", // required + * }, + * ], * }, * openSearch: { // OpenSearchAction * roleArn: "STRING_VALUE", // required @@ -436,6 +442,12 @@ export interface ReplaceTopicRuleCommandOutput extends __MetadataBearer {} * clientProperties: { // required * "": "STRING_VALUE", * }, + * headers: [ + * { + * key: "STRING_VALUE", // required + * value: "STRING_VALUE", // required + * }, + * ], * }, * openSearch: { * roleArn: "STRING_VALUE", // required diff --git a/clients/client-iot/src/commands/SetV2LoggingLevelCommand.ts b/clients/client-iot/src/commands/SetV2LoggingLevelCommand.ts index f06d94883700..1dee5400f256 100644 --- a/clients/client-iot/src/commands/SetV2LoggingLevelCommand.ts +++ b/clients/client-iot/src/commands/SetV2LoggingLevelCommand.ts @@ -47,7 +47,7 @@ export interface SetV2LoggingLevelCommandOutput extends __MetadataBearer {} * const client = new IoTClient(config); * const input = { // SetV2LoggingLevelRequest * logTarget: { // LogTarget - * targetType: "DEFAULT" || "THING_GROUP" || "CLIENT_ID" || "SOURCE_IP" || "PRINCIPAL_ID", // required + * targetType: "DEFAULT" || "THING_GROUP" || "CLIENT_ID" || "SOURCE_IP" || "PRINCIPAL_ID" || "EVENT_TYPE" || "DEVICE_DEFENDER", // required * targetName: "STRING_VALUE", * }, * logLevel: "DEBUG" || "INFO" || "ERROR" || "WARN" || "DISABLED", // required diff --git a/clients/client-iot/src/commands/UpdatePackageCommand.ts b/clients/client-iot/src/commands/UpdatePackageCommand.ts index a1005b90bcbf..42c64b5e2bab 100644 --- a/clients/client-iot/src/commands/UpdatePackageCommand.ts +++ b/clients/client-iot/src/commands/UpdatePackageCommand.ts @@ -41,7 +41,7 @@ export interface UpdatePackageCommandOutput extends UpdatePackageResponse, __Met /** * @public - *

Updates the supported fields for a specific package.

+ *

Updates the supported fields for a specific software package.

*

Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-iot/src/commands/UpdatePackageConfigurationCommand.ts b/clients/client-iot/src/commands/UpdatePackageConfigurationCommand.ts index ba52ccfc554d..92df53e7fc52 100644 --- a/clients/client-iot/src/commands/UpdatePackageConfigurationCommand.ts +++ b/clients/client-iot/src/commands/UpdatePackageConfigurationCommand.ts @@ -37,7 +37,7 @@ export interface UpdatePackageConfigurationCommandOutput extends UpdatePackageCo /** * @public - *

Updates the package configuration.

+ *

Updates the software package configuration.

*

Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-iot/src/models/models_0.ts b/clients/client-iot/src/models/models_0.ts index b623c8a657e9..8a587ff9895f 100644 --- a/clients/client-iot/src/models/models_0.ts +++ b/clients/client-iot/src/models/models_0.ts @@ -932,6 +932,28 @@ export interface IotSiteWiseAction { roleArn: string | undefined; } +/** + * @public + *

Specifies a Kafka header using key-value pairs when you create a Rule’s Kafka Action. + * You can use these headers to route data from IoT clients to downstream Kafka clusters + * without modifying your message payload.

+ *

For more information about Rule's Kafka action, see Apache Kafka. + *

+ */ +export interface KafkaActionHeader { + /** + * @public + *

The key of the Kafka header.

+ */ + key: string | undefined; + + /** + * @public + *

The value of the Kafka header.

+ */ + value: string | undefined; +} + /** * @public *

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.

@@ -966,6 +988,12 @@ export interface KafkaAction { *

Properties of the Apache Kafka producer client.

*/ clientProperties: Record | undefined; + + /** + * @public + *

The list of Kafka headers that you specify.

+ */ + headers?: KafkaActionHeader[]; } /** @@ -1934,8 +1962,10 @@ export interface Behavior { /** * @public - *

The criteria that determine if a device is behaving normally in regard to - * the metric.

+ *

The criteria that determine if a device is behaving normally in regard to the metric.

+ * + *

In the IoT console, you can choose to be sent an alert through Amazon SNS when IoT Device Defender detects that a device is behaving anomalously.

+ *
*/ criteria?: BehaviorCriteria; @@ -4718,6 +4748,8 @@ export interface SchedulingConfig { * must be scheduled a minimum of thirty minutes from the current time. The date and time * format for the startTime is YYYY-MM-DD for the date and HH:MM for the * time.

+ *

For more information on the syntax for startTime when using an API + * command or the Command Line Interface, see Timestamp.

*/ startTime?: string; @@ -4730,6 +4762,8 @@ export interface SchedulingConfig { * minutes. The maximum duration between startTime and endTime is * two years. The date and time format for the endTime is YYYY-MM-DD for the * date and HH:MM for the time.

+ *

For more information on the syntax for endTime when using an API command + * or the Command Line Interface, see Timestamp.

*/ endTime?: string; @@ -4991,15 +5025,10 @@ export interface CreateJobTemplateRequest { /** * @public - *

An S3 link to the job document to use in the template. Required if you don't specify a value for document.

- * - *

If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document.

- *

The placeholder link is of the following form:

- *

- * $\{aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key\} - *

- *

where bucket is your bucket name and key is the object in the bucket to which you are linking.

- *
+ *

An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for document.

+ *

For example, --document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0 + *

+ *

For more information, see Methods for accessing a bucket.

*/ documentSource?: string; @@ -5795,7 +5824,7 @@ export interface OTAUpdateFile { /** * @public - *

A list of name/attribute pairs.

+ *

A list of name-attribute pairs. They won't be sent to devices as a part of the Job document.

*/ attributes?: Record; } @@ -5895,7 +5924,8 @@ export interface CreateOTAUpdateRequest { /** * @public - *

A list of additional OTA update parameters which are name-value pairs.

+ *

A list of additional OTA update parameters, which are name-value pairs. + * They won't be sent to devices as a part of the Job document.

*/ additionalParameters?: Record; @@ -5965,7 +5995,7 @@ export interface CreateOTAUpdateResponse { export interface CreatePackageRequest { /** * @public - *

The name of the new package.

+ *

The name of the new software package.

*/ packageName: string | undefined; @@ -5995,7 +6025,7 @@ export interface CreatePackageRequest { export interface CreatePackageResponse { /** * @public - *

The name of the package.

+ *

The name of the software package.

*/ packageName?: string; @@ -6079,7 +6109,7 @@ export class ValidationException extends __BaseException { export interface CreatePackageVersionRequest { /** * @public - *

The name of the associated package.

+ *

The name of the associated software package.

*/ packageName: string | undefined; @@ -6143,7 +6173,7 @@ export interface CreatePackageVersionResponse { /** * @public - *

The name of the associated package.

+ *

The name of the associated software package.

*/ packageName?: string; @@ -7582,11 +7612,6 @@ export interface DeleteDynamicThingGroupRequest { expectedVersion?: number; } -/** - * @public - */ -export interface DeleteDynamicThingGroupResponse {} - /** * @internal */ diff --git a/clients/client-iot/src/models/models_1.ts b/clients/client-iot/src/models/models_1.ts index c15950e95b4e..657b71b196b6 100644 --- a/clients/client-iot/src/models/models_1.ts +++ b/clients/client-iot/src/models/models_1.ts @@ -65,6 +65,11 @@ import { VerificationState, } from "./models_0"; +/** + * @public + */ +export interface DeleteDynamicThingGroupResponse {} + /** * @public */ @@ -240,7 +245,7 @@ export interface DeleteOTAUpdateResponse {} export interface DeletePackageRequest { /** * @public - *

The name of the target package.

+ *

The name of the target software package.

*/ packageName: string | undefined; @@ -263,7 +268,7 @@ export interface DeletePackageResponse {} export interface DeletePackageVersionRequest { /** * @public - *

The name of the associated package.

+ *

The name of the associated software package.

*/ packageName: string | undefined; @@ -540,6 +545,8 @@ export interface DeleteTopicRuleDestinationResponse {} export const LogTargetType = { CLIENT_ID: "CLIENT_ID", DEFAULT: "DEFAULT", + DEVICE_DEFENDER: "DEVICE_DEFENDER", + EVENT_TYPE: "EVENT_TYPE", PRINCIPAL_ID: "PRINCIPAL_ID", SOURCE_IP: "SOURCE_IP", THING_GROUP: "THING_GROUP", @@ -1883,7 +1890,8 @@ export interface DescribeEndpointRequest { * * *

We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid - * issues related to the widespread distrust of Symantec certificate authorities.

+ * issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates + * are more secure and are trusted by most popular browsers.

*/ endpointType?: string; } @@ -4612,7 +4620,7 @@ export interface GetOTAUpdateResponse { export interface GetPackageRequest { /** * @public - *

The name of the target package.

+ *

The name of the target software package.

*/ packageName: string | undefined; } @@ -4623,7 +4631,7 @@ export interface GetPackageRequest { export interface GetPackageResponse { /** * @public - *

The name of the package.

+ *

The name of the software package.

*/ packageName?: string; @@ -4725,7 +4733,7 @@ export interface GetPackageVersionResponse { /** * @public - *

The name of the package.

+ *

The name of the software package.

*/ packageName?: string; @@ -7295,7 +7303,7 @@ export interface ListPackagesRequest { export interface PackageSummary { /** * @public - *

The name for the target package.

+ *

The name for the target software package.

*/ packageName?: string; @@ -7341,7 +7349,7 @@ export interface ListPackagesResponse { export interface ListPackageVersionsRequest { /** * @public - *

The name of the target package.

+ *

The name of the target software package.

*/ packageName: string | undefined; @@ -7523,30 +7531,6 @@ export interface ListPolicyVersionsRequest { policyName: string | undefined; } -/** - * @public - *

Describes a policy version.

- */ -export interface PolicyVersion { - /** - * @public - *

The policy version ID.

- */ - versionId?: string; - - /** - * @public - *

Specifies whether the policy version is the default.

- */ - isDefaultVersion?: boolean; - - /** - * @public - *

The date and time the policy was created.

- */ - createDate?: Date; -} - /** * @internal */ diff --git a/clients/client-iot/src/models/models_2.ts b/clients/client-iot/src/models/models_2.ts index be1b180ffd07..215f5f20b305 100644 --- a/clients/client-iot/src/models/models_2.ts +++ b/clients/client-iot/src/models/models_2.ts @@ -55,7 +55,6 @@ import { DomainConfigurationStatus, GroupNameAndArn, LogTargetType, - PolicyVersion, RegistrationConfig, Status, ThingGroupIndexingConfiguration, @@ -65,6 +64,30 @@ import { ViolationEventOccurrenceRange, } from "./models_1"; +/** + * @public + *

Describes a policy version.

+ */ +export interface PolicyVersion { + /** + * @public + *

The policy version ID.

+ */ + versionId?: string; + + /** + * @public + *

Specifies whether the policy version is the default.

+ */ + isDefaultVersion?: boolean; + + /** + * @public + *

The date and time the policy was created.

+ */ + createDate?: Date; +} + /** * @public *

The output from the ListPolicyVersions operation.

@@ -3773,7 +3796,7 @@ export interface UpdateMitigationActionResponse { export interface UpdatePackageRequest { /** * @public - *

The name of the target package.

+ *

The name of the target software package.

*/ packageName: string | undefined; @@ -3876,7 +3899,7 @@ export interface UpdatePackageVersionRequest { /** * @public - *

Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.

+ *

Metadata that can be used to define a package version’s configuration. For example, the Amazon S3 file location, configuration options that are being sent to the device or fleet.

*

* Note: Attributes can be updated only when the package version * is in a draft state.

diff --git a/clients/client-iot/src/protocols/Aws_restJson1.ts b/clients/client-iot/src/protocols/Aws_restJson1.ts index 990086606f75..7466a8d5ad79 100644 --- a/clients/client-iot/src/protocols/Aws_restJson1.ts +++ b/clients/client-iot/src/protocols/Aws_restJson1.ts @@ -779,6 +779,7 @@ import { JobExecutionsRetryConfig, JobExecutionsRolloutConfig, KafkaAction, + KafkaActionHeader, KinesisAction, LambdaAction, LimitExceededException, @@ -877,7 +878,6 @@ import { PackageSummary, PackageVersionSummary, PercentPair, - PolicyVersion, RegistrationConfig, RoleAliasDescription, Statistics, @@ -899,6 +899,7 @@ import { LoggingOptionsPayload, LogTarget, MqttContext, + PolicyVersion, ProvisioningTemplateSummary, ProvisioningTemplateVersionSummary, RegistrationCodeValidationException, @@ -24546,6 +24547,10 @@ const se_JobExecutionsRolloutConfig = (input: JobExecutionsRolloutConfig, contex // se_KafkaAction omitted. +// se_KafkaActionHeader omitted. + +// se_KafkaHeaders omitted. + // se_KinesisAction omitted. // se_LambdaAction omitted. @@ -25680,6 +25685,10 @@ const de_JobTemplateSummaryList = (output: any, context: __SerdeContext): JobTem // de_KafkaAction omitted. +// de_KafkaActionHeader omitted. + +// de_KafkaHeaders omitted. + // de_KeyPair omitted. // de_KinesisAction omitted. diff --git a/codegen/sdk-codegen/aws-models/iot.json b/codegen/sdk-codegen/aws-models/iot.json index 385055b98783..a5c91eeb481c 100644 --- a/codegen/sdk-codegen/aws-models/iot.json +++ b/codegen/sdk-codegen/aws-models/iot.json @@ -4392,7 +4392,7 @@ "criteria": { "target": "com.amazonaws.iot#BehaviorCriteria", "traits": { - "smithy.api#documentation": "

The criteria that determine if a device is behaving normally in regard to\n the metric.

" + "smithy.api#documentation": "

The criteria that determine if a device is behaving normally in regard to the metric.

\n \n

In the IoT console, you can choose to be sent an alert through Amazon SNS when IoT Device Defender detects that a device is behaving anomalously.

\n
" } }, "suppressAlerts": { @@ -6449,7 +6449,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an X.509 certificate using the specified certificate signing\n request.\n

\n

Requires permission to access the CreateCertificateFromCsr action.\n

\n \n

The CSR must include a public key that is either an\n RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves. \n For supported certificates, consult \n Certificate signing algorithms supported by IoT.\n

\n
\n \n

Reusing the same certificate signing request (CSR)\n results in a distinct certificate.

\n
\n

You can create multiple certificates in a batch by creating a directory, copying\n multiple .csr files into that directory, and then specifying that directory on the command\n line. The following commands show how to create a batch of certificates given a batch of\n CSRs. In the following commands, we assume that a set of CSRs are located inside of the\n directory my-csr-directory:

\n

On Linux and OS X, the command is:

\n

\n $ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr\n --certificate-signing-request file://my-csr-directory/{}\n

\n

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name\n to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for\n the corresponding CSR.

\n

You can also run the aws iot create-certificate-from-csr part of the\n command in parallel to speed up the certificate creation process:

\n

\n $ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr\n --certificate-signing-request file://my-csr-directory/{}\n \n

\n

On Windows PowerShell, the command to create certificates for all CSRs in\n my-csr-directory is:

\n

\n > ls -Name my-csr-directory | %{aws iot create-certificate-from-csr\n --certificate-signing-request file://my-csr-directory/$_}\n \n

\n

On a Windows command prompt, the command to create certificates for all CSRs in\n my-csr-directory is:

\n

\n > forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr\n --certificate-signing-request file://@path\"\n \n

", + "smithy.api#documentation": "

Creates an X.509 certificate using the specified certificate signing\n request.\n

\n

Requires permission to access the CreateCertificateFromCsr action.\n

\n \n

The CSR must include a public key that is either an RSA key with a length of at least\n 2048 bits or an ECC key from NIST P-256, NIST P-384, or NIST P-521 curves. For supported\n certificates, consult Certificate signing algorithms supported by IoT.

\n
\n \n

Reusing the same certificate signing request (CSR)\n results in a distinct certificate.

\n
\n

You can create multiple certificates in a batch by creating a directory, copying\n multiple .csr files into that directory, and then specifying that directory on the command\n line. The following commands show how to create a batch of certificates given a batch of\n CSRs. In the following commands, we assume that a set of CSRs are located inside of the\n directory my-csr-directory:

\n

On Linux and OS X, the command is:

\n

\n $ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr\n --certificate-signing-request file://my-csr-directory/{}\n

\n

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name\n to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for\n the corresponding CSR.

\n

You can also run the aws iot create-certificate-from-csr part of the\n command in parallel to speed up the certificate creation process:

\n

\n $ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr\n --certificate-signing-request file://my-csr-directory/{}\n \n

\n

On Windows PowerShell, the command to create certificates for all CSRs in\n my-csr-directory is:

\n

\n > ls -Name my-csr-directory | %{aws iot create-certificate-from-csr\n --certificate-signing-request file://my-csr-directory/$_}\n \n

\n

On a Windows command prompt, the command to create certificates for all CSRs in\n my-csr-directory is:

\n

\n > forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr\n --certificate-signing-request file://@path\"\n \n

", "smithy.api#http": { "method": "POST", "uri": "/certificates", @@ -7334,7 +7334,7 @@ "documentSource": { "target": "com.amazonaws.iot#JobDocumentSource", "traits": { - "smithy.api#documentation": "

An S3 link to the job document to use in the template. Required if you don't specify a value for document.

\n \n

If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document.

\n

The placeholder link is of the following form:

\n

\n ${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}\n

\n

where bucket is your bucket name and key is the object in the bucket to which you are linking.

\n
" + "smithy.api#documentation": "

An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for document.

\n

For example, --document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0\n

\n

For more information, see Methods for accessing a bucket.

" } }, "document": { @@ -7705,7 +7705,7 @@ "additionalParameters": { "target": "com.amazonaws.iot#AdditionalParameterMap", "traits": { - "smithy.api#documentation": "

A list of additional OTA update parameters which are name-value pairs.

" + "smithy.api#documentation": "

A list of additional OTA update parameters, which are name-value pairs. \n They won't be sent to devices as a part of the Job document.

" } }, "tags": { @@ -7798,7 +7798,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the new package.

", + "smithy.api#documentation": "

The name of the new software package.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7834,7 +7834,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the package.

" + "smithy.api#documentation": "

The name of the software package.

" } }, "packageArn": { @@ -7895,7 +7895,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the associated package.

", + "smithy.api#documentation": "

The name of the associated software package.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7951,7 +7951,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the associated package.

" + "smithy.api#documentation": "

The name of the associated software package.

" } }, "versionName": { @@ -10560,7 +10560,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the target package.

", + "smithy.api#documentation": "

The name of the target software package.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -10605,7 +10605,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a specific version from a software package.

\n

\n Note: If a package version is designated as default, you must remove the designation from the package using the UpdatePackage action.

", + "smithy.api#documentation": "

Deletes a specific version from a software package.

\n

\n Note: If a package version is designated as default, you must remove the designation from the software package using the UpdatePackage action.

", "smithy.api#http": { "method": "DELETE", "uri": "/packages/{packageName}/versions/{versionName}", @@ -10620,7 +10620,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the associated package.

", + "smithy.api#documentation": "

The name of the associated software package.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -12811,7 +12811,7 @@ "endpointType": { "target": "com.amazonaws.iot#EndpointType", "traits": { - "smithy.api#documentation": "

The endpoint type. Valid endpoint types include:

\n
    \n
  • \n

    \n iot:Data - Returns a VeriSign signed data endpoint.

    \n
  • \n
\n
    \n
  • \n

    \n iot:Data-ATS - Returns an ATS signed data endpoint.

    \n
  • \n
\n
    \n
  • \n

    \n iot:CredentialProvider - Returns an IoT credentials provider API\n endpoint.

    \n
  • \n
\n
    \n
  • \n

    \n iot:Jobs - Returns an IoT device management Jobs API\n endpoint.

    \n
  • \n
\n

We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid \n issues related to the widespread distrust of Symantec certificate authorities.

", + "smithy.api#documentation": "

The endpoint type. Valid endpoint types include:

\n
    \n
  • \n

    \n iot:Data - Returns a VeriSign signed data endpoint.

    \n
  • \n
\n
    \n
  • \n

    \n iot:Data-ATS - Returns an ATS signed data endpoint.

    \n
  • \n
\n
    \n
  • \n

    \n iot:CredentialProvider - Returns an IoT credentials provider API\n endpoint.

    \n
  • \n
\n
    \n
  • \n

    \n iot:Jobs - Returns an IoT device management Jobs API\n endpoint.

    \n
  • \n
\n

We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid \n issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates\n are more secure and are trusted by most popular browsers.

", "smithy.api#httpQuery": "endpointType" } } @@ -17142,7 +17142,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the target package.

", + "smithy.api#documentation": "

The name of the target software package.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -17158,7 +17158,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the package.

" + "smithy.api#documentation": "

The name of the software package.

" } }, "packageArn": { @@ -17263,7 +17263,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the package.

" + "smithy.api#documentation": "

The name of the software package.

" } }, "versionName": { @@ -19397,12 +19397,70 @@ "smithy.api#documentation": "

Properties of the Apache Kafka producer client.

", "smithy.api#required": {} } + }, + "headers": { + "target": "com.amazonaws.iot#KafkaHeaders", + "traits": { + "smithy.api#documentation": "

The list of Kafka headers that you specify.

" + } } }, "traits": { "smithy.api#documentation": "

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.

" } }, + "com.amazonaws.iot#KafkaActionHeader": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.iot#KafkaHeaderKey", + "traits": { + "smithy.api#documentation": "

The key of the Kafka header.

", + "smithy.api#required": {} + } + }, + "value": { + "target": "com.amazonaws.iot#KafkaHeaderValue", + "traits": { + "smithy.api#documentation": "

The value of the Kafka header.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a Kafka header using key-value pairs when you create a Rule’s Kafka Action.\n You can use these headers to route data from IoT clients to downstream Kafka clusters\n without modifying your message payload.

\n

For more information about Rule's Kafka action, see Apache Kafka.\n

" + } + }, + "com.amazonaws.iot#KafkaHeaderKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 16384 + } + } + }, + "com.amazonaws.iot#KafkaHeaderValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 16384 + } + } + }, + "com.amazonaws.iot#KafkaHeaders": { + "type": "list", + "member": { + "target": "com.amazonaws.iot#KafkaActionHeader" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.iot#Key": { "type": "string" }, @@ -22243,7 +22301,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the target package.

", + "smithy.api#documentation": "

The name of the target software package.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -25234,6 +25292,18 @@ "traits": { "smithy.api#enumValue": "PRINCIPAL_ID" } + }, + "EVENT_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EVENT_TYPE" + } + }, + "DEVICE_DEFENDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEVICE_DEFENDER" + } } } }, @@ -26100,7 +26170,7 @@ "attributes": { "target": "com.amazonaws.iot#AttributesMap", "traits": { - "smithy.api#documentation": "

A list of name/attribute pairs.

" + "smithy.api#documentation": "

A list of name-attribute pairs. They won't be sent to devices as a part of the Job document.

" } } }, @@ -26445,7 +26515,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name for the target package.

" + "smithy.api#documentation": "

The name for the target software package.

" } }, "defaultVersionName": { @@ -28895,13 +28965,13 @@ "startTime": { "target": "com.amazonaws.iot#StringDateTime", "traits": { - "smithy.api#documentation": "

The time a job will begin rollout of the job document to all devices in the target\n group for a job. The startTime can be scheduled up to a year in advance and\n must be scheduled a minimum of thirty minutes from the current time. The date and time\n format for the startTime is YYYY-MM-DD for the date and HH:MM for the\n time.

" + "smithy.api#documentation": "

The time a job will begin rollout of the job document to all devices in the target\n group for a job. The startTime can be scheduled up to a year in advance and\n must be scheduled a minimum of thirty minutes from the current time. The date and time\n format for the startTime is YYYY-MM-DD for the date and HH:MM for the\n time.

\n

For more information on the syntax for startTime when using an API\n command or the Command Line Interface, see Timestamp.

" } }, "endTime": { "target": "com.amazonaws.iot#StringDateTime", "traits": { - "smithy.api#documentation": "

The time a job will stop rollout of the job document to all devices in the target\n group for a job. The endTime must take place no later than two years from\n the current time and be scheduled a minimum of thirty minutes from the current time. The\n minimum duration between startTime and endTime is thirty\n minutes. The maximum duration between startTime and endTime is\n two years. The date and time format for the endTime is YYYY-MM-DD for the\n date and HH:MM for the time.

" + "smithy.api#documentation": "

The time a job will stop rollout of the job document to all devices in the target\n group for a job. The endTime must take place no later than two years from\n the current time and be scheduled a minimum of thirty minutes from the current time. The\n minimum duration between startTime and endTime is thirty\n minutes. The maximum duration between startTime and endTime is\n two years. The date and time format for the endTime is YYYY-MM-DD for the\n date and HH:MM for the time.

\n

For more information on the syntax for endTime when using an API command\n or the Command Line Interface, see Timestamp.

" } }, "endBehavior": { @@ -33862,7 +33932,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the supported fields for a specific package.

\n

Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

", + "smithy.api#documentation": "

Updates the supported fields for a specific software package.

\n

Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

", "smithy.api#http": { "method": "PATCH", "uri": "/packages/{packageName}", @@ -33891,7 +33961,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the package configuration.

\n

Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

", + "smithy.api#documentation": "

Updates the software package configuration.

\n

Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

", "smithy.api#http": { "method": "PATCH", "uri": "/package-configuration", @@ -33935,7 +34005,7 @@ "packageName": { "target": "com.amazonaws.iot#PackageName", "traits": { - "smithy.api#documentation": "

The name of the target package.

", + "smithy.api#documentation": "

The name of the target software package.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -34038,7 +34108,7 @@ "attributes": { "target": "com.amazonaws.iot#ResourceAttributes", "traits": { - "smithy.api#documentation": "

Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.

\n

\n Note: Attributes can be updated only when the package version\n is in a draft state.

\n

The combined size of all the attributes on a package version is limited to 3KB.

" + "smithy.api#documentation": "

Metadata that can be used to define a package version’s configuration. For example, the Amazon S3 file location, configuration options that are being sent to the device or fleet.

\n

\n Note: Attributes can be updated only when the package version\n is in a draft state.

\n

The combined size of all the attributes on a package version is limited to 3KB.

" } }, "action": { @@ -35476,4 +35546,4 @@ } } } -} \ No newline at end of file +}