import { CertificateField, NotificationChannel, NotificationEvent, TrustAnchorType } from "./enums"; export interface MappingRule { specifier: string | undefined; } export interface AttributeMapping { certificateField?: CertificateField | undefined; mappingRules?: MappingRule[] | undefined; } export interface Tag { key: string | undefined; value: string | undefined; } export interface CreateProfileRequest { name: string | undefined; requireInstanceProperties?: boolean | undefined; sessionPolicy?: string | undefined; roleArns: string[] | undefined; managedPolicyArns?: string[] | undefined; durationSeconds?: number | undefined; enabled?: boolean | undefined; tags?: Tag[] | undefined; acceptRoleSessionName?: boolean | undefined; } export interface ProfileDetail { profileId?: string | undefined; profileArn?: string | undefined; name?: string | undefined; requireInstanceProperties?: boolean | undefined; enabled?: boolean | undefined; createdBy?: string | undefined; sessionPolicy?: string | undefined; roleArns?: string[] | undefined; managedPolicyArns?: string[] | undefined; createdAt?: Date | undefined; updatedAt?: Date | undefined; durationSeconds?: number | undefined; acceptRoleSessionName?: boolean | undefined; attributeMappings?: AttributeMapping[] | undefined; } export interface ProfileDetailResponse { profile?: ProfileDetail | undefined; } export interface NotificationSetting { enabled: boolean | undefined; event: NotificationEvent | undefined; threshold?: number | undefined; channel?: NotificationChannel | undefined; } export type SourceData = | SourceData.AcmPcaArnMember | SourceData.X509CertificateDataMember | SourceData.$UnknownMember; export declare namespace SourceData { interface X509CertificateDataMember { x509CertificateData: string; acmPcaArn?: never; $unknown?: never; } interface AcmPcaArnMember { x509CertificateData?: never; acmPcaArn: string; $unknown?: never; } interface $UnknownMember { x509CertificateData?: never; acmPcaArn?: never; $unknown: [string, any]; } interface Visitor { x509CertificateData: (value: string) => T; acmPcaArn: (value: string) => T; _: (name: string, value: any) => T; } } export interface Source { sourceType?: TrustAnchorType | undefined; sourceData?: SourceData | undefined; } export interface CreateTrustAnchorRequest { name: string | undefined; source: Source | undefined; enabled?: boolean | undefined; tags?: Tag[] | undefined; notificationSettings?: NotificationSetting[] | undefined; } export interface NotificationSettingDetail { enabled: boolean | undefined; event: NotificationEvent | undefined; threshold?: number | undefined; channel?: NotificationChannel | undefined; configuredBy?: string | undefined; } export interface TrustAnchorDetail { trustAnchorId?: string | undefined; trustAnchorArn?: string | undefined; name?: string | undefined; source?: Source | undefined; enabled?: boolean | undefined; createdAt?: Date | undefined; updatedAt?: Date | undefined; notificationSettings?: NotificationSettingDetail[] | undefined; } export interface TrustAnchorDetailResponse { trustAnchor: TrustAnchorDetail | undefined; } export interface CredentialSummary { seenAt?: Date | undefined; serialNumber?: string | undefined; issuer?: string | undefined; enabled?: boolean | undefined; x509CertificateData?: string | undefined; failed?: boolean | undefined; } export interface CrlDetail { crlId?: string | undefined; crlArn?: string | undefined; name?: string | undefined; enabled?: boolean | undefined; crlData?: Uint8Array | undefined; trustAnchorArn?: string | undefined; createdAt?: Date | undefined; updatedAt?: Date | undefined; } export interface CrlDetailResponse { crl: CrlDetail | undefined; } export interface ScalarCrlRequest { crlId: string | undefined; } export interface ImportCrlRequest { name: string | undefined; crlData: Uint8Array | undefined; enabled?: boolean | undefined; tags?: Tag[] | undefined; trustAnchorArn: string | undefined; } export interface ListCrlsResponse { nextToken?: string | undefined; crls?: CrlDetail[] | undefined; } export interface ListRequest { nextToken?: string | undefined; pageSize?: number | undefined; } export interface UpdateCrlRequest { crlId: string | undefined; name?: string | undefined; crlData?: Uint8Array | undefined; } export interface DeleteAttributeMappingRequest { profileId: string | undefined; certificateField: CertificateField | undefined; specifiers?: string[] | undefined; } export interface DeleteAttributeMappingResponse { profile: ProfileDetail | undefined; } export interface ScalarProfileRequest { profileId: string | undefined; } export interface ScalarTrustAnchorRequest { trustAnchorId: string | undefined; } export interface ScalarSubjectRequest { subjectId: string | undefined; } export interface InstanceProperty { seenAt?: Date | undefined; properties?: Record | undefined; failed?: boolean | undefined; } export interface SubjectDetail { subjectArn?: string | undefined; subjectId?: string | undefined; enabled?: boolean | undefined; x509Subject?: string | undefined; lastSeenAt?: Date | undefined; createdAt?: Date | undefined; updatedAt?: Date | undefined; credentials?: CredentialSummary[] | undefined; instanceProperties?: InstanceProperty[] | undefined; } export interface SubjectDetailResponse { subject?: SubjectDetail | undefined; } export interface ListProfilesResponse { nextToken?: string | undefined; profiles?: ProfileDetail[] | undefined; } export interface SubjectSummary { subjectArn?: string | undefined; subjectId?: string | undefined; enabled?: boolean | undefined; x509Subject?: string | undefined; lastSeenAt?: Date | undefined; createdAt?: Date | undefined; updatedAt?: Date | undefined; } export interface ListSubjectsResponse { subjects?: SubjectSummary[] | undefined; nextToken?: string | undefined; } export interface ListTagsForResourceRequest { resourceArn: string | undefined; } export interface ListTagsForResourceResponse { tags?: Tag[] | undefined; } export interface ListTrustAnchorsResponse { nextToken?: string | undefined; trustAnchors?: TrustAnchorDetail[] | undefined; } export interface NotificationSettingKey { event: NotificationEvent | undefined; channel?: NotificationChannel | undefined; } export interface PutAttributeMappingRequest { profileId: string | undefined; certificateField: CertificateField | undefined; mappingRules: MappingRule[] | undefined; } export interface PutAttributeMappingResponse { profile: ProfileDetail | undefined; } export interface UpdateProfileRequest { profileId: string | undefined; name?: string | undefined; sessionPolicy?: string | undefined; roleArns?: string[] | undefined; managedPolicyArns?: string[] | undefined; durationSeconds?: number | undefined; acceptRoleSessionName?: boolean | undefined; } export interface PutNotificationSettingsRequest { trustAnchorId: string | undefined; notificationSettings: NotificationSetting[] | undefined; } export interface PutNotificationSettingsResponse { trustAnchor: TrustAnchorDetail | undefined; } export interface ResetNotificationSettingsRequest { trustAnchorId: string | undefined; notificationSettingKeys: NotificationSettingKey[] | undefined; } export interface ResetNotificationSettingsResponse { trustAnchor: TrustAnchorDetail | undefined; } export interface TagResourceRequest { resourceArn: string | undefined; tags: Tag[] | undefined; } export interface TagResourceResponse {} export interface UpdateTrustAnchorRequest { trustAnchorId: string | undefined; name?: string | undefined; source?: Source | undefined; } export interface UntagResourceRequest { resourceArn: string | undefined; tagKeys: string[] | undefined; } export interface UntagResourceResponse {}