UNPKG

@aws-sdk/client-iot

Version:

AWS SDK for JavaScript Iot Client for Node.js, Browser and React Native

1,936 lines 116 kB
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