import { AccessMethodType, ActionType, AuditReportResponseFormat, AuditReportStatus, CertificateAuthorityStatus, CertificateAuthorityType, CertificateAuthorityUsageMode, CrlType, ExtendedKeyUsageType, FailureReason, KeyAlgorithm, KeyStorageSecurityStandard, PolicyQualifierId, ResourceOwner, RevocationReason, S3ObjectAcl, SigningAlgorithm, ValidityPeriodType, } from "./enums"; export interface CustomAttribute { ObjectIdentifier: string | undefined; Value: string | undefined; } export interface ASN1Subject { Country?: string | undefined; Organization?: string | undefined; OrganizationalUnit?: string | undefined; DistinguishedNameQualifier?: string | undefined; State?: string | undefined; CommonName?: string | undefined; SerialNumber?: string | undefined; Locality?: string | undefined; Title?: string | undefined; Surname?: string | undefined; GivenName?: string | undefined; Initials?: string | undefined; Pseudonym?: string | undefined; GenerationQualifier?: string | undefined; CustomAttributes?: CustomAttribute[] | undefined; } export interface EdiPartyName { PartyName: string | undefined; NameAssigner?: string | undefined; } export interface OtherName { TypeId: string | undefined; Value: string | undefined; } export interface GeneralName { OtherName?: OtherName | undefined; Rfc822Name?: string | undefined; DnsName?: string | undefined; DirectoryName?: ASN1Subject | undefined; EdiPartyName?: EdiPartyName | undefined; UniformResourceIdentifier?: string | undefined; IpAddress?: string | undefined; RegisteredId?: string | undefined; } export interface AccessMethod { CustomObjectIdentifier?: string | undefined; AccessMethodType?: AccessMethodType | undefined; } export interface AccessDescription { AccessMethod: AccessMethod | undefined; AccessLocation: GeneralName | undefined; } export interface KeyUsage { DigitalSignature?: boolean | undefined; NonRepudiation?: boolean | undefined; KeyEncipherment?: boolean | undefined; DataEncipherment?: boolean | undefined; KeyAgreement?: boolean | undefined; KeyCertSign?: boolean | undefined; CRLSign?: boolean | undefined; EncipherOnly?: boolean | undefined; DecipherOnly?: boolean | undefined; } export interface CsrExtensions { KeyUsage?: KeyUsage | undefined; SubjectInformationAccess?: AccessDescription[] | undefined; } export interface CertificateAuthorityConfiguration { KeyAlgorithm: KeyAlgorithm | undefined; SigningAlgorithm: SigningAlgorithm | undefined; Subject: ASN1Subject | undefined; CsrExtensions?: CsrExtensions | undefined; } export interface CrlDistributionPointExtensionConfiguration { OmitExtension: boolean | undefined; } export interface CrlConfiguration { Enabled: boolean | undefined; ExpirationInDays?: number | undefined; CustomCname?: string | undefined; S3BucketName?: string | undefined; S3ObjectAcl?: S3ObjectAcl | undefined; CrlDistributionPointExtensionConfiguration?: | CrlDistributionPointExtensionConfiguration | undefined; CrlType?: CrlType | undefined; CustomPath?: string | undefined; } export interface OcspConfiguration { Enabled: boolean | undefined; OcspCustomCname?: string | undefined; } export interface RevocationConfiguration { CrlConfiguration?: CrlConfiguration | undefined; OcspConfiguration?: OcspConfiguration | undefined; } export interface Tag { Key: string | undefined; Value?: string | undefined; } export interface CreateCertificateAuthorityRequest { CertificateAuthorityConfiguration: CertificateAuthorityConfiguration | undefined; RevocationConfiguration?: RevocationConfiguration | undefined; CertificateAuthorityType: CertificateAuthorityType | undefined; IdempotencyToken?: string | undefined; KeyStorageSecurityStandard?: KeyStorageSecurityStandard | undefined; Tags?: Tag[] | undefined; UsageMode?: CertificateAuthorityUsageMode | undefined; } export interface CreateCertificateAuthorityResponse { CertificateAuthorityArn?: string | undefined; } export interface CreateCertificateAuthorityAuditReportRequest { CertificateAuthorityArn: string | undefined; S3BucketName: string | undefined; AuditReportResponseFormat: AuditReportResponseFormat | undefined; } export interface CreateCertificateAuthorityAuditReportResponse { AuditReportId?: string | undefined; S3Key?: string | undefined; } export interface CreatePermissionRequest { CertificateAuthorityArn: string | undefined; Principal: string | undefined; SourceAccount?: string | undefined; Actions: ActionType[] | undefined; } export interface DeleteCertificateAuthorityRequest { CertificateAuthorityArn: string | undefined; PermanentDeletionTimeInDays?: number | undefined; } export interface DeletePermissionRequest { CertificateAuthorityArn: string | undefined; Principal: string | undefined; SourceAccount?: string | undefined; } export interface DeletePolicyRequest { ResourceArn: string | undefined; } export interface DescribeCertificateAuthorityRequest { CertificateAuthorityArn: string | undefined; } export interface CertificateAuthority { Arn?: string | undefined; OwnerAccount?: string | undefined; CreatedAt?: Date | undefined; LastStateChangeAt?: Date | undefined; Type?: CertificateAuthorityType | undefined; Serial?: string | undefined; Status?: CertificateAuthorityStatus | undefined; NotBefore?: Date | undefined; NotAfter?: Date | undefined; FailureReason?: FailureReason | undefined; CertificateAuthorityConfiguration?: CertificateAuthorityConfiguration | undefined; RevocationConfiguration?: RevocationConfiguration | undefined; RestorableUntil?: Date | undefined; KeyStorageSecurityStandard?: KeyStorageSecurityStandard | undefined; UsageMode?: CertificateAuthorityUsageMode | undefined; } export interface DescribeCertificateAuthorityResponse { CertificateAuthority?: CertificateAuthority | undefined; } export interface DescribeCertificateAuthorityAuditReportRequest { CertificateAuthorityArn: string | undefined; AuditReportId: string | undefined; } export interface DescribeCertificateAuthorityAuditReportResponse { AuditReportStatus?: AuditReportStatus | undefined; S3BucketName?: string | undefined; S3Key?: string | undefined; CreatedAt?: Date | undefined; } export interface GetCertificateRequest { CertificateAuthorityArn: string | undefined; CertificateArn: string | undefined; } export interface GetCertificateResponse { Certificate?: string | undefined; CertificateChain?: string | undefined; } export interface GetCertificateAuthorityCertificateRequest { CertificateAuthorityArn: string | undefined; } export interface GetCertificateAuthorityCertificateResponse { Certificate?: string | undefined; CertificateChain?: string | undefined; } export interface GetCertificateAuthorityCsrRequest { CertificateAuthorityArn: string | undefined; } export interface GetCertificateAuthorityCsrResponse { Csr?: string | undefined; } export interface GetPolicyRequest { ResourceArn: string | undefined; } export interface GetPolicyResponse { Policy?: string | undefined; } export interface ImportCertificateAuthorityCertificateRequest { CertificateAuthorityArn: string | undefined; Certificate: Uint8Array | undefined; CertificateChain?: Uint8Array | undefined; } export interface Qualifier { CpsUri: string | undefined; } export interface PolicyQualifierInfo { PolicyQualifierId: PolicyQualifierId | undefined; Qualifier: Qualifier | undefined; } export interface PolicyInformation { CertPolicyId: string | undefined; PolicyQualifiers?: PolicyQualifierInfo[] | undefined; } export interface CustomExtension { ObjectIdentifier: string | undefined; Value: string | undefined; Critical?: boolean | undefined; } export interface ExtendedKeyUsage { ExtendedKeyUsageType?: ExtendedKeyUsageType | undefined; ExtendedKeyUsageObjectIdentifier?: string | undefined; } export interface Extensions { CertificatePolicies?: PolicyInformation[] | undefined; ExtendedKeyUsage?: ExtendedKeyUsage[] | undefined; KeyUsage?: KeyUsage | undefined; SubjectAlternativeNames?: GeneralName[] | undefined; CustomExtensions?: CustomExtension[] | undefined; } export interface ApiPassthrough { Extensions?: Extensions | undefined; Subject?: ASN1Subject | undefined; } export interface Validity { Value: number | undefined; Type: ValidityPeriodType | undefined; } export interface IssueCertificateRequest { ApiPassthrough?: ApiPassthrough | undefined; CertificateAuthorityArn: string | undefined; Csr: Uint8Array | undefined; SigningAlgorithm: SigningAlgorithm | undefined; TemplateArn?: string | undefined; Validity: Validity | undefined; ValidityNotBefore?: Validity | undefined; IdempotencyToken?: string | undefined; } export interface IssueCertificateResponse { CertificateArn?: string | undefined; } export interface ListCertificateAuthoritiesRequest { MaxResults?: number | undefined; NextToken?: string | undefined; ResourceOwner?: ResourceOwner | undefined; } export interface ListCertificateAuthoritiesResponse { NextToken?: string | undefined; CertificateAuthorities?: CertificateAuthority[] | undefined; } export interface ListPermissionsRequest { MaxResults?: number | undefined; NextToken?: string | undefined; CertificateAuthorityArn: string | undefined; } export interface Permission { CertificateAuthorityArn?: string | undefined; CreatedAt?: Date | undefined; Principal?: string | undefined; SourceAccount?: string | undefined; Actions?: ActionType[] | undefined; Policy?: string | undefined; } export interface ListPermissionsResponse { NextToken?: string | undefined; Permissions?: Permission[] | undefined; } export interface ListTagsRequest { MaxResults?: number | undefined; NextToken?: string | undefined; CertificateAuthorityArn: string | undefined; } export interface ListTagsResponse { NextToken?: string | undefined; Tags?: Tag[] | undefined; } export interface PutPolicyRequest { ResourceArn: string | undefined; Policy: string | undefined; } export interface RestoreCertificateAuthorityRequest { CertificateAuthorityArn: string | undefined; } export interface RevokeCertificateRequest { CertificateAuthorityArn: string | undefined; CertificateSerial: string | undefined; RevocationReason: RevocationReason | undefined; } export interface TagCertificateAuthorityRequest { CertificateAuthorityArn: string | undefined; Tags: Tag[] | undefined; } export interface UntagCertificateAuthorityRequest { CertificateAuthorityArn: string | undefined; Tags: Tag[] | undefined; } export interface UpdateCertificateAuthorityRequest { CertificateAuthorityArn: string | undefined; RevocationConfiguration?: RevocationConfiguration | undefined; Status?: CertificateAuthorityStatus | undefined; }