@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon CloudHSM
@version 2014-05-30
@auth AWS SigV4
@endpoints 20
@toc root(20)

@endpoint POST /
@required {ResourceArn: str, TagList: [Tag]}
@returns(200) {Status: str}

@endpoint POST /
@required {Label: str}
@returns(200) {HapgArn: str?}

@endpoint POST /
@required {SubnetId: str, SshKey: str, IamRoleArn: str, SubscriptionType: str}
@optional {EniIp: str, ExternalId: str, ClientToken: str, SyslogIp: str}
@returns(200) {HsmArn: str?}

@endpoint POST /
@required {Certificate: str}
@optional {Label: str}
@returns(200) {ClientArn: str?}

@endpoint POST /
@required {HapgArn: str}
@returns(200) {Status: str}

@endpoint POST /
@required {HsmArn: str}
@returns(200) {Status: str}

@endpoint POST /
@required {ClientArn: str}
@returns(200) {Status: str}

@endpoint POST /
@required {HapgArn: str}
@returns(200) {HapgArn: str?, HapgSerial: str?, HsmsLastActionFailed: [str]?, HsmsPendingDeletion: [str]?, HsmsPendingRegistration: [str]?, Label: str?, LastModifiedTimestamp: str?, PartitionSerialList: [str]?, State: str?}

@endpoint POST /
@optional {HsmArn: str, HsmSerialNumber: str}
@returns(200) {HsmArn: str?, Status: str?, StatusDetails: str?, AvailabilityZone: str?, EniId: str?, EniIp: str?, SubscriptionType: str?, SubscriptionStartDate: str?, SubscriptionEndDate: str?, VpcId: str?, SubnetId: str?, IamRoleArn: str?, SerialNumber: str?, VendorName: str?, HsmType: str?, SoftwareVersion: str?, SshPublicKey: str?, SshKeyLastUpdated: str?, ServerCertUri: str?, ServerCertLastUpdated: str?, Partitions: [str]?}

@endpoint POST /
@optional {ClientArn: str, CertificateFingerprint: str}
@returns(200) {ClientArn: str?, Certificate: str?, CertificateFingerprint: str?, LastModifiedTimestamp: str?, Label: str?}

@endpoint POST /
@required {ClientArn: str, ClientVersion: str, HapgList: [str]}
@returns(200) {ConfigType: str?, ConfigFile: str?, ConfigCred: str?}

@endpoint POST /
@returns(200) {AZList: [str]?}

@endpoint POST /
@optional {NextToken: str}
@returns(200) {HapgList: [str], NextToken: str?}

@endpoint POST /
@optional {NextToken: str}
@returns(200) {HsmList: [str]?, NextToken: str?}

@endpoint POST /
@optional {NextToken: str}
@returns(200) {ClientList: [str], NextToken: str?}

@endpoint POST /
@required {ResourceArn: str}
@returns(200) {TagList: [Tag]}

@endpoint POST /
@required {HapgArn: str}
@optional {Label: str, PartitionSerialList: [str]}
@returns(200) {HapgArn: str?}

@endpoint POST /
@required {HsmArn: str}
@optional {SubnetId: str, EniIp: str, IamRoleArn: str, ExternalId: str, SyslogIp: str}
@returns(200) {HsmArn: str?}

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

@endpoint POST /
@required {ResourceArn: str, TagKeyList: [str]}
@returns(200) {Status: str}

@end
