Associates a software bill of materials (SBOM) with a specific software package version.
+ *Requires permission to access the AssociateSbomWithPackageVersion action.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { IoTClient, AssociateSbomWithPackageVersionCommand } from "@aws-sdk/client-iot"; // ES Modules import + * // const { IoTClient, AssociateSbomWithPackageVersionCommand } = require("@aws-sdk/client-iot"); // CommonJS import + * const client = new IoTClient(config); + * const input = { // AssociateSbomWithPackageVersionRequest + * packageName: "STRING_VALUE", // required + * versionName: "STRING_VALUE", // required + * sbom: { // Sbom + * s3Location: { // S3Location + * bucket: "STRING_VALUE", + * key: "STRING_VALUE", + * version: "STRING_VALUE", + * }, + * }, + * clientToken: "STRING_VALUE", + * }; + * const command = new AssociateSbomWithPackageVersionCommand(input); + * const response = await client.send(command); + * // { // AssociateSbomWithPackageVersionResponse + * // packageName: "STRING_VALUE", + * // versionName: "STRING_VALUE", + * // sbom: { // Sbom + * // s3Location: { // S3Location + * // bucket: "STRING_VALUE", + * // key: "STRING_VALUE", + * // version: "STRING_VALUE", + * // }, + * // }, + * // sbomValidationStatus: "IN_PROGRESS" || "FAILED" || "SUCCEEDED", + * // }; + * + * ``` + * + * @param AssociateSbomWithPackageVersionCommandInput - {@link AssociateSbomWithPackageVersionCommandInput} + * @returns {@link AssociateSbomWithPackageVersionCommandOutput} + * @see {@link AssociateSbomWithPackageVersionCommandInput} for command's `input` shape. + * @see {@link AssociateSbomWithPackageVersionCommandOutput} for command's `response` shape. + * @see {@link IoTClientResolvedConfig | config} for IoTClient's `config` shape. + * + * @throws {@link ConflictException} (client fault) + *A resource with the same name already exists.
+ * + * @throws {@link InternalServerException} (server fault) + *Internal error from the service that indicates an unexpected error or that the service + * is unavailable.
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *The specified resource does not exist.
+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *A limit has been exceeded.
+ * + * @throws {@link ThrottlingException} (client fault) + *The rate exceeds the limit.
+ * + * @throws {@link ValidationException} (client fault) + *The request is not valid.
+ * + * @throws {@link IoTServiceException} + *Base exception class for all service exceptions from IoT service.
+ * + * @public + */ +export class AssociateSbomWithPackageVersionCommand extends $Command + .classBuilder< + AssociateSbomWithPackageVersionCommandInput, + AssociateSbomWithPackageVersionCommandOutput, + 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", "AssociateSbomWithPackageVersion", {}) + .n("IoTClient", "AssociateSbomWithPackageVersionCommand") + .f(void 0, void 0) + .ser(se_AssociateSbomWithPackageVersionCommand) + .de(de_AssociateSbomWithPackageVersionCommand) + .build() {} diff --git a/clients/client-iot/src/commands/CreatePackageVersionCommand.ts b/clients/client-iot/src/commands/CreatePackageVersionCommand.ts index 8e63e6c96b4ff..7028c4d52d717 100644 --- a/clients/client-iot/src/commands/CreatePackageVersionCommand.ts +++ b/clients/client-iot/src/commands/CreatePackageVersionCommand.ts @@ -48,6 +48,14 @@ export interface CreatePackageVersionCommandOutput extends CreatePackageVersionR * attributes: { // ResourceAttributes * "Disassociates a software bill of materials (SBOM) from a specific software package version.
+ *Requires permission to access the DisassociateSbomWithPackageVersion action.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { IoTClient, DisassociateSbomFromPackageVersionCommand } from "@aws-sdk/client-iot"; // ES Modules import + * // const { IoTClient, DisassociateSbomFromPackageVersionCommand } = require("@aws-sdk/client-iot"); // CommonJS import + * const client = new IoTClient(config); + * const input = { // DisassociateSbomFromPackageVersionRequest + * packageName: "STRING_VALUE", // required + * versionName: "STRING_VALUE", // required + * clientToken: "STRING_VALUE", + * }; + * const command = new DisassociateSbomFromPackageVersionCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DisassociateSbomFromPackageVersionCommandInput - {@link DisassociateSbomFromPackageVersionCommandInput} + * @returns {@link DisassociateSbomFromPackageVersionCommandOutput} + * @see {@link DisassociateSbomFromPackageVersionCommandInput} for command's `input` shape. + * @see {@link DisassociateSbomFromPackageVersionCommandOutput} for command's `response` shape. + * @see {@link IoTClientResolvedConfig | config} for IoTClient's `config` shape. + * + * @throws {@link ConflictException} (client fault) + *A resource with the same name already exists.
+ * + * @throws {@link InternalServerException} (server fault) + *Internal error from the service that indicates an unexpected error or that the service + * is unavailable.
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *The specified resource does not exist.
+ * + * @throws {@link ThrottlingException} (client fault) + *The rate exceeds the limit.
+ * + * @throws {@link ValidationException} (client fault) + *The request is not valid.
+ * + * @throws {@link IoTServiceException} + *Base exception class for all service exceptions from IoT service.
+ * + * @public + */ +export class DisassociateSbomFromPackageVersionCommand extends $Command + .classBuilder< + DisassociateSbomFromPackageVersionCommandInput, + DisassociateSbomFromPackageVersionCommandOutput, + 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", "DisassociateSbomFromPackageVersion", {}) + .n("IoTClient", "DisassociateSbomFromPackageVersionCommand") + .f(void 0, void 0) + .ser(se_DisassociateSbomFromPackageVersionCommand) + .de(de_DisassociateSbomFromPackageVersionCommand) + .build() {} diff --git a/clients/client-iot/src/commands/GetJobDocumentCommand.ts b/clients/client-iot/src/commands/GetJobDocumentCommand.ts index 184dd7a60d1b1..b09f3844d6f75 100644 --- a/clients/client-iot/src/commands/GetJobDocumentCommand.ts +++ b/clients/client-iot/src/commands/GetJobDocumentCommand.ts @@ -38,6 +38,7 @@ export interface GetJobDocumentCommandOutput extends GetJobDocumentResponse, __M * const client = new IoTClient(config); * const input = { // GetJobDocumentRequest * jobId: "STRING_VALUE", // required + * beforeSubstitution: true || false, * }; * const command = new GetJobDocumentCommand(input); * const response = await client.send(command); diff --git a/clients/client-iot/src/commands/GetPackageVersionCommand.ts b/clients/client-iot/src/commands/GetPackageVersionCommand.ts index 9d685beded693..ccadd386e0be6 100644 --- a/clients/client-iot/src/commands/GetPackageVersionCommand.ts +++ b/clients/client-iot/src/commands/GetPackageVersionCommand.ts @@ -54,10 +54,26 @@ export interface GetPackageVersionCommandOutput extends GetPackageVersionRespons * // attributes: { // ResourceAttributes * // "The validation results for all software bill of materials (SBOM) attached to a specific software package version.
+ *Requires permission to access the ListSbomValidationResults action.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { IoTClient, ListSbomValidationResultsCommand } from "@aws-sdk/client-iot"; // ES Modules import + * // const { IoTClient, ListSbomValidationResultsCommand } = require("@aws-sdk/client-iot"); // CommonJS import + * const client = new IoTClient(config); + * const input = { // ListSbomValidationResultsRequest + * packageName: "STRING_VALUE", // required + * versionName: "STRING_VALUE", // required + * validationResult: "FAILED" || "SUCCEEDED", + * maxResults: Number("int"), + * nextToken: "STRING_VALUE", + * }; + * const command = new ListSbomValidationResultsCommand(input); + * const response = await client.send(command); + * // { // ListSbomValidationResultsResponse + * // validationResultSummaries: [ // SbomValidationResultSummaryList + * // { // SbomValidationResultSummary + * // fileName: "STRING_VALUE", + * // validationResult: "FAILED" || "SUCCEEDED", + * // errorCode: "INCOMPATIBLE_FORMAT" || "FILE_SIZE_LIMIT_EXCEEDED", + * // errorMessage: "STRING_VALUE", + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListSbomValidationResultsCommandInput - {@link ListSbomValidationResultsCommandInput} + * @returns {@link ListSbomValidationResultsCommandOutput} + * @see {@link ListSbomValidationResultsCommandInput} for command's `input` shape. + * @see {@link ListSbomValidationResultsCommandOutput} for command's `response` shape. + * @see {@link IoTClientResolvedConfig | config} for IoTClient's `config` shape. + * + * @throws {@link InternalServerException} (server fault) + *Internal error from the service that indicates an unexpected error or that the service + * is unavailable.
+ * + * @throws {@link ResourceNotFoundException} (client fault) + *The specified resource does not exist.
+ * + * @throws {@link ThrottlingException} (client fault) + *The rate exceeds the limit.
+ * + * @throws {@link ValidationException} (client fault) + *The request is not valid.
+ * + * @throws {@link IoTServiceException} + *Base exception class for all service exceptions from IoT service.
+ * + * @public + */ +export class ListSbomValidationResultsCommand extends $Command + .classBuilder< + ListSbomValidationResultsCommandInput, + ListSbomValidationResultsCommandOutput, + 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", "ListSbomValidationResults", {}) + .n("IoTClient", "ListSbomValidationResultsCommand") + .f(void 0, void 0) + .ser(se_ListSbomValidationResultsCommand) + .de(de_ListSbomValidationResultsCommand) + .build() {} diff --git a/clients/client-iot/src/commands/UpdatePackageVersionCommand.ts b/clients/client-iot/src/commands/UpdatePackageVersionCommand.ts index a345090fdfe6d..039a9a8ece6fc 100644 --- a/clients/client-iot/src/commands/UpdatePackageVersionCommand.ts +++ b/clients/client-iot/src/commands/UpdatePackageVersionCommand.ts @@ -47,7 +47,15 @@ export interface UpdatePackageVersionCommandOutput extends UpdatePackageVersionR * attributes: { // ResourceAttributes * "The request is not valid.
* + * @throws {@link LimitExceededException} (client fault) + *A limit has been exceeded.
+ * * @throws {@link ResourceNotFoundException} (client fault) *The specified resource does not exist.
* diff --git a/clients/client-iot/src/commands/index.ts b/clients/client-iot/src/commands/index.ts index a69efb0339be2..959eb509086a0 100644 --- a/clients/client-iot/src/commands/index.ts +++ b/clients/client-iot/src/commands/index.ts @@ -2,6 +2,7 @@ export * from "./AcceptCertificateTransferCommand"; export * from "./AddThingToBillingGroupCommand"; export * from "./AddThingToThingGroupCommand"; +export * from "./AssociateSbomWithPackageVersionCommand"; export * from "./AssociateTargetsWithJobCommand"; export * from "./AttachPolicyCommand"; export * from "./AttachPrincipalPolicyCommand"; @@ -120,6 +121,7 @@ export * from "./DetachPrincipalPolicyCommand"; export * from "./DetachSecurityProfileCommand"; export * from "./DetachThingPrincipalCommand"; export * from "./DisableTopicRuleCommand"; +export * from "./DisassociateSbomFromPackageVersionCommand"; export * from "./EnableTopicRuleCommand"; export * from "./GetBehaviorModelTrainingSummariesCommand"; export * from "./GetBucketsAggregationCommand"; @@ -180,6 +182,7 @@ export * from "./ListProvisioningTemplateVersionsCommand"; export * from "./ListProvisioningTemplatesCommand"; export * from "./ListRelatedResourcesForAuditFindingCommand"; export * from "./ListRoleAliasesCommand"; +export * from "./ListSbomValidationResultsCommand"; export * from "./ListScheduledAuditsCommand"; export * from "./ListSecurityProfilesCommand"; export * from "./ListSecurityProfilesForTargetCommand"; diff --git a/clients/client-iot/src/models/models_0.ts b/clients/client-iot/src/models/models_0.ts index f0639232a4d02..dc8489ab3fbe5 100644 --- a/clients/client-iot/src/models/models_0.ts +++ b/clients/client-iot/src/models/models_0.ts @@ -2301,6 +2301,206 @@ export interface Allowed { policies?: Policy[]; } +/** + *The S3 location.
+ * @public + */ +export interface S3Location { + /** + *The S3 bucket.
+ * @public + */ + bucket?: string; + + /** + *The S3 key.
+ * @public + */ + key?: string; + + /** + *The S3 bucket version.
+ * @public + */ + version?: string; +} + +/** + *The Amazon S3 location for the software bill of materials associated with a software + * package version.
+ * @public + */ +export interface Sbom { + /** + *The S3 location.
+ * @public + */ + s3Location?: S3Location; +} + +/** + * @public + */ +export interface AssociateSbomWithPackageVersionRequest { + /** + *The name of the new software package.
+ * @public + */ + packageName: string | undefined; + + /** + *The name of the new package version.
+ * @public + */ + versionName: string | undefined; + + /** + *The Amazon S3 location for the software bill of materials associated with a software + * package version.
+ * @public + */ + sbom: Sbom | undefined; + + /** + *A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.
+ * @public + */ + clientToken?: string; +} + +/** + * @public + * @enum + */ +export const SbomValidationStatus = { + FAILED: "FAILED", + IN_PROGRESS: "IN_PROGRESS", + SUCCEEDED: "SUCCEEDED", +} as const; + +/** + * @public + */ +export type SbomValidationStatus = (typeof SbomValidationStatus)[keyof typeof SbomValidationStatus]; + +/** + * @public + */ +export interface AssociateSbomWithPackageVersionResponse { + /** + *The name of the new software package.
+ * @public + */ + packageName?: string; + + /** + *The name of the new package version.
+ * @public + */ + versionName?: string; + + /** + *The Amazon S3 location for the software bill of materials associated with a software + * package version.
+ * @public + */ + sbom?: Sbom; + + /** + *The status of the initial validation for the SBOM against the Software Package Data Exchange (SPDX) and CycloneDX industry standard format.
+ * @public + */ + sbomValidationStatus?: SbomValidationStatus; +} + +/** + *A resource with the same name already exists.
+ * @public + */ +export class ConflictException extends __BaseException { + readonly name: "ConflictException" = "ConflictException"; + readonly $fault: "client" = "client"; + /** + *A resource with the same name already exists.
+ * @public + */ + resourceId?: string; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeInternal error from the service that indicates an unexpected error or that the service + * is unavailable.
+ * @public + */ +export class InternalServerException extends __BaseException { + readonly name: "InternalServerException" = "InternalServerException"; + readonly $fault: "server" = "server"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeA limit has been exceeded.
+ * @public + */ +export class ServiceQuotaExceededException extends __BaseException { + readonly name: "ServiceQuotaExceededException" = "ServiceQuotaExceededException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeThe request is not valid.
+ * @public + */ +export class ValidationException extends __BaseException { + readonly name: "ValidationException" = "ValidationException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeA Boolean value that indicates whether Online Certificate Status Protocol (OCSP) server * certificate check is enabled or not.
- *For more information, see Configuring OCSP server-certificate stapling in domain
+ * For more information, see Configuring OCSP server-certificate stapling in domain
* configuration from Amazon Web Services IoT Core Developer Guide. A resource with the same name already exists. A resource with the same name already exists. The S3 location. The S3 bucket. The S3 key. The S3 bucket version. Describes a group of files that can be streamed. Internal error from the service that indicates an unexpected error or that the service
- * is unavailable. The Amazon S3 location for the artifacts associated with a software package
+ * version. A limit has been exceeded. The request is not valid. The S3 location. The various build components created during the build process such as libraries and
+ * configuration files that make up a software package version. The inline job document associated with a software package version used for a quick job
+ * deployment via IoT Jobs. Metadata that can be used to manage the package version. Input for the DeleteCACertificate operation. The ID of the certificate to delete. (The last part of the certificate ARN contains
- * the certificate ID.) The output for the DeleteCACertificate operation. The input for the DeleteCertificate operation. The ID of the certificate. (The last part of the certificate ARN contains the
- * certificate ID.) Forces the deletion of a certificate if it is inactive and is not attached to an IoT
- * thing. The name of the certificate provider. Input for the DeleteCACertificate operation. The ID of the certificate to delete. (The last part of the certificate ARN contains
+ * the certificate ID.) The output for the DeleteCACertificate operation. The input for the DeleteCertificate operation. The ID of the certificate. (The last part of the certificate ARN contains the
+ * certificate ID.) Forces the deletion of a certificate if it is inactive and is not attached to an IoT
+ * thing. The name of the certificate provider. A flag that provides a view of the job document before and after the substitution parameters have been resolved with their exact values. The name of the new software package. The name of the new package version. A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required. The input for the EnableTopicRuleRequest operation. A flag that provides a view of the job document before and after the substitution parameters have been resolved with their exact values. The various components that make up a software package version. The status associated to the package version. For more information, see Package version lifecycle. The software bill of materials for a software package version. The status of the validation for a new software bill of materials added to a software
+ * package version. The inline job document associated with a software package version used for a quick job
+ * deployment via IoT Jobs. The data the thing reports for the metric during the specified time period. A token that can be used to retrieve the next set of results, or Specify a value to limit the result to mitigation actions with a specific action type. The maximum number of results to return at one time. The default is 25. The token for the next set of results. Information that identifies a mitigation action. This information is returned by ListMitigationActions. The friendly name of the mitigation action. The IAM role ARN used to apply this mitigation action. The date when this mitigation action was created. A set of actions that matched the specified filter criteria. The token for the next set of results. The maximum number of results to return at one time. A token used to retrieve the next set of results. The OTA update job status. An OTA update summary. The OTA update ID. The OTA update ARN. The date when the OTA update was created. A list of OTA update jobs. A token to use to get the next set of results. The data the thing reports for the metric during the specified time period. A token that can be used to retrieve the next set of results, or Specify a value to limit the result to mitigation actions with a specific action type. The maximum number of results to return at one time. The default is 25. The token for the next set of results. Information that identifies a mitigation action. This information is returned by ListMitigationActions. The friendly name of the mitigation action. The IAM role ARN used to apply this mitigation action. The date when this mitigation action was created. A set of actions that matched the specified filter criteria. The token for the next set of results. The maximum number of results to return at one time. A token used to retrieve the next set of results. The OTA update job status. An OTA update summary. The OTA update ID. The OTA update ARN. The date when the OTA update was created. A list of OTA update jobs. A token to use to get the next set of results. The input to the ListOutgoingCertificates operation. The name of the new software package. The name of the new package version. The end result of the The maximum number of results to return at one time. A token that can be used to retrieve the next set of results, or null if there are no additional results. A summary of the validation results for a specific software bill of materials (SBOM) attached to a software package version. The name of the SBOM file. The end result of the SBOM validation. The The A summary of the validation results for each software bill of materials attached to a software package version. A token that can be used to retrieve the next set of results, or null if there are no additional results. The various components that make up a software package version. The status that the package version should be assigned. For more information, see Package version lifecycle. The inline job document associated with a software package version used for a quick job
+ * deployment via IoT Jobs. A unique case-sensitive identifier that you can provide to ensure the idempotency of the request.
* Don't reuse this client token if a new idempotent request is required. Contains an asset property value (of a single type). Associates a software bill of materials (SBOM) with a specific software package version. Requires permission to access the AssociateSbomWithPackageVersion action. The name of the new software package. The name of the new package version. A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required. The name of the new software package. The name of the new package version. The status of the initial validation for the SBOM against the Software Package Data Exchange (SPDX) and CycloneDX industry standard format. 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. The combined size of all the attributes on a package version is limited to 3KB. The various build components created during the build process such as libraries and\n configuration files that make up a software package version. The inline job document associated with a software package version used for a quick job\n deployment via IoT Jobs. A flag that provides a view of the job document before and after the substitution parameters have been resolved with their exact values. Disassociates a software bill of materials (SBOM) from a specific software package version. Requires permission to access the DisassociateSbomWithPackageVersion action. The name of the new software package. The name of the new package version. A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required. A flag that provides a view of the job document before and after the substitution parameters have been resolved with their exact values. Metadata that were added to the package version that can be used to define a package version’s configuration. The various components that make up a software package version. The date when the package version was last updated. The software bill of materials for a software package version. The status of the validation for a new software bill of materials added to a software\n package version. The inline job document associated with a software package version used for a quick job\n deployment via IoT Jobs. The validation results for all software bill of materials (SBOM) attached to a specific software package version. Requires permission to access the ListSbomValidationResults action. The name of the new software package. The name of the new package version. The end result of the The maximum number of results to return at one time. A token that can be used to retrieve the next set of results, or null if there are no additional results. A summary of the validation results for each software bill of materials attached to a software package version. A token that can be used to retrieve the next set of results, or null if there are no additional results. The Amazon S3 location for the artifacts associated with a software package\n version. The Amazon S3 location for the software bill of materials associated with a software\n package version. The name of the SBOM file. The end result of the SBOM validation. The The A summary of the validation results for a specific software bill of materials (SBOM) attached to a software package version. A Boolean value that indicates whether Online Certificate Status Protocol (OCSP) server\n certificate check is enabled or not. For more information, see Configuring OCSP server-certificate stapling in domain\n configuration from Amazon Web Services IoT Core Developer Guide. A Boolean value that indicates whether Online Certificate Status Protocol (OCSP) server\n certificate check is enabled or not. For more information, see Configuring OCSP server-certificate stapling in domain\n configuration from Amazon Web Services IoT Core Developer Guide. 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 Note: Attributes can be updated only when the package version\n is in a draft state. The combined size of all the attributes on a package version is limited to 3KB. The various components that make up a software package version. The status that the package version should be assigned. For more information, see Package version lifecycle. The inline job document associated with a software package version used for a quick job\n deployment via IoT Jobs.null
- * if there are no additional results.null
+ * if there are no additional results.errorCode
representing the validation failure error if the SBOM
+ * validation failed.errorMessage
representing the validation failure error if the SBOM
+ * validation failed.errorCode
representing the validation failure error if the SBOM\n validation failed.errorMessage
representing the validation failure error if the SBOM\n validation failed.