import * as core from "@terrascript/core"; export interface RevocationRecordArgs extends core.SchemaArgs { reason: string | core.StringOut; revokedAt: string | core.StringOut; revokedBy: string | core.StringOut; } export class RevocationRecord extends core.Schema { @core.attr(String, { computed: true }) public reason!: string | core.StringOut; @core.attr(String, { computed: true }) public revokedAt!: string | core.StringOut; @core.attr(String, { computed: true }) public revokedBy!: string | core.StringOut; } export interface DestinationS3Args extends core.SchemaArgs { bucket: string | core.StringOut; prefix?: string | core.StringOut; } export class DestinationS3 extends core.Schema { @core.attr(String) public bucket!: string | core.StringOut; @core.attr(String) public prefix?: string | core.StringOut; } export interface DestinationArgs extends core.SchemaArgs { s3: DestinationS3; } export class Destination extends core.Schema { @core.attr(DestinationS3) public s3!: DestinationS3; } export interface SourceS3Args extends core.SchemaArgs { bucket: string | core.StringOut; key: string | core.StringOut; version: string | core.StringOut; } export class SourceS3 extends core.Schema { @core.attr(String) public bucket!: string | core.StringOut; @core.attr(String) public key!: string | core.StringOut; @core.attr(String) public version!: string | core.StringOut; } export interface SourceArgs extends core.SchemaArgs { s3: SourceS3; } export class Source extends core.Schema { @core.attr(SourceS3) public s3!: SourceS3; } export interface SignedObjectS3Args extends core.SchemaArgs { bucket: string | core.StringOut; key: string | core.StringOut; } export class SignedObjectS3 extends core.Schema { @core.attr(String, { computed: true }) public bucket!: string | core.StringOut; @core.attr(String, { computed: true }) public key!: string | core.StringOut; } export interface SignedObjectArgs extends core.SchemaArgs { s3: core.Array | core.ArrayOut; } export class SignedObject extends core.Schema { @core.attr(SignedObjectS3, { computed: true, kind: "array" }) public s3!: core.Array | core.ArrayOut; } export interface SigningJobArgs extends core.ResourceArgs { /** * (Required) The S3 bucket in which to save your signed object. See [Destination](#destination) below * for details. */ destination: Destination; /** * (Optional) Set this argument to `true` to ignore signing job failures and retrieve failed status and * reason. Default `false`. */ ignoreSigningJobFailure?: boolean | core.BooleanOut; /** * (Required) The name of the profile to initiate the signing operation. */ profileName: string | core.StringOut; /** * (Required) The S3 bucket that contains the object to sign. See [Source](#source) below for details. */ source: Source; } export class SigningJob extends core.Resource { /** * Date and time in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8) that the signing * job was completed. */ @core.attr(String, { computed: true }) public completedAt!: string | core.StringOut; /** * Date and time in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8) that the signing * job was created. */ @core.attr(String, { computed: true }) public createdAt!: string | core.StringOut; /** * (Required) The S3 bucket in which to save your signed object. See [Destination](#destination) below * for details. */ @core.attr(Destination) public destination!: Destination; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Set this argument to `true` to ignore signing job failures and retrieve failed status and * reason. Default `false`. */ @core.attr(Boolean) public ignoreSigningJobFailure?: boolean | core.BooleanOut; /** * The ID of the signing job on output. */ @core.attr(String, { computed: true }) public jobId!: string | core.StringOut; /** * The IAM entity that initiated the signing job. */ @core.attr(String, { computed: true }) public jobInvoker!: string | core.StringOut; /** * The AWS account ID of the job owner. */ @core.attr(String, { computed: true }) public jobOwner!: string | core.StringOut; /** * A human-readable name for the signing platform associated with the signing job. */ @core.attr(String, { computed: true }) public platformDisplayName!: string | core.StringOut; /** * The platform to which your signed code image will be distributed. */ @core.attr(String, { computed: true }) public platformId!: string | core.StringOut; /** * (Required) The name of the profile to initiate the signing operation. */ @core.attr(String) public profileName!: string | core.StringOut; /** * The version of the signing profile used to initiate the signing job. */ @core.attr(String, { computed: true }) public profileVersion!: string | core.StringOut; /** * The IAM principal that requested the signing job. */ @core.attr(String, { computed: true }) public requestedBy!: string | core.StringOut; /** * A revocation record if the signature generated by the signing job has been revoked. Contains a times * tamp and the ID of the IAM entity that revoked the signature. */ @core.attr(RevocationRecord, { computed: true, kind: "array" }) public revocationRecord!: | core.Array | core.ArrayOut; /** * The time when the signature of a signing job expires. */ @core.attr(String, { computed: true }) public signatureExpiresAt!: string | core.StringOut; /** * Name of the S3 bucket where the signed code image is saved by code signing. */ @core.attr(SignedObject, { computed: true, kind: "array" }) public signedObject!: core.Array | core.ArrayOut; /** * (Required) The S3 bucket that contains the object to sign. See [Source](#source) below for details. */ @core.attr(Source) public source!: Source; /** * Status of the signing job. */ @core.attr(String, { computed: true }) public status!: string | core.StringOut; /** * String value that contains the status reason. */ @core.attr(String, { computed: true }) public statusReason!: string | core.StringOut; constructor(name: string, args?: SigningJobArgs) { super(name, "aws_signer_signing_job", args); } public override getNamespace(): string { return "aws_signer"; } }