@aws-sdk/client-iot
Version:
AWS SDK for JavaScript Iot Client for Node.js, Browser and React Native
1,789 lines • 165 kB
TypeScript
import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
import { IoTServiceException as __BaseException } from "./IoTServiceException";
import { AbortConfig, AggregationType, AlertTarget, AlertTargetType, ApplicationProtocol, AttributePayload, AuditCheckConfiguration, AuditFrequency, AuditMitigationActionsTaskTarget, AuditNotificationTarget, AuditNotificationType, AuthenticationType, AuthInfo, AuthorizerConfig, AuthorizerStatus, AuthResult, AutoRegistrationStatus, Behavior, BillingGroupProperties, CertificateProviderOperation, ClientCertificateConfig, CustomMetricType, DayOfWeek, DimensionType, DimensionValueOperator, FleetMetricUnit, JobExecutionsRetryConfig, JobExecutionsRolloutConfig, LogLevel, MetricsExportConfig, MetricToRetain, MetricValue, MitigationActionParams, OTAUpdateStatus, PackageVersionArtifact, PackageVersionStatus, Policy, PresignedUrlConfig, ProvisioningHook, RelatedResource, ResourceIdentifier, ServerCertificateConfig, ServiceType, StreamFile, Tag, TargetSelection, TemplateType, ThingGroupProperties, ThingPrincipalType, ThingTypeProperties, TimeoutConfig, TlsConfig, TopicRuleDestinationStatus, TopicRulePayload, VerificationState, ViolationEventAdditionalInfo } from "./models_0";
import { BehaviorCriteriaType, CACertificateStatus, CertificateMode, CertificateStatus, Configuration, DetectMitigationActionsTaskSummary, DetectMitigationActionsTaskTarget, DomainConfigurationStatus, EventType, GroupNameAndArn, JobExecutionStatus, JobStatus, LogTargetType, MitigationActionType, RegistrationConfig, Status, ThingGroupIndexingConfiguration, ThingIndexingConfiguration, ThingTypeMetadata, VersionUpdateByJobsConfig, ViolationEventOccurrenceRange } from "./models_1";
/**
* @public
*/
export interface ListCustomMetricsResponse {
/**
* <p>
* The name of the custom metric.
* </p>
* @public
*/
metricNames?: string[] | undefined;
/**
* <p>
* A token that can be used to retrieve the next set of results,
* or <code>null</code> if there are no additional results.
* </p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListDetectMitigationActionsExecutionsRequest {
/**
* <p>
* The unique identifier of the task.
* </p>
* @public
*/
taskId?: string | undefined;
/**
* <p>
* The unique identifier of the violation.
* </p>
* @public
*/
violationId?: string | undefined;
/**
* <p>
* The name of the thing whose mitigation actions are listed.
* </p>
* @public
*/
thingName?: string | undefined;
/**
* <p>
* A filter to limit results to those found after the specified time. You must
* specify either the startTime and endTime or the taskId, but not both.
* </p>
* @public
*/
startTime?: Date | undefined;
/**
* <p>
* The end of the time period for which ML Detect mitigation actions executions are returned.
* </p>
* @public
*/
endTime?: Date | undefined;
/**
* <p>
* The maximum number of results to return at one time. The default is 25.
* </p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>
* The token for the next set of results.
* </p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
* @enum
*/
export declare const DetectMitigationActionExecutionStatus: {
readonly FAILED: "FAILED";
readonly IN_PROGRESS: "IN_PROGRESS";
readonly SKIPPED: "SKIPPED";
readonly SUCCESSFUL: "SUCCESSFUL";
};
/**
* @public
*/
export type DetectMitigationActionExecutionStatus = (typeof DetectMitigationActionExecutionStatus)[keyof typeof DetectMitigationActionExecutionStatus];
/**
* <p>
* Describes which mitigation actions should be executed.
* </p>
* @public
*/
export interface DetectMitigationActionExecution {
/**
* <p>
* The unique identifier of the task.
* </p>
* @public
*/
taskId?: string | undefined;
/**
* <p>
* The unique identifier of the violation.
* </p>
* @public
*/
violationId?: string | undefined;
/**
* <p>
* The friendly name that uniquely identifies the mitigation action.
* </p>
* @public
*/
actionName?: string | undefined;
/**
* <p>
* The name of the thing.
* </p>
* @public
*/
thingName?: string | undefined;
/**
* <p>
* The date a mitigation action was started.
* </p>
* @public
*/
executionStartDate?: Date | undefined;
/**
* <p>
* The date a mitigation action ended.
* </p>
* @public
*/
executionEndDate?: Date | undefined;
/**
* <p>
* The status of a mitigation action.
* </p>
* @public
*/
status?: DetectMitigationActionExecutionStatus | undefined;
/**
* <p>
* The error code of a mitigation action.
* </p>
* @public
*/
errorCode?: string | undefined;
/**
* <p>
* The message of a mitigation action.
* </p>
* @public
*/
message?: string | undefined;
}
/**
* @public
*/
export interface ListDetectMitigationActionsExecutionsResponse {
/**
* <p>
* List of actions executions.
* </p>
* @public
*/
actionsExecutions?: DetectMitigationActionExecution[] | undefined;
/**
* <p>
* A token that can be used to retrieve the next set of results, or <code>null</code> if there are no additional results.
* </p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListDetectMitigationActionsTasksRequest {
/**
* <p>The maximum number of results to return at one time. The default is 25.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>
* The token for the next set of results.
* </p>
* @public
*/
nextToken?: string | undefined;
/**
* <p>
* A filter to limit results to those found after the specified time. You must
* specify either the startTime and endTime or the taskId, but not both.
* </p>
* @public
*/
startTime: Date | undefined;
/**
* <p>
* The end of the time period for which ML Detect mitigation actions tasks are returned.
* </p>
* @public
*/
endTime: Date | undefined;
}
/**
* @public
*/
export interface ListDetectMitigationActionsTasksResponse {
/**
* <p>
* The collection of ML Detect mitigation tasks that matched the filter criteria.
* </p>
* @public
*/
tasks?: DetectMitigationActionsTaskSummary[] | undefined;
/**
* <p>
* A token that can be used to retrieve the next set of results, or <code>null</code> if there are no additional results.
* </p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListDimensionsRequest {
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
/**
* <p>The maximum number of results to retrieve at one time.</p>
* @public
*/
maxResults?: number | undefined;
}
/**
* @public
*/
export interface ListDimensionsResponse {
/**
* <p>A list of the names of the defined dimensions. Use <code>DescribeDimension</code> to get details for a dimension.</p>
* @public
*/
dimensionNames?: string[] | undefined;
/**
* <p>A token that can be used to retrieve the next set of results, or <code>null</code> if there are no additional results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListDomainConfigurationsRequest {
/**
* <p>The marker for the next set of results.</p>
* @public
*/
marker?: string | undefined;
/**
* <p>The result page size.</p>
* @public
*/
pageSize?: number | undefined;
/**
* <p>The type of service delivered by the endpoint.</p>
* @public
*/
serviceType?: ServiceType | undefined;
}
/**
* <p>The summary of a domain configuration. A domain configuration specifies custom IoT-specific information about a domain.
* A domain configuration can be associated with an Amazon Web Services-managed domain
* (for example, dbc123defghijk.iot.us-west-2.amazonaws.com), a customer managed domain, or a default endpoint.</p>
* <ul>
* <li>
* <p>Data</p>
* </li>
* <li>
* <p>Jobs</p>
* </li>
* <li>
* <p>CredentialProvider</p>
* </li>
* </ul>
* @public
*/
export interface DomainConfigurationSummary {
/**
* <p>The name of the domain configuration. This value must be unique to a region.</p>
* @public
*/
domainConfigurationName?: string | undefined;
/**
* <p>The ARN of the domain configuration.</p>
* @public
*/
domainConfigurationArn?: string | undefined;
/**
* <p>The type of service delivered by the endpoint.</p>
* @public
*/
serviceType?: ServiceType | undefined;
}
/**
* @public
*/
export interface ListDomainConfigurationsResponse {
/**
* <p>A list of objects that contain summary information about the user's domain configurations.</p>
* @public
*/
domainConfigurations?: DomainConfigurationSummary[] | undefined;
/**
* <p>The marker for the next set of results.</p>
* @public
*/
nextMarker?: string | undefined;
}
/**
* @public
*/
export interface ListFleetMetricsRequest {
/**
* <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response;
* otherwise <code>null</code> to receive the first set of results.</p>
* @public
*/
nextToken?: string | undefined;
/**
* <p>The maximum number of results to return in this operation.</p>
* @public
*/
maxResults?: number | undefined;
}
/**
* <p>The name and ARN of a fleet metric.</p>
* @public
*/
export interface FleetMetricNameAndArn {
/**
* <p>The fleet metric name.</p>
* @public
*/
metricName?: string | undefined;
/**
* <p>The fleet metric ARN.</p>
* @public
*/
metricArn?: string | undefined;
}
/**
* @public
*/
export interface ListFleetMetricsResponse {
/**
* <p>The list of fleet metrics objects.</p>
* @public
*/
fleetMetrics?: FleetMetricNameAndArn[] | undefined;
/**
* <p>The token for the next set of results. Will not be returned if the operation has returned
* all results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListIndicesRequest {
/**
* <p>The token used to get the next set of results, or <code>null</code> if there are no additional
* results.</p>
* @public
*/
nextToken?: string | undefined;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number | undefined;
}
/**
* @public
*/
export interface ListIndicesResponse {
/**
* <p>The index names.</p>
* @public
*/
indexNames?: string[] | undefined;
/**
* <p>The token used to get the next set of results, or <code>null</code> if there are no additional
* results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListJobExecutionsForJobRequest {
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
* @public
*/
jobId: string | undefined;
/**
* <p>The status of the job.</p>
* @public
*/
status?: JobExecutionStatus | undefined;
/**
* <p>The maximum number of results to be returned per request.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>The job execution summary.</p>
* @public
*/
export interface JobExecutionSummary {
/**
* <p>The status of the job execution.</p>
* @public
*/
status?: JobExecutionStatus | undefined;
/**
* <p>The time, in seconds since the epoch, when the job execution was queued.</p>
* @public
*/
queuedAt?: Date | undefined;
/**
* <p>The time, in seconds since the epoch, when the job execution started.</p>
* @public
*/
startedAt?: Date | undefined;
/**
* <p>The time, in seconds since the epoch, when the job execution was last
* updated.</p>
* @public
*/
lastUpdatedAt?: Date | undefined;
/**
* <p>A string (consisting of the digits "0" through "9") which identifies this
* particular job execution on this particular device. It can be used later in commands
* which return or update job execution information.</p>
* @public
*/
executionNumber?: number | undefined;
/**
* <p>The number that indicates how many retry attempts have been completed for this job on
* this device.</p>
* @public
*/
retryAttempt?: number | undefined;
}
/**
* <p>Contains a summary of information about job executions for a specific
* job.</p>
* @public
*/
export interface JobExecutionSummaryForJob {
/**
* <p>The ARN of the thing on which the job execution is running.</p>
* @public
*/
thingArn?: string | undefined;
/**
* <p>Contains a subset of information about a job execution.</p>
* @public
*/
jobExecutionSummary?: JobExecutionSummary | undefined;
}
/**
* @public
*/
export interface ListJobExecutionsForJobResponse {
/**
* <p>A list of job execution summaries.</p>
* @public
*/
executionSummaries?: JobExecutionSummaryForJob[] | undefined;
/**
* <p>The token for the next set of results, or <b>null</b> if
* there are no additional results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListJobExecutionsForThingRequest {
/**
* <p>The thing name.</p>
* @public
*/
thingName: string | undefined;
/**
* <p>An optional filter that lets you search for jobs that have the specified
* status.</p>
* @public
*/
status?: JobExecutionStatus | undefined;
/**
* <p>The namespace used to indicate that a job is a customer-managed job.</p>
* <p>When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to
* MQTT topics that contain the value in the following format.</p>
* <p>
* <code>$aws/things/<i>THING_NAME</i>/jobs/<i>JOB_ID</i>/notify-namespace-<i>NAMESPACE_ID</i>/</code>
* </p>
* <note>
* <p>The <code>namespaceId</code> feature is only supported by IoT Greengrass at this time. For
* more information, see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/setting-up.html">Setting up IoT Greengrass core devices.</a>
* </p>
* </note>
* @public
*/
namespaceId?: string | undefined;
/**
* <p>The maximum number of results to be returned per request.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
* @public
*/
jobId?: string | undefined;
}
/**
* <p>The job execution summary for a thing.</p>
* @public
*/
export interface JobExecutionSummaryForThing {
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
* @public
*/
jobId?: string | undefined;
/**
* <p>Contains a subset of information about a job execution.</p>
* @public
*/
jobExecutionSummary?: JobExecutionSummary | undefined;
}
/**
* @public
*/
export interface ListJobExecutionsForThingResponse {
/**
* <p>A list of job execution summaries.</p>
* @public
*/
executionSummaries?: JobExecutionSummaryForThing[] | undefined;
/**
* <p>The token for the next set of results, or <b>null</b> if
* there are no additional results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListJobsRequest {
/**
* <p>An optional filter that lets you search for jobs that have the specified
* status.</p>
* @public
*/
status?: JobStatus | undefined;
/**
* <p>Specifies whether the job will continue to run (CONTINUOUS), or will be complete
* after all those things specified as targets have completed the job (SNAPSHOT). If
* continuous, the job may also be run on a thing when a change is detected in a target.
* For example, a job will run on a thing when the thing is added to a target group, even
* after the job was completed by all things originally in the group. </p>
* <note>
* <p>We recommend that you use continuous jobs instead of snapshot jobs for dynamic
* thing group targets. By using continuous jobs, devices that join the group receive
* the job execution even after the job has been created.</p>
* </note>
* @public
*/
targetSelection?: TargetSelection | undefined;
/**
* <p>The maximum number of results to return per request.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
/**
* <p>A filter that limits the returned jobs to those for the specified group.</p>
* @public
*/
thingGroupName?: string | undefined;
/**
* <p>A filter that limits the returned jobs to those for the specified group.</p>
* @public
*/
thingGroupId?: string | undefined;
/**
* <p>The namespace used to indicate that a job is a customer-managed job.</p>
* <p>When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to
* MQTT topics that contain the value in the following format.</p>
* <p>
* <code>$aws/things/<i>THING_NAME</i>/jobs/<i>JOB_ID</i>/notify-namespace-<i>NAMESPACE_ID</i>/</code>
* </p>
* <note>
* <p>The <code>namespaceId</code> feature is only supported by IoT Greengrass at this time. For
* more information, see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/setting-up.html">Setting up IoT Greengrass core devices.</a>
* </p>
* </note>
* @public
*/
namespaceId?: string | undefined;
}
/**
* <p>The job summary.</p>
* @public
*/
export interface JobSummary {
/**
* <p>The job ARN.</p>
* @public
*/
jobArn?: string | undefined;
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
* @public
*/
jobId?: string | undefined;
/**
* <p>The ID of the thing group.</p>
* @public
*/
thingGroupId?: string | undefined;
/**
* <p>Specifies whether the job will continue to run (CONTINUOUS), or will be complete
* after all those things specified as targets have completed the job (SNAPSHOT). If
* continuous, the job may also be run on a thing when a change is detected in a target.
* For example, a job will run on a thing when the thing is added to a target group, even
* after the job was completed by all things originally in the group.</p>
* <note>
* <p>We recommend that you use continuous jobs instead of snapshot jobs for dynamic
* thing group targets. By using continuous jobs, devices that join the group receive
* the job execution even after the job has been created.</p>
* </note>
* @public
*/
targetSelection?: TargetSelection | undefined;
/**
* <p>The job summary status.</p>
* @public
*/
status?: JobStatus | undefined;
/**
* <p>The time, in seconds since the epoch, when the job was created.</p>
* @public
*/
createdAt?: Date | undefined;
/**
* <p>The time, in seconds since the epoch, when the job was last updated.</p>
* @public
*/
lastUpdatedAt?: Date | undefined;
/**
* <p>The time, in seconds since the epoch, when the job completed.</p>
* @public
*/
completedAt?: Date | undefined;
/**
* <p>Indicates whether a job is concurrent. Will be true when a job is rolling out new job
* executions or canceling previously created executions, otherwise false.</p>
* @public
*/
isConcurrent?: boolean | undefined;
}
/**
* @public
*/
export interface ListJobsResponse {
/**
* <p>A list of jobs.</p>
* @public
*/
jobs?: JobSummary[] | undefined;
/**
* <p>The token for the next set of results, or <b>null</b> if
* there are no additional results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListJobTemplatesRequest {
/**
* <p>The maximum number of results to return in the list.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The token to use to return the next set of results in the list.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>An object that contains information about the job template.</p>
* @public
*/
export interface JobTemplateSummary {
/**
* <p>The ARN of the job template.</p>
* @public
*/
jobTemplateArn?: string | undefined;
/**
* <p>The unique identifier of the job template.</p>
* @public
*/
jobTemplateId?: string | undefined;
/**
* <p>A description of the job template.</p>
* @public
*/
description?: string | undefined;
/**
* <p>The time, in seconds since the epoch, when the job template was created.</p>
* @public
*/
createdAt?: Date | undefined;
}
/**
* @public
*/
export interface ListJobTemplatesResponse {
/**
* <p>A list of objects that contain information about the job templates.</p>
* @public
*/
jobTemplates?: JobTemplateSummary[] | undefined;
/**
* <p>The token for the next set of results, or <b>null</b> if
* there are no additional results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListManagedJobTemplatesRequest {
/**
* <p>An optional parameter for template name. If specified, only the versions of the
* managed job templates that have the specified template name will be returned.</p>
* @public
*/
templateName?: string | undefined;
/**
* <p>Maximum number of entries that can be returned.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>An object that contains information about the managed template.</p>
* @public
*/
export interface ManagedJobTemplateSummary {
/**
* <p>The Amazon Resource Name (ARN) for a managed template.</p>
* @public
*/
templateArn?: string | undefined;
/**
* <p>The unique Name for a managed template.</p>
* @public
*/
templateName?: string | undefined;
/**
* <p>The description for a managed template.</p>
* @public
*/
description?: string | undefined;
/**
* <p>A list of environments that are supported with the managed job template.</p>
* @public
*/
environments?: string[] | undefined;
/**
* <p>The version for a managed template.</p>
* @public
*/
templateVersion?: string | undefined;
}
/**
* @public
*/
export interface ListManagedJobTemplatesResponse {
/**
* <p>A list of managed job templates that are returned.</p>
* @public
*/
managedJobTemplates?: ManagedJobTemplateSummary[] | undefined;
/**
* <p>The token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListMetricValuesRequest {
/**
* <p>The name of the thing for which security profile metric values are returned.</p>
* @public
*/
thingName: string | undefined;
/**
* <p>The name of the security profile metric for which values are returned.</p>
* @public
*/
metricName: string | undefined;
/**
* <p>The dimension name.</p>
* @public
*/
dimensionName?: string | undefined;
/**
* <p>The dimension value operator.</p>
* @public
*/
dimensionValueOperator?: DimensionValueOperator | undefined;
/**
* <p>The start of the time period for which metric values are returned.</p>
* @public
*/
startTime: Date | undefined;
/**
* <p>The end of the time period for which metric values are returned.</p>
* @public
*/
endTime: Date | undefined;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>A metric.</p>
* @public
*/
export interface MetricDatum {
/**
* <p>The time the metric value was reported.</p>
* @public
*/
timestamp?: Date | undefined;
/**
* <p>The value reported for the metric.</p>
* @public
*/
value?: MetricValue | undefined;
}
/**
* @public
*/
export interface ListMetricValuesResponse {
/**
* <p>The data the thing reports for the metric during the specified time period.</p>
* @public
*/
metricDatumList?: MetricDatum[] | undefined;
/**
* <p>A token that can be used to retrieve the next set of results, or <code>null</code>
* if there are no additional results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListMitigationActionsRequest {
/**
* <p>Specify a value to limit the result to mitigation actions with a specific action type.</p>
* @public
*/
actionType?: MitigationActionType | undefined;
/**
* <p>The maximum number of results to return at one time. The default is 25.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>Information that identifies a mitigation action. This information is returned by ListMitigationActions.</p>
* @public
*/
export interface MitigationActionIdentifier {
/**
* <p>The friendly name of the mitigation action.</p>
* @public
*/
actionName?: string | undefined;
/**
* <p>The IAM role ARN used to apply this mitigation action.</p>
* @public
*/
actionArn?: string | undefined;
/**
* <p>The date when this mitigation action was created.</p>
* @public
*/
creationDate?: Date | undefined;
}
/**
* @public
*/
export interface ListMitigationActionsResponse {
/**
* <p>A set of actions that matched the specified filter criteria.</p>
* @public
*/
actionIdentifiers?: MitigationActionIdentifier[] | undefined;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListOTAUpdatesRequest {
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>A token used to retrieve the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
/**
* <p>The OTA update job status.</p>
* @public
*/
otaUpdateStatus?: OTAUpdateStatus | undefined;
}
/**
* <p>An OTA update summary.</p>
* @public
*/
export interface OTAUpdateSummary {
/**
* <p>The OTA update ID.</p>
* @public
*/
otaUpdateId?: string | undefined;
/**
* <p>The OTA update ARN.</p>
* @public
*/
otaUpdateArn?: string | undefined;
/**
* <p>The date when the OTA update was created.</p>
* @public
*/
creationDate?: Date | undefined;
}
/**
* @public
*/
export interface ListOTAUpdatesResponse {
/**
* <p>A list of OTA update jobs.</p>
* @public
*/
otaUpdates?: OTAUpdateSummary[] | undefined;
/**
* <p>A token to use to get the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>The input to the ListOutgoingCertificates operation.</p>
* @public
*/
export interface ListOutgoingCertificatesRequest {
/**
* <p>The result page size.</p>
* @public
*/
pageSize?: number | undefined;
/**
* <p>The marker for the next set of results.</p>
* @public
*/
marker?: string | undefined;
/**
* <p>Specifies the order for results. If True, the results are returned in ascending
* order, based on the creation date.</p>
* @public
*/
ascendingOrder?: boolean | undefined;
}
/**
* <p>A certificate that has been transferred but not yet accepted.</p>
* @public
*/
export interface OutgoingCertificate {
/**
* <p>The certificate ARN.</p>
* @public
*/
certificateArn?: string | undefined;
/**
* <p>The certificate ID.</p>
* @public
*/
certificateId?: string | undefined;
/**
* <p>The Amazon Web Services account to which the transfer was made.</p>
* @public
*/
transferredTo?: string | undefined;
/**
* <p>The date the transfer was initiated.</p>
* @public
*/
transferDate?: Date | undefined;
/**
* <p>The transfer message.</p>
* @public
*/
transferMessage?: string | undefined;
/**
* <p>The certificate creation date.</p>
* @public
*/
creationDate?: Date | undefined;
}
/**
* <p>The output from the ListOutgoingCertificates operation.</p>
* @public
*/
export interface ListOutgoingCertificatesResponse {
/**
* <p>The certificates that are being transferred but not yet accepted.</p>
* @public
*/
outgoingCertificates?: OutgoingCertificate[] | undefined;
/**
* <p>The marker for the next set of results.</p>
* @public
*/
nextMarker?: string | undefined;
}
/**
* @public
*/
export interface ListPackagesRequest {
/**
* <p>The maximum number of results returned at one time.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>A summary of information about a software package.</p>
* @public
*/
export interface PackageSummary {
/**
* <p>The name for the target software package.</p>
* @public
*/
packageName?: string | undefined;
/**
* <p>The name of the default package version.</p>
* @public
*/
defaultVersionName?: string | undefined;
/**
* <p>The date that the package was created.</p>
* @public
*/
creationDate?: Date | undefined;
/**
* <p>The date that the package was last updated.</p>
* @public
*/
lastModifiedDate?: Date | undefined;
}
/**
* @public
*/
export interface ListPackagesResponse {
/**
* <p>The software package summary.</p>
* @public
*/
packageSummaries?: PackageSummary[] | undefined;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListPackageVersionsRequest {
/**
* <p>The name of the target software package.</p>
* @public
*/
packageName: string | undefined;
/**
* <p>The status of the package version. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle">Package version lifecycle</a>.</p>
* @public
*/
status?: PackageVersionStatus | undefined;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>A summary of information about a package version.</p>
* @public
*/
export interface PackageVersionSummary {
/**
* <p>The name of the associated software package.</p>
* @public
*/
packageName?: string | undefined;
/**
* <p>The name of the target package version.</p>
* @public
*/
versionName?: string | undefined;
/**
* <p>The status of the package version. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#package-version-lifecycle">Package version lifecycle</a>.</p>
* @public
*/
status?: PackageVersionStatus | undefined;
/**
* <p>The date that the package version was created.</p>
* @public
*/
creationDate?: Date | undefined;
/**
* <p>The date that the package version was last updated.</p>
* @public
*/
lastModifiedDate?: Date | undefined;
}
/**
* @public
*/
export interface ListPackageVersionsResponse {
/**
* <p>Lists the package versions associated to the package.</p>
* @public
*/
packageVersionSummaries?: PackageVersionSummary[] | undefined;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>The input for the ListPolicies operation.</p>
* @public
*/
export interface ListPoliciesRequest {
/**
* <p>The marker for the next set of results.</p>
* @public
*/
marker?: string | undefined;
/**
* <p>The result page size.</p>
* @public
*/
pageSize?: number | undefined;
/**
* <p>Specifies the order for results. If true, the results are returned in ascending
* creation order.</p>
* @public
*/
ascendingOrder?: boolean | undefined;
}
/**
* <p>The output from the ListPolicies operation.</p>
* @public
*/
export interface ListPoliciesResponse {
/**
* <p>The descriptions of the policies.</p>
* @public
*/
policies?: Policy[] | undefined;
/**
* <p>The marker for the next set of results, or null if there are no additional
* results.</p>
* @public
*/
nextMarker?: string | undefined;
}
/**
* <p>The input for the ListPolicyPrincipals operation.</p>
* @public
*/
export interface ListPolicyPrincipalsRequest {
/**
* <p>The policy name.</p>
* @public
*/
policyName: string | undefined;
/**
* <p>The marker for the next set of results.</p>
* @public
*/
marker?: string | undefined;
/**
* <p>The result page size.</p>
* @public
*/
pageSize?: number | undefined;
/**
* <p>Specifies the order for results. If true, the results are returned in ascending
* creation order.</p>
* @public
*/
ascendingOrder?: boolean | undefined;
}
/**
* <p>The output from the ListPolicyPrincipals operation.</p>
* @public
*/
export interface ListPolicyPrincipalsResponse {
/**
* <p>The descriptions of the principals.</p>
* @public
*/
principals?: string[] | undefined;
/**
* <p>The marker for the next set of results, or null if there are no additional
* results.</p>
* @public
*/
nextMarker?: string | undefined;
}
/**
* <p>The input for the ListPolicyVersions operation.</p>
* @public
*/
export interface ListPolicyVersionsRequest {
/**
* <p>The policy name.</p>
* @public
*/
policyName: string | undefined;
}
/**
* <p>Describes a policy version.</p>
* @public
*/
export interface PolicyVersion {
/**
* <p>The policy version ID.</p>
* @public
*/
versionId?: string | undefined;
/**
* <p>Specifies whether the policy version is the default.</p>
* @public
*/
isDefaultVersion?: boolean | undefined;
/**
* <p>The date and time the policy was created.</p>
* @public
*/
createDate?: Date | undefined;
}
/**
* <p>The output from the ListPolicyVersions operation.</p>
* @public
*/
export interface ListPolicyVersionsResponse {
/**
* <p>The policy versions.</p>
* @public
*/
policyVersions?: PolicyVersion[] | undefined;
}
/**
* <p>The input for the ListPrincipalPolicies operation.</p>
* @public
*/
export interface ListPrincipalPoliciesRequest {
/**
* <p>The principal. Valid principals are CertificateArn (arn:aws:iot:<i>region</i>:<i>accountId</i>:cert/<i>certificateId</i>), thingGroupArn (arn:aws:iot:<i>region</i>:<i>accountId</i>:thinggroup/<i>groupName</i>) and CognitoId (<i>region</i>:<i>id</i>).</p>
* @public
*/
principal: string | undefined;
/**
* <p>The marker for the next set of results.</p>
* @public
*/
marker?: string | undefined;
/**
* <p>The result page size.</p>
* @public
*/
pageSize?: number | undefined;
/**
* <p>Specifies the order for results. If true, results are returned in ascending creation
* order.</p>
* @public
*/
ascendingOrder?: boolean | undefined;
}
/**
* <p>The output from the ListPrincipalPolicies operation.</p>
* @public
*/
export interface ListPrincipalPoliciesResponse {
/**
* <p>The policies.</p>
* @public
*/
policies?: Policy[] | undefined;
/**
* <p>The marker for the next set of results, or null if there are no additional
* results.</p>
* @public
*/
nextMarker?: string | undefined;
}
/**
* <p>The input for the ListPrincipalThings operation.</p>
* @public
*/
export interface ListPrincipalThingsRequest {
/**
* <p>To retrieve the next set of results, the <code>nextToken</code>
* value from a previous response; otherwise <b>null</b> to receive
* the first set of results.</p>
* @public
*/
nextToken?: string | undefined;
/**
* <p>The maximum number of results to return in this operation.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The principal.</p>
* @public
*/
principal: string | undefined;
}
/**
* <p>The output from the ListPrincipalThings operation.</p>
* @public
*/
export interface ListPrincipalThingsResponse {
/**
* <p>The things.</p>
* @public
*/
things?: string[] | undefined;
/**
* <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListPrincipalThingsV2Request {
/**
* <p>To retrieve the next set of results, the <code>nextToken</code>
* value from a previous response; otherwise <b>null</b> to receive
* the first set of results.</p>
* @public
*/
nextToken?: string | undefined;
/**
* <p>The maximum number of results to return in this operation.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>The principal. A principal can be an X.509 certificate or an Amazon Cognito ID.</p>
* @public
*/
principal: string | undefined;
/**
* <p>The type of the relation you want to filter in the response. If no value is provided in
* this field, the response will list all things, including both the
* <code>EXCLUSIVE_THING</code> and <code>NON_EXCLUSIVE_THING</code> attachment
* types.</p>
* <ul>
* <li>
* <p>
* <code>EXCLUSIVE_THING</code> - Attaches the specified principal to the specified thing, exclusively.
* The thing will be the only thing that’s attached to the principal.</p>
* </li>
* </ul>
* <ul>
* <li>
* <p>
* <code>NON_EXCLUSIVE_THING</code> - Attaches the specified principal to the specified thing.
* Multiple things can be attached to the principal.</p>
* </li>
* </ul>
* @public
*/
thingPrincipalType?: ThingPrincipalType | undefined;
}
/**
* <p>An object that represents the thing and the type of relation it has with the principal.</p>
* @public
*/
export interface PrincipalThingObject {
/**
* <p>The name of the thing.</p>
* @public
*/
thingName: string | undefined;
/**
* <p>The type of the relation you want to specify when you attach a principal to a thing.
* The value defaults to <code>NON_EXCLUSIVE_THING</code>.</p>
* <ul>
* <li>
* <p>
* <code>EXCLUSIVE_THING</code> - Attaches the specified principal to the specified thing, exclusively.
* The thing will be the only thing that’s attached to the principal.</p>
* </li>
* </ul>
* <ul>
* <li>
* <p>
* <code>NON_EXCLUSIVE_THING</code> - Attaches the specified principal to the specified thing.
* Multiple things can be attached to the principal.</p>
* </li>
* </ul>
* @public
*/
thingPrincipalType?: ThingPrincipalType | undefined;
}
/**
* @public
*/
export interface ListPrincipalThingsV2Response {
/**
* <p>A list of <code>thingPrincipalObject</code> that represents the principal and the type of relation it has with the thing.</p>
* @public
*/
principalThingObjects?: PrincipalThingObject[] | undefined;
/**
* <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListProvisioningTemplatesRequest {
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>A token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>A summary of information about a provisioning template.</p>
* @public
*/
export interface ProvisioningTemplateSummary {
/**
* <p>The ARN of the provisioning template.</p>
* @public
*/
templateArn?: string | undefined;
/**
* <p>The name of the provisioning template.</p>
* @public
*/
templateName?: string | undefined;
/**
* <p>The description of the provisioning template.</p>
* @public
*/
description?: string | undefined;
/**
* <p>The date when the provisioning template summary was created.</p>
* @public
*/
creationDate?: Date | undefined;
/**
* <p>The date when the provisioning template summary was last modified.</p>
* @public
*/
lastModifiedDate?: Date | undefined;
/**
* <p>True if the fleet provision template is enabled, otherwise false.</p>
* @public
*/
enabled?: boolean | undefined;
/**
* <p>The type you define in a provisioning template. You can create a template with only one type.
* You can't change the template type after its creation. The default value is <code>FLEET_PROVISIONING</code>.
* For more information about provisioning template, see: <a href="https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html">Provisioning template</a>.
* </p>
* @public
*/
type?: TemplateType | undefined;
}
/**
* @public
*/
export interface ListProvisioningTemplatesResponse {
/**
* <p>A list of provisioning templates</p>
* @public
*/
templates?: ProvisioningTemplateSummary[] | undefined;
/**
* <p>A token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListProvisioningTemplateVersionsRequest {
/**
* <p>The name of the provisioning template.</p>
* @public
*/
templateName: string | undefined;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>A token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* <p>A summary of information about a fleet provision template version.</p>
* @public
*/
export interface ProvisioningTemplateVersionSummary {
/**
* <p>The ID of the fleet provisioning template version.</p>
* @public
*/
versionId?: number | undefined;
/**
* <p>The date when the provisioning template version was created</p>
* @public
*/
creationDate?: Date | undefined;
/**
* <p>True if the provisioning template version is the default version, otherwise
* false.</p>
* @public
*/
isDefaultVersion?: boolean | undefined;
}
/**
* @public
*/
export interface ListProvisioningTemplateVersionsResponse {
/**
* <p>The list of provisioning template versions.</p>
* @public
*/
versions?: ProvisioningTemplateVersionSummary[] | undefined;
/**
* <p>A token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListRelatedResourcesForAuditFindingRequest {
/**
* <p>The finding Id.</p>
* @public
*/
findingId: string | undefined;
/**
* <p>A token that can be used to retrieve the next set of results,
* or <code>null</code> if there are no additional results.</p>
* @public
*/
nextToken?: string | undefined;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number | undefined;
}
/**
* @public
*/
export interface ListRelatedResourcesForAuditFindingResponse {
/**
* <p>The related resources.</p>
* @public
*/
relatedResources?: RelatedResource[] | undefined;
/**
* <p>A token that can be used to retrieve the next set of results,
* or <code>null</code> for the first API call.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
*/
export interface ListRoleAliasesRequest {
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
pageSize?: number | undefined;
/**
* <p>A marker used to get the next set of results.</p>
* @public
*/
marker?: string | undefined;
/**
* <p>Return the list of role aliases in ascending alphabetical order.</p>
* @public
*/
ascendingOrder?: boolean | undefined;
}
/**
* @public
*/
export interface ListRoleAliasesResponse {
/**
* <p>The role aliases.</p>
* @public
*/
roleAliases?: string[] | undefined;
/**
* <p>A marker used to get the next set of results.</p>
* @public
*/
nextMarker?: string | undefined;
}
/**
* @public
* @enum
*/
export declare const SbomValidationResult: {
readonly FAILED: "FAILED";
readonly SUCCEEDED: "SUCCEEDED";
};
/**
* @public
*/
export type SbomValidationResult = (typeof SbomValidationResult)[keyof typeof SbomValidationResult];
/**
* @public
*/
export interface ListSbomValidationResultsRequest {
/**
* <p>The name of the new software package.</p>
* @public
*/
packageName: string | undefined;
/**
* <p>The name of the new package version.</p>
* @public
*/
versionName: string | undefined;
/**
* <p>The end result of the </p>
* @public
*/
validationResult?: SbomValidationResult | undefined;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number | undefined;
/**
* <p>A token that can be used to retrieve the next set of results, or null if there are no additional results.</p>
* @public
*/
nextToken?: string | undefined;
}
/**
* @public
* @enum
*/
export dec