// generated from terraform resource schema
import * as cdktf from 'cdktf';
export class DataAwsSignerSigningJobRevocationRecord extends cdktf.ComplexComputedList {
    // reason - computed: true, optional: false, required: false
    get reason() {
        return this.getStringAttribute('reason');
    }
    // revoked_at - computed: true, optional: false, required: false
    get revokedAt() {
        return this.getStringAttribute('revoked_at');
    }
    // revoked_by - computed: true, optional: false, required: false
    get revokedBy() {
        return this.getStringAttribute('revoked_by');
    }
}
export class DataAwsSignerSigningJobSignedObjectS3 extends cdktf.ComplexComputedList {
    // bucket - computed: true, optional: false, required: false
    get bucket() {
        return this.getStringAttribute('bucket');
    }
    // key - computed: true, optional: false, required: false
    get key() {
        return this.getStringAttribute('key');
    }
}
export class DataAwsSignerSigningJobSignedObject extends cdktf.ComplexComputedList {
    // s3 - computed: true, optional: false, required: false
    get s3() {
        // Getting the computed value is not yet implemented
        return this.interpolationForAttribute('s3');
    }
}
export class DataAwsSignerSigningJobSourceS3 extends cdktf.ComplexComputedList {
    // bucket - computed: true, optional: false, required: false
    get bucket() {
        return this.getStringAttribute('bucket');
    }
    // key - computed: true, optional: false, required: false
    get key() {
        return this.getStringAttribute('key');
    }
    // version - computed: true, optional: false, required: false
    get version() {
        return this.getStringAttribute('version');
    }
}
export class DataAwsSignerSigningJobSource extends cdktf.ComplexComputedList {
    // s3 - computed: true, optional: false, required: false
    get s3() {
        // Getting the computed value is not yet implemented
        return this.interpolationForAttribute('s3');
    }
}
/**
* Represents a {@link https://www.terraform.io/docs/providers/aws/d/signer_signing_job aws_signer_signing_job}
*/
export class DataAwsSignerSigningJob extends cdktf.TerraformDataSource {
    // =================
    // STATIC PROPERTIES
    // =================
    static tfResourceType = "aws_signer_signing_job";
    // ===========
    // INITIALIZER
    // ===========
    /**
    * Create a new {@link https://www.terraform.io/docs/providers/aws/d/signer_signing_job aws_signer_signing_job} Data Source
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options DataAwsSignerSigningJobConfig
    */
    constructor(scope, id, config) {
        super(scope, id, {
            terraformResourceType: 'aws_signer_signing_job',
            terraformGeneratorMetadata: {
                providerName: 'aws'
            },
            provider: config.provider,
            dependsOn: config.dependsOn,
            count: config.count,
            lifecycle: config.lifecycle
        });
        this._jobId = config.jobId;
    }
    // ==========
    // ATTRIBUTES
    // ==========
    // completed_at - computed: true, optional: false, required: false
    get completedAt() {
        return this.getStringAttribute('completed_at');
    }
    // created_at - computed: true, optional: false, required: false
    get createdAt() {
        return this.getStringAttribute('created_at');
    }
    // id - computed: true, optional: true, required: false
    get id() {
        return this.getStringAttribute('id');
    }
    // job_id - computed: false, optional: false, required: true
    _jobId;
    get jobId() {
        return this.getStringAttribute('job_id');
    }
    set jobId(value) {
        this._jobId = value;
    }
    // Temporarily expose input value. Use with caution.
    get jobIdInput() {
        return this._jobId;
    }
    // job_invoker - computed: true, optional: false, required: false
    get jobInvoker() {
        return this.getStringAttribute('job_invoker');
    }
    // job_owner - computed: true, optional: false, required: false
    get jobOwner() {
        return this.getStringAttribute('job_owner');
    }
    // platform_display_name - computed: true, optional: false, required: false
    get platformDisplayName() {
        return this.getStringAttribute('platform_display_name');
    }
    // platform_id - computed: true, optional: false, required: false
    get platformId() {
        return this.getStringAttribute('platform_id');
    }
    // profile_name - computed: true, optional: false, required: false
    get profileName() {
        return this.getStringAttribute('profile_name');
    }
    // profile_version - computed: true, optional: false, required: false
    get profileVersion() {
        return this.getStringAttribute('profile_version');
    }
    // requested_by - computed: true, optional: false, required: false
    get requestedBy() {
        return this.getStringAttribute('requested_by');
    }
    // revocation_record - computed: true, optional: false, required: false
    revocationRecord(index) {
        return new DataAwsSignerSigningJobRevocationRecord(this, 'revocation_record', index, false);
    }
    // signature_expires_at - computed: true, optional: false, required: false
    get signatureExpiresAt() {
        return this.getStringAttribute('signature_expires_at');
    }
    // signed_object - computed: true, optional: false, required: false
    signedObject(index) {
        return new DataAwsSignerSigningJobSignedObject(this, 'signed_object', index, false);
    }
    // source - computed: true, optional: false, required: false
    source(index) {
        return new DataAwsSignerSigningJobSource(this, 'source', index, false);
    }
    // status - computed: true, optional: false, required: false
    get status() {
        return this.getStringAttribute('status');
    }
    // status_reason - computed: true, optional: false, required: false
    get statusReason() {
        return this.getStringAttribute('status_reason');
    }
    // =========
    // SYNTHESIS
    // =========
    synthesizeAttributes() {
        return {
            job_id: cdktf.stringToTerraform(this._jobId),
        };
    }
}
//# sourceMappingURL=data-aws-signer-signing-job.js.map