@aws-sdk/client-iot
Version:
AWS SDK for JavaScript Iot Client for Node.js, Browser and React Native
1,936 lines • 116 kB
TypeScript
import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
import { IoTServiceException as __BaseException } from "./IoTServiceException";
import { AbortConfig, AggregationType, AlertTarget, AlertTargetType, AttributePayload, AuditCheckConfiguration, AuditFrequency, AuditMitigationActionsTaskTarget, AuditNotificationTarget, AuditNotificationType, AuthInfo, AuthorizerConfig, AuthorizerStatus, AuthResult, AutoRegistrationStatus, Behavior, BillingGroupProperties, CertificateProviderOperation, CustomMetricType, DayOfWeek, DimensionType, FleetMetricUnit, JobExecutionsRetryConfig, JobExecutionsRolloutConfig, LogLevel, MetricsExportConfig, MetricToRetain, MetricValue, MitigationActionParams, PackageVersionStatus, Policy, PresignedUrlConfig, ProvisioningHook, RelatedResource, ResourceIdentifier, ServerCertificateConfig, StreamFile, Tag, TemplateType, ThingGroupProperties, ThingTypeProperties, TimeoutConfig, TlsConfig, TopicRuleDestinationStatus, TopicRulePayload, VerificationState, ViolationEventAdditionalInfo } from "./models_0";
import { BehaviorCriteriaType, CACertificateStatus, CertificateMode, CertificateStatus, Configuration, DetectMitigationActionsTaskTarget, DomainConfigurationStatus, EventType, GroupNameAndArn, LogTargetType, RegistrationConfig, Status, ThingGroupIndexingConfiguration, ThingIndexingConfiguration, ThingTypeMetadata, VersionUpdateByJobsConfig, ViolationEventOccurrenceRange } from "./models_1";
/**
* <p>The input to the ListOutgoingCertificates operation.</p>
* @public
*/
export interface ListOutgoingCertificatesRequest {
/**
* <p>The result page size.</p>
* @public
*/
pageSize?: number;
/**
* <p>The marker for the next set of results.</p>
* @public
*/
marker?: string;
/**
* <p>Specifies the order for results. If True, the results are returned in ascending
* order, based on the creation date.</p>
* @public
*/
ascendingOrder?: boolean;
}
/**
* <p>A certificate that has been transferred but not yet accepted.</p>
* @public
*/
export interface OutgoingCertificate {
/**
* <p>The certificate ARN.</p>
* @public
*/
certificateArn?: string;
/**
* <p>The certificate ID.</p>
* @public
*/
certificateId?: string;
/**
* <p>The Amazon Web Services account to which the transfer was made.</p>
* @public
*/
transferredTo?: string;
/**
* <p>The date the transfer was initiated.</p>
* @public
*/
transferDate?: Date;
/**
* <p>The transfer message.</p>
* @public
*/
transferMessage?: string;
/**
* <p>The certificate creation date.</p>
* @public
*/
creationDate?: Date;
}
/**
* <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[];
/**
* <p>The marker for the next set of results.</p>
* @public
*/
nextMarker?: string;
}
/**
* @public
*/
export interface ListPackagesRequest {
/**
* <p>The maximum number of results returned at one time.</p>
* @public
*/
maxResults?: number;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string;
}
/**
* <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;
/**
* <p>The name of the default package version.</p>
* @public
*/
defaultVersionName?: string;
/**
* <p>The date that the package was created.</p>
* @public
*/
creationDate?: Date;
/**
* <p>The date that the package was last updated.</p>
* @public
*/
lastModifiedDate?: Date;
}
/**
* @public
*/
export interface ListPackagesResponse {
/**
* <p>The software package summary.</p>
* @public
*/
packageSummaries?: PackageSummary[];
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string;
}
/**
* @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;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string;
}
/**
* <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;
/**
* <p>The name of the target package version.</p>
* @public
*/
versionName?: string;
/**
* <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;
/**
* <p>The date that the package version was created.</p>
* @public
*/
creationDate?: Date;
/**
* <p>The date that the package version was last updated.</p>
* @public
*/
lastModifiedDate?: Date;
}
/**
* @public
*/
export interface ListPackageVersionsResponse {
/**
* <p>Lists the package versions associated to the package.</p>
* @public
*/
packageVersionSummaries?: PackageVersionSummary[];
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string;
}
/**
* <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;
/**
* <p>The result page size.</p>
* @public
*/
pageSize?: number;
/**
* <p>Specifies the order for results. If true, the results are returned in ascending
* creation order.</p>
* @public
*/
ascendingOrder?: boolean;
}
/**
* <p>The output from the ListPolicies operation.</p>
* @public
*/
export interface ListPoliciesResponse {
/**
* <p>The descriptions of the policies.</p>
* @public
*/
policies?: Policy[];
/**
* <p>The marker for the next set of results, or null if there are no additional
* results.</p>
* @public
*/
nextMarker?: string;
}
/**
* <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;
/**
* <p>The result page size.</p>
* @public
*/
pageSize?: number;
/**
* <p>Specifies the order for results. If true, the results are returned in ascending
* creation order.</p>
* @public
*/
ascendingOrder?: boolean;
}
/**
* <p>The output from the ListPolicyPrincipals operation.</p>
* @public
*/
export interface ListPolicyPrincipalsResponse {
/**
* <p>The descriptions of the principals.</p>
* @public
*/
principals?: string[];
/**
* <p>The marker for the next set of results, or null if there are no additional
* results.</p>
* @public
*/
nextMarker?: string;
}
/**
* <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;
/**
* <p>Specifies whether the policy version is the default.</p>
* @public
*/
isDefaultVersion?: boolean;
/**
* <p>The date and time the policy was created.</p>
* @public
*/
createDate?: Date;
}
/**
* <p>The output from the ListPolicyVersions operation.</p>
* @public
*/
export interface ListPolicyVersionsResponse {
/**
* <p>The policy versions.</p>
* @public
*/
policyVersions?: PolicyVersion[];
}
/**
* <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;
/**
* <p>The result page size.</p>
* @public
*/
pageSize?: number;
/**
* <p>Specifies the order for results. If true, results are returned in ascending creation
* order.</p>
* @public
*/
ascendingOrder?: boolean;
}
/**
* <p>The output from the ListPrincipalPolicies operation.</p>
* @public
*/
export interface ListPrincipalPoliciesResponse {
/**
* <p>The policies.</p>
* @public
*/
policies?: Policy[];
/**
* <p>The marker for the next set of results, or null if there are no additional
* results.</p>
* @public
*/
nextMarker?: string;
}
/**
* <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;
/**
* <p>The maximum number of results to return in this operation.</p>
* @public
*/
maxResults?: number;
/**
* <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[];
/**
* <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;
}
/**
* @public
*/
export interface ListProvisioningTemplatesRequest {
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
/**
* <p>A token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string;
}
/**
* <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;
/**
* <p>The name of the provisioning template.</p>
* @public
*/
templateName?: string;
/**
* <p>The description of the provisioning template.</p>
* @public
*/
description?: string;
/**
* <p>The date when the provisioning template summary was created.</p>
* @public
*/
creationDate?: Date;
/**
* <p>The date when the provisioning template summary was last modified.</p>
* @public
*/
lastModifiedDate?: Date;
/**
* <p>True if the fleet provision template is enabled, otherwise false.</p>
* @public
*/
enabled?: boolean;
/**
* <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;
}
/**
* @public
*/
export interface ListProvisioningTemplatesResponse {
/**
* <p>A list of provisioning templates</p>
* @public
*/
templates?: ProvisioningTemplateSummary[];
/**
* <p>A token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string;
}
/**
* @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;
/**
* <p>A token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string;
}
/**
* <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;
/**
* <p>The date when the provisioning template version was created</p>
* @public
*/
creationDate?: Date;
/**
* <p>True if the provisioning template version is the default version, otherwise
* false.</p>
* @public
*/
isDefaultVersion?: boolean;
}
/**
* @public
*/
export interface ListProvisioningTemplateVersionsResponse {
/**
* <p>The list of provisioning template versions.</p>
* @public
*/
versions?: ProvisioningTemplateVersionSummary[];
/**
* <p>A token to retrieve the next set of results.</p>
* @public
*/
nextToken?: string;
}
/**
* @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;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
}
/**
* @public
*/
export interface ListRelatedResourcesForAuditFindingResponse {
/**
* <p>The related resources.</p>
* @public
*/
relatedResources?: RelatedResource[];
/**
* <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;
}
/**
* @public
*/
export interface ListRoleAliasesRequest {
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
pageSize?: number;
/**
* <p>A marker used to get the next set of results.</p>
* @public
*/
marker?: string;
/**
* <p>Return the list of role aliases in ascending alphabetical order.</p>
* @public
*/
ascendingOrder?: boolean;
}
/**
* @public
*/
export interface ListRoleAliasesResponse {
/**
* <p>The role aliases.</p>
* @public
*/
roleAliases?: string[];
/**
* <p>A marker used to get the next set of results.</p>
* @public
*/
nextMarker?: string;
}
/**
* @public
*/
export interface ListScheduledAuditsRequest {
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string;
/**
* <p>The maximum number of results to return at one time. The default is 25.</p>
* @public
*/
maxResults?: number;
}
/**
* <p>Information about the scheduled audit.</p>
* @public
*/
export interface ScheduledAuditMetadata {
/**
* <p>The name of the scheduled audit.</p>
* @public
*/
scheduledAuditName?: string;
/**
* <p>The ARN of the scheduled audit.</p>
* @public
*/
scheduledAuditArn?: string;
/**
* <p>How often the scheduled audit occurs.</p>
* @public
*/
frequency?: AuditFrequency;
/**
* <p>The day of the month on which the scheduled audit is run (if the
* <code>frequency</code> is "MONTHLY").
* If days 29-31 are specified, and the month does not have that many
* days, the audit takes place on the "LAST" day of the month.</p>
* @public
*/
dayOfMonth?: string;
/**
* <p>The day of the week on which the scheduled audit is run (if the
* <code>frequency</code> is "WEEKLY" or "BIWEEKLY").</p>
* @public
*/
dayOfWeek?: DayOfWeek;
}
/**
* @public
*/
export interface ListScheduledAuditsResponse {
/**
* <p>The list of scheduled audits.</p>
* @public
*/
scheduledAudits?: ScheduledAuditMetadata[];
/**
* <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;
}
/**
* @public
*/
export interface ListSecurityProfilesRequest {
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
/**
* <p>A filter to limit results to the security profiles that use the defined dimension.
* Cannot be used with <code>metricName</code>
* </p>
* @public
*/
dimensionName?: string;
/**
* <p> The name of the custom metric.
* Cannot be used with <code>dimensionName</code>. </p>
* @public
*/
metricName?: string;
}
/**
* <p>Identifying information for a Device Defender security profile.</p>
* @public
*/
export interface SecurityProfileIdentifier {
/**
* <p>The name you've given to the security profile.</p>
* @public
*/
name: string | undefined;
/**
* <p>The ARN of the security profile.</p>
* @public
*/
arn: string | undefined;
}
/**
* @public
*/
export interface ListSecurityProfilesResponse {
/**
* <p>A list of security profile identifiers (names and ARNs).</p>
* @public
*/
securityProfileIdentifiers?: SecurityProfileIdentifier[];
/**
* <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;
}
/**
* @public
*/
export interface ListSecurityProfilesForTargetRequest {
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
/**
* <p>If true, return child groups too.</p>
* @public
*/
recursive?: boolean;
/**
* <p>The ARN of the target (thing group) whose attached security profiles you want to get.</p>
* @public
*/
securityProfileTargetArn: string | undefined;
}
/**
* <p>A target to which an alert is sent when a security profile behavior is
* violated.</p>
* @public
*/
export interface SecurityProfileTarget {
/**
* <p>The ARN of the security profile.</p>
* @public
*/
arn: string | undefined;
}
/**
* <p>Information about a security profile and the target associated with it.</p>
* @public
*/
export interface SecurityProfileTargetMapping {
/**
* <p>Information that identifies the security profile.</p>
* @public
*/
securityProfileIdentifier?: SecurityProfileIdentifier;
/**
* <p>Information about the target (thing group) associated with the security profile.</p>
* @public
*/
target?: SecurityProfileTarget;
}
/**
* @public
*/
export interface ListSecurityProfilesForTargetResponse {
/**
* <p>A list of security profiles and their associated targets.</p>
* @public
*/
securityProfileTargetMappings?: SecurityProfileTargetMapping[];
/**
* <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;
}
/**
* @public
*/
export interface ListStreamsRequest {
/**
* <p>The maximum number of results to return at a time.</p>
* @public
*/
maxResults?: number;
/**
* <p>A token used to get the next set of results.</p>
* @public
*/
nextToken?: string;
/**
* <p>Set to true to return the list of streams in ascending order.</p>
* @public
*/
ascendingOrder?: boolean;
}
/**
* <p>A summary of a stream.</p>
* @public
*/
export interface StreamSummary {
/**
* <p>The stream ID.</p>
* @public
*/
streamId?: string;
/**
* <p>The stream ARN.</p>
* @public
*/
streamArn?: string;
/**
* <p>The stream version.</p>
* @public
*/
streamVersion?: number;
/**
* <p>A description of the stream.</p>
* @public
*/
description?: string;
}
/**
* @public
*/
export interface ListStreamsResponse {
/**
* <p>A list of streams.</p>
* @public
*/
streams?: StreamSummary[];
/**
* <p>A token used to get the next set of results.</p>
* @public
*/
nextToken?: string;
}
/**
* @public
*/
export interface ListTagsForResourceRequest {
/**
* <p>The ARN of the resource.</p>
* @public
*/
resourceArn: string | undefined;
/**
* <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;
}
/**
* @public
*/
export interface ListTagsForResourceResponse {
/**
* <p>The list of tags assigned to the resource.</p>
* @public
*/
tags?: Tag[];
/**
* <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;
}
/**
* @public
*/
export interface ListTargetsForPolicyRequest {
/**
* <p>The policy name.</p>
* @public
*/
policyName: string | undefined;
/**
* <p>A marker used to get the next set of results.</p>
* @public
*/
marker?: string;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
pageSize?: number;
}
/**
* @public
*/
export interface ListTargetsForPolicyResponse {
/**
* <p>The policy targets.</p>
* @public
*/
targets?: string[];
/**
* <p>A marker used to get the next set of results.</p>
* @public
*/
nextMarker?: string;
}
/**
* @public
*/
export interface ListTargetsForSecurityProfileRequest {
/**
* <p>The security profile.</p>
* @public
*/
securityProfileName: string | undefined;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
}
/**
* @public
*/
export interface ListTargetsForSecurityProfileResponse {
/**
* <p>The thing groups to which the security profile is attached.</p>
* @public
*/
securityProfileTargets?: SecurityProfileTarget[];
/**
* <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;
}
/**
* @public
*/
export interface ListThingGroupsRequest {
/**
* <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;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
/**
* <p>A filter that limits the results to those with the specified parent group.</p>
* @public
*/
parentGroup?: string;
/**
* <p>A filter that limits the results to those with the specified name prefix.</p>
* @public
*/
namePrefixFilter?: string;
/**
* <p>If true, return child groups as well.</p>
* @public
*/
recursive?: boolean;
}
/**
* @public
*/
export interface ListThingGroupsResponse {
/**
* <p>The thing groups.</p>
* @public
*/
thingGroups?: GroupNameAndArn[];
/**
* <p>The token to use to get the next set of results. Will not be returned if operation has returned all results.</p>
* @public
*/
nextToken?: string;
}
/**
* @public
*/
export interface ListThingGroupsForThingRequest {
/**
* <p>The thing name.</p>
* @public
*/
thingName: string | undefined;
/**
* <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;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
}
/**
* @public
*/
export interface ListThingGroupsForThingResponse {
/**
* <p>The thing groups.</p>
* @public
*/
thingGroups?: GroupNameAndArn[];
/**
* <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;
}
/**
* <p>The input for the ListThingPrincipal operation.</p>
* @public
*/
export interface ListThingPrincipalsRequest {
/**
* <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;
/**
* <p>The maximum number of results to return in this operation.</p>
* @public
*/
maxResults?: number;
/**
* <p>The name of the thing.</p>
* @public
*/
thingName: string | undefined;
}
/**
* <p>The output from the ListThingPrincipals operation.</p>
* @public
*/
export interface ListThingPrincipalsResponse {
/**
* <p>The principals associated with the thing.</p>
* @public
*/
principals?: string[];
/**
* <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;
}
/**
* @public
* @enum
*/
export declare const ReportType: {
readonly ERRORS: "ERRORS";
readonly RESULTS: "RESULTS";
};
/**
* @public
*/
export type ReportType = (typeof ReportType)[keyof typeof ReportType];
/**
* @public
*/
export interface ListThingRegistrationTaskReportsRequest {
/**
* <p>The id of the task.</p>
* @public
*/
taskId: string | undefined;
/**
* <p>The type of task report.</p>
* @public
*/
reportType: ReportType | undefined;
/**
* <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;
/**
* <p>The maximum number of results to return per request.</p>
* @public
*/
maxResults?: number;
}
/**
* @public
*/
export interface ListThingRegistrationTaskReportsResponse {
/**
* <p>Links to the task resources.</p>
* @public
*/
resourceLinks?: string[];
/**
* <p>The type of task report.</p>
* @public
*/
reportType?: ReportType;
/**
* <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;
}
/**
* @public
*/
export interface ListThingRegistrationTasksRequest {
/**
* <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;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
/**
* <p>The status of the bulk thing provisioning task.</p>
* @public
*/
status?: Status;
}
/**
* @public
*/
export interface ListThingRegistrationTasksResponse {
/**
* <p>A list of bulk thing provisioning task IDs.</p>
* @public
*/
taskIds?: string[];
/**
* <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;
}
/**
* <p>The input for the ListThings operation.</p>
* @public
*/
export interface ListThingsRequest {
/**
* <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;
/**
* <p>The maximum number of results to return in this operation.</p>
* @public
*/
maxResults?: number;
/**
* <p>The attribute name used to search for things.</p>
* @public
*/
attributeName?: string;
/**
* <p>The attribute value used to search for things.</p>
* @public
*/
attributeValue?: string;
/**
* <p>The name of the thing type used to search for things.</p>
* @public
*/
thingTypeName?: string;
/**
* <p>When <code>true</code>, the action returns the thing resources with attribute values
* that start with the <code>attributeValue</code> provided.</p>
* <p>When <code>false</code>, or not present, the action returns only the thing
* resources with attribute values that match the entire <code>attributeValue</code>
* provided. </p>
* @public
*/
usePrefixAttributeValue?: boolean;
}
/**
* <p>The properties of the thing, including thing name, thing type name, and a list of thing
* attributes.</p>
* @public
*/
export interface ThingAttribute {
/**
* <p>The name of the thing.</p>
* @public
*/
thingName?: string;
/**
* <p>The name of the thing type, if the thing has been associated with a type.</p>
* @public
*/
thingTypeName?: string;
/**
* <p>The thing ARN.</p>
* @public
*/
thingArn?: string;
/**
* <p>A list of thing attributes which are name-value pairs.</p>
* @public
*/
attributes?: Record<string, string>;
/**
* <p>The version of the thing record in the registry.</p>
* @public
*/
version?: number;
}
/**
* <p>The output from the ListThings operation.</p>
* @public
*/
export interface ListThingsResponse {
/**
* <p>The things.</p>
* @public
*/
things?: ThingAttribute[];
/**
* <p>The token to use to get the next set of results. Will not be returned if operation has returned all results.</p>
* @public
*/
nextToken?: string;
}
/**
* @public
*/
export interface ListThingsInBillingGroupRequest {
/**
* <p>The name of the billing group.</p>
* @public
*/
billingGroupName: string | undefined;
/**
* <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;
/**
* <p>The maximum number of results to return per request.</p>
* @public
*/
maxResults?: number;
}
/**
* @public
*/
export interface ListThingsInBillingGroupResponse {
/**
* <p>A list of things in the billing group.</p>
* @public
*/
things?: string[];
/**
* <p>The token to use to get the next set of results. Will not be returned if operation has returned all results.</p>
* @public
*/
nextToken?: string;
}
/**
* @public
*/
export interface ListThingsInThingGroupRequest {
/**
* <p>The thing group name.</p>
* @public
*/
thingGroupName: string | undefined;
/**
* <p>When true, list things in this thing group and in all child groups as
* well.</p>
* @public
*/
recursive?: boolean;
/**
* <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;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
}
/**
* @public
*/
export interface ListThingsInThingGroupResponse {
/**
* <p>The things in the specified thing group.</p>
* @public
*/
things?: string[];
/**
* <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;
}
/**
* <p>The input for the ListThingTypes operation.</p>
* @public
*/
export interface ListThingTypesRequest {
/**
* <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;
/**
* <p>The maximum number of results to return in this operation.</p>
* @public
*/
maxResults?: number;
/**
* <p>The name of the thing type.</p>
* @public
*/
thingTypeName?: string;
}
/**
* <p>The definition of the thing type, including thing type name and description.</p>
* @public
*/
export interface ThingTypeDefinition {
/**
* <p>The name of the thing type.</p>
* @public
*/
thingTypeName?: string;
/**
* <p>The thing type ARN.</p>
* @public
*/
thingTypeArn?: string;
/**
* <p>The ThingTypeProperties for the thing type.</p>
* @public
*/
thingTypeProperties?: ThingTypeProperties;
/**
* <p>The ThingTypeMetadata contains additional information about the thing type including: creation date and
* time, a value indicating whether the thing type is deprecated, and a date and time when it was
* deprecated.</p>
* @public
*/
thingTypeMetadata?: ThingTypeMetadata;
}
/**
* <p>The output for the ListThingTypes operation.</p>
* @public
*/
export interface ListThingTypesResponse {
/**
* <p>The thing types.</p>
* @public
*/
thingTypes?: ThingTypeDefinition[];
/**
* <p>The token for the next set of results. Will not be returned if operation has returned all results.</p>
* @public
*/
nextToken?: string;
}
/**
* @public
*/
export interface ListTopicRuleDestinationsRequest {
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
/**
* <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;
}
/**
* <p>Information about an HTTP URL destination.</p>
* @public
*/
export interface HttpUrlDestinationSummary {
/**
* <p>The URL used to confirm ownership of or access to the HTTP topic rule destination
* URL.</p>
* @public
*/
confirmationUrl?: string;
}
/**
* <p>The summary of a virtual private cloud (VPC) destination.</p>
* @public
*/
export interface VpcDestinationSummary {
/**
* <p>The subnet IDs of the VPC destination.</p>
* @public
*/
subnetIds?: string[];
/**
* <p>The security groups of the VPC destination.</p>
* @public
*/
securityGroups?: string[];
/**
* <p>The ID of the VPC.</p>
* @public
*/
vpcId?: string;
/**
* <p>The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).</p>
* @public
*/
roleArn?: string;
}
/**
* <p>Information about the topic rule destination.</p>
* @public
*/
export interface TopicRuleDestinationSummary {
/**
* <p>The topic rule destination ARN.</p>
* @public
*/
arn?: string;
/**
* <p>The status of the topic rule destination. Valid values are:</p>
* <dl>
* <dt>IN_PROGRESS</dt>
* <dd>
* <p>A topic rule destination was created but has not been confirmed. You can set
* <code>status</code> to <code>IN_PROGRESS</code> by calling
* <code>UpdateTopicRuleDestination</code>. Calling
* <code>UpdateTopicRuleDestination</code> causes a new confirmation challenge to
* be sent to your confirmation endpoint.</p>
* </dd>
* <dt>ENABLED</dt>
* <dd>
* <p>Confirmation was completed, and traffic to this destination is allowed. You can
* set <code>status</code> to <code>DISABLED</code> by calling
* <code>UpdateTopicRuleDestination</code>.</p>
* </dd>
* <dt>DISABLED</dt>
* <dd>
* <p>Confirmation was completed, and traffic to this destination is not allowed. You
* can set <code>status</code> to <code>ENABLED</code> by calling
* <code>UpdateTopicRuleDestination</code>.</p>
* </dd>
* <dt>ERROR</dt>
* <dd>
* <p>Confirmation could not be completed, for example if the confirmation timed out.
* You can call <code>GetTopicRuleDestination</code> for details about the error. You
* can set <code>status</code> to <code>IN_PROGRESS</code> by calling
* <code>UpdateTopicRuleDestination</code>. Calling
* <code>UpdateTopicRuleDestination</code> causes a new confirmation challenge to
* be sent to your confirmation endpoint.</p>
* </dd>
* </dl>
* @public
*/
status?: TopicRuleDestinationStatus;
/**
* <p>The date and time when the topic rule destination was created.</p>
* @public
*/
createdAt?: Date;
/**
* <p>The date and time when the topic rule destination was last updated.</p>
* @public
*/
lastUpdatedAt?: Date;
/**
* <p>The reason the topic rule destination is in the current status.</p>
* @public
*/
statusReason?: string;
/**
* <p>Information about the HTTP URL.</p>
* @public
*/
httpUrlSummary?: HttpUrlDestinationSummary;
/**
* <p>Information about the virtual private cloud (VPC) connection.</p>
* @public
*/
vpcDestinationSummary?: VpcDestinationSummary;
}
/**
* @public
*/
export interface ListTopicRuleDestinationsResponse {
/**
* <p>Information about a topic rule destination.</p>
* @public
*/
destinationSummaries?: TopicRuleDestinationSummary[];
/**
* <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;
}
/**
* <p>The input for the ListTopicRules operation.</p>
* @public
*/
export interface ListTopicRulesRequest {
/**
* <p>The topic.</p>
* @public
*/
topic?: string;
/**
* <p>The maximum number of results to return.</p>
* @public
*/
maxResults?: number;
/**
* <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;
/**
* <p>Specifies whether the rule is disabled.</p>
* @public
*/
ruleDisabled?: boolean;
}
/**
* <p>Describes a rule.</p>
* @public
*/
export interface TopicRuleListItem {
/**
* <p>The rule ARN.</p>
* @public
*/
ruleArn?: string;
/**
* <p>The name of the rule.</p>
* @public
*/
ruleName?: string;
/**
* <p>The pattern for the topic names that apply.</p>
* @public
*/
topicPattern?: string;
/**
* <p>The date and time the rule was created.</p>
* @public
*/
createdAt?: Date;
/**
* <p>Specifies whether the rule is disabled.</p>
* @public
*/
ruleDisabled?: boolean;
}
/**
* <p>The output from the ListTopicRules operation.</p>
* @public
*/
export interface ListTopicRulesResponse {
/**
* <p>The rules.</p>
* @public
*/
rules?: TopicRuleListItem[];
/**
* <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;
}
/**
* @public
*/
export interface ListV2LoggingLevelsRequest {
/**
* <p>The type of resource for which you are configuring logging. Must be
* <code>THING_Group</code>.</p>
* @public
*/
targetType?: LogTargetType;
/**
* <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;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
}
/**
* <p>A log target.</p>
* @public
*/
export interface LogTarget {
/**
* <p>The target type.</p>
* @public
*/
targetType: LogTargetType | undefined;
/**
* <p>The target name.</p>
* @public
*/
targetName?: string;
}
/**
* <p>The target configuration.</p>
* @public
*/
export interface LogTargetConfiguration {
/**
* <p>A log target</p>
* @public
*/
logTarget?: LogTarget;
/**
* <p>The logging level.</p>
* @public
*/
logLevel?: LogLevel;
}
/**
* @public
*/
export interface ListV2LoggingLevelsResponse {
/**
* <p>The logging configuration for a target.</p>
* @public
*/
logTargetConfigurations?: LogTargetConfiguration[];
/**
* <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;
}
/**
* @public
*/
export interface ListViolationEventsRequest {
/**
* <p>The start time for the alerts to be listed.</p>
* @public
*/
startTime: Date | undefined;
/**
* <p>The end time for the alerts to be listed.</p>
* @public
*/
endTime: Date | undefined;
/**
* <p>A filter to limit results to those alerts caused by the specified thing.</p>
* @public
*/
thingName?: string;
/**
* <p>A filter to limit results to those alerts generated by the specified security profile.</p>
* @public
*/
securityProfileName?: string;
/**
* <p>
* The criteria for a behavior.
* </p>
* @public
*/
behaviorCriteriaType?: BehaviorCriteriaType;
/**
* <p>
* A list of all suppressed alerts.
* </p>
* @public
*/
listSuppressedAlerts?: boolean;
/**
* <p>The verification state of the violation (detect alarm).</p>
* @public
*/
verificationState?: VerificationState;
/**
* <p>The token for the next set of results.</p>
* @public
*/
nextToken?: string;
/**
* <p>The maximum number of results to return at one time.</p>
* @public
*/
maxResults?: number;
}
/**
* @public
* @enum
*/
export declare const ViolationEventType: {
readonly ALARM_CLEARED: "alarm-cleared";
readonly ALARM_INVALIDATED: "alarm-invalidated";
readonly IN_ALARM: "in-alarm";
};
/**
* @public
*/
export type ViolationEventType = (typeof ViolationEventType)[keyof typeof ViolationEventType];
/**
* <p>Information about a Device Defender security profile behavior violation.</p>
* @public
*/
export interface ViolationEvent {
/**
* <p>The ID of the violation event.</p>
* @public
*/
violationId?: string;
/**
* <p>The name of the thing responsible for the violation event.</p>
* @public
*/
thingName?: string;
/**
* <p>The name of the security profile whose behavior was violated.</p>
* @public
*/
securityProfileName?: string;
/**
* <p>The behavior that was violated.</p>
* @public
*/
behavior?: Behavior;
/**
* <p>The value of the metric (the measurement).</p>
* @public
*/
metricValue?: MetricValue;
/**
* <p>
* The details of a violation event.
* </p>
* @public
*/
violationEventAdditionalInfo?: ViolationEventAdditionalInfo;
/**
* <p>The type of violation event.</p>
* @public
*/
violationEventType?: ViolationEventType;
/**
* <p>The verification state of the violation (detect alarm).</p>
* @public
*/
verificationState?: VerificationState;
/**
* <p>The description of the verification state of the violation.</p>
* @public
*/
verificationStateDescription?: string;
/**
* <p>The time the violation event occurred.</p>
* @public
*/
violationEventTime?: Date;
}
/**
* @public
*/
export interface ListViolationEventsResponse {
/**
* <p>The security profile violation alerts issued for this account during the given time period,
* potentially filtered by security profile, behavior violated, or thing (device) violating.</p>
* @public
*/
violationEvents?: ViolationEvent[];
/**
* <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;
}
/**
* @public
*/
export interface PutVerificationStateOnViolationRequest {
/**
* <p>The violation ID.</p>
* @public
*/
violationId: string | undefined;
/**
* <p>The verification state of the violation.</p>
* @public
*/
verificationState: VerificationState | undefined;
/**
* <p>The description of the verification state of the violation (detect alarm).</p>
* @public
*/
verificationStateDescription?: string;
}
/**
* @public
*/
export interface PutVerificationStateOnViolationResponse {
}
/**
* <p>The input to the RegisterCACertificate operation.</p>
* @public
*/
export interface RegisterCACertificateRequest {
/**
* <p>The CA certificate.</p>
* @public
*/
caCertificate: string | undefined;
/**
* <p>The private key verification certificate. If <code>certificateMode</code> is
* <code>SNI_ONLY</code>, the <code>verificationCertificate</code> field must be empty. If
* <code>certificateMode</code> is <code>DEFAULT</code> or not provided, the
* <code>verificationCertificate</code> field must not be empty. </p>
* @public
*/
verificationCertificate?: string;
/**
* <p>A boolean value that specifies if the CA certificate is set to active.</p>
* <p>Valid values: <code>ACTIVE | INACTIVE</code>
* </p>
* @public
*/
setAsActive?: boolean;
/**
* <p>Allows this CA certificate to be used for auto registration of device
* certificates.</p>
* @public
*/
allowAutoRegistration?: boolean;
/**
* <p>Information about the registration configuration.</p>
* @public
*/
registrationConfig?: RegistrationConfig;
/**
* <p>Metadata which can be used to manage the CA certificate.</p>
* <note>
* <p>For URI Request parameters use format: ...key1=value1&key2=value2...</p>
* <p>For the CLI command-line parameter use format: &&tags
* "key1=value1&key2=value2..."</p>
* <p>For the cli-input-json file use format: "tags":
* "key1=value1&key2=value2..."</p>
* </note>
* @public
*/
tags?: Tag[];
/**
* <p>Describes the certificate mode in which the Certificate Authority (CA) will be