@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Certificate Manager Private Certificate Authority
@version 2017-08-22
@auth AWS SigV4
@endpoints 23
@hint download_for_search
@toc root(23)

@endpoint POST /
@required {CertificateAuthorityConfiguration: CertificateAuthorityConfiguration, CertificateAuthorityType: str}
@optional {RevocationConfiguration: RevocationConfiguration, IdempotencyToken: str, KeyStorageSecurityStandard: str, Tags: [Tag], UsageMode: str}
@returns(200) {CertificateAuthorityArn: str?}

@endpoint POST /
@required {CertificateAuthorityArn: str, S3BucketName: str, AuditReportResponseFormat: str}
@returns(200) {AuditReportId: str?, S3Key: str?}

@endpoint POST /
@required {CertificateAuthorityArn: str, Principal: str, Actions: [str]}
@optional {SourceAccount: str}

@endpoint POST /
@required {CertificateAuthorityArn: str}
@optional {PermanentDeletionTimeInDays: int}

@endpoint POST /
@required {CertificateAuthorityArn: str, Principal: str}
@optional {SourceAccount: str}

@endpoint POST /
@required {ResourceArn: str}

@endpoint POST /
@required {CertificateAuthorityArn: str}
@returns(200) {CertificateAuthority: CertificateAuthority?{Arn: str?, OwnerAccount: str?, CreatedAt: str(timestamp)?, LastStateChangeAt: str(timestamp)?, Type: str?, Serial: str?, Status: str?, NotBefore: str(timestamp)?, NotAfter: str(timestamp)?, FailureReason: str?, CertificateAuthorityConfiguration: CertificateAuthorityConfiguration?{KeyAlgorithm: str, SigningAlgorithm: str, Subject: ASN1Subject{Country: str?, Organization: str?, OrganizationalUnit: str?, DistinguishedNameQualifier: str?, State: str?, CommonName: str?, SerialNumber: str?, Locality: str?, Title: str?, Surname: str?, GivenName: str?, Initials: str?, Pseudonym: str?, GenerationQualifier: str?, CustomAttributes: [CustomAttribute]?}, CsrExtensions: CsrExtensions?{KeyUsage: KeyUsage?, SubjectInformationAccess: [AccessDescription]?}}, RevocationConfiguration: RevocationConfiguration?{CrlConfiguration: CrlConfiguration?{Enabled: bool, ExpirationInDays: int?, CustomCname: str?, S3BucketName: str?, S3ObjectAcl: str?, CrlDistributionPointExtensionConfiguration: CrlDistributionPointExtensionConfiguration?}, OcspConfiguration: OcspConfiguration?{Enabled: bool, OcspCustomCname: str?}}, RestorableUntil: str(timestamp)?, KeyStorageSecurityStandard: str?, UsageMode: str?}}

@endpoint POST /
@required {CertificateAuthorityArn: str, AuditReportId: str}
@returns(200) {AuditReportStatus: str?, S3BucketName: str?, S3Key: str?, CreatedAt: str(timestamp)?}

@endpoint POST /
@required {CertificateAuthorityArn: str, CertificateArn: str}
@returns(200) {Certificate: str?, CertificateChain: str?}

@endpoint POST /
@required {CertificateAuthorityArn: str}
@returns(200) {Certificate: str?, CertificateChain: str?}

@endpoint POST /
@required {CertificateAuthorityArn: str}
@returns(200) {Csr: str?}

@endpoint POST /
@required {ResourceArn: str}
@returns(200) {Policy: str?}

@endpoint POST /
@required {CertificateAuthorityArn: str, Certificate: bytes}
@optional {CertificateChain: bytes}

@endpoint POST /
@required {CertificateAuthorityArn: str, Csr: bytes, SigningAlgorithm: str, Validity: Validity}
@optional {ApiPassthrough: ApiPassthrough, TemplateArn: str, ValidityNotBefore: Validity, IdempotencyToken: str}
@returns(200) {CertificateArn: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, ResourceOwner: str}
@returns(200) {NextToken: str?, CertificateAuthorities: [CertificateAuthority]?}

@endpoint POST /
@required {CertificateAuthorityArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, Permissions: [Permission]?}

@endpoint POST /
@required {CertificateAuthorityArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, Tags: [Tag]?}

@endpoint POST /
@required {ResourceArn: str, Policy: str}

@endpoint POST /
@required {CertificateAuthorityArn: str}

@endpoint POST /
@required {CertificateAuthorityArn: str, CertificateSerial: str, RevocationReason: str}

@endpoint POST /
@required {CertificateAuthorityArn: str, Tags: [Tag]}

@endpoint POST /
@required {CertificateAuthorityArn: str, Tags: [Tag]}

@endpoint POST /
@required {CertificateAuthorityArn: str}
@optional {RevocationConfiguration: RevocationConfiguration, Status: str}

@end
