/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * String that contains X.509 ObjectIdentifier information. */ export type CustomObjectIdentifier = string; export type PolicyQualifierInfoList = PolicyQualifierInfo[]; export type CertificatePolicyList = PolicyInformation[]; export type ExtendedKeyUsageList = ExtendedKeyUsage[]; /** * String that contains X.509 Rfc822Name information. */ export type Rfc822Name = string; /** * String that contains X.509 DnsName information. */ export type DnsName = string; /** * Array of X.500 attribute type and value. CustomAttributes cannot be used along with pre-defined attributes. */ export type CustomAttributeList = CustomAttribute[]; /** * String that contains X.509 UniformResourceIdentifier information. */ export type UniformResourceIdentifier = string; /** * String that contains X.509 IpAddress information. */ export type IpAddress = string; export type GeneralNameList = GeneralName[]; /** * Array of X.509 extensions for a certificate. */ export type CustomExtensionList = CustomExtension[]; /** * A certificate issued via a private certificate authority */ export interface AwsAcmpcaCertificate { ApiPassthrough?: ApiPassthrough; /** * The Amazon Resource Name (ARN) for the private CA to issue the certificate. */ CertificateAuthorityArn: string; /** * The certificate signing request (CSR) for the Certificate. */ CertificateSigningRequest: string; /** * The name of the algorithm that will be used to sign the Certificate. */ SigningAlgorithm: string; /** * Specifies a custom configuration template to use when issuing a certificate. If this parameter is not provided, ACM Private CA defaults to the EndEntityCertificate/V1 template. */ TemplateArn?: string; Validity: Validity; ValidityNotBefore?: Validity1; /** * The issued certificate in base 64 PEM-encoded format. */ Certificate?: string; /** * The ARN of the issued certificate. */ Arn?: string; } /** * These are fields to be overridden in a certificate at the time of issuance. These requires an API_Passthrough template be used or they will be ignored. */ export interface ApiPassthrough { Extensions?: Extensions; Subject?: Subject; } /** * Structure that contains X.500 extensions for a Certificate. */ export interface Extensions { CertificatePolicies?: CertificatePolicyList; ExtendedKeyUsage?: ExtendedKeyUsageList; KeyUsage?: KeyUsage; SubjectAlternativeNames?: GeneralNameList; CustomExtensions?: CustomExtensionList; } /** * Structure that contains X.509 Policy information. */ export interface PolicyInformation { CertPolicyId: CustomObjectIdentifier; PolicyQualifiers?: PolicyQualifierInfoList; } /** * Structure that contains X.509 Policy qualifier information. */ export interface PolicyQualifierInfo { PolicyQualifierId: string; Qualifier: Qualifier; } /** * Structure that contains a X.509 policy qualifier. */ export interface Qualifier { CpsUri: string; } /** * Structure that contains X.509 ExtendedKeyUsage information. */ export interface ExtendedKeyUsage { ExtendedKeyUsageType?: string; ExtendedKeyUsageObjectIdentifier?: CustomObjectIdentifier; } /** * Structure that contains X.509 KeyUsage information. */ export interface KeyUsage { DigitalSignature?: boolean; NonRepudiation?: boolean; KeyEncipherment?: boolean; DataEncipherment?: boolean; KeyAgreement?: boolean; KeyCertSign?: boolean; CRLSign?: boolean; EncipherOnly?: boolean; DecipherOnly?: boolean; } /** * Structure that contains X.509 GeneralName information. Assign one and ONLY one field. */ export interface GeneralName { OtherName?: OtherName; Rfc822Name?: Rfc822Name; DnsName?: DnsName; DirectoryName?: Subject; EdiPartyName?: EdiPartyName; UniformResourceIdentifier?: UniformResourceIdentifier; IpAddress?: IpAddress; RegisteredId?: CustomObjectIdentifier; } /** * Structure that contains X.509 OtherName information. */ export interface OtherName { TypeId: CustomObjectIdentifier; Value: string; } /** * Structure that contains X.500 distinguished name information. */ export interface Subject { Country?: string; Organization?: string; OrganizationalUnit?: string; DistinguishedNameQualifier?: string; State?: string; CommonName?: string; SerialNumber?: string; Locality?: string; Title?: string; Surname?: string; GivenName?: string; Initials?: string; Pseudonym?: string; GenerationQualifier?: string; CustomAttributes?: CustomAttributeList; } /** * Structure that contains X.500 attribute type and value. */ export interface CustomAttribute { ObjectIdentifier: CustomObjectIdentifier; Value: string; } /** * Structure that contains X.509 EdiPartyName information. */ export interface EdiPartyName { PartyName: string; NameAssigner: string; } /** * Structure that contains X.509 extension information for a certificate. */ export interface CustomExtension { Critical?: boolean; ObjectIdentifier: CustomObjectIdentifier; Value: string; } /** * The time before which the Certificate will be valid. */ export interface Validity { Value: number; Type: string; } /** * The time after which the Certificate will be valid. */ export interface Validity1 { Value: number; Type: string; }