import * as core from "@terrascript/core"; export interface DsFunctionArgs { /** * (Required) Name of the CloudFront function. */ name: string | core.StringOut; /** * (Required) The function’s stage, either `DEVELOPMENT` or `LIVE`. */ stage: string | core.StringOut; } export class DsFunction extends core.Data { /** * Amazon Resource Name (ARN) identifying your CloudFront Function. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * Source code of the function */ @core.attr(String, { computed: true }) public code!: string | core.StringOut; /** * Comment. */ @core.attr(String, { computed: true }) public comment!: string | core.StringOut; /** * ETag hash of the function */ @core.attr(String, { computed: true }) public etag!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * When this resource was last modified. */ @core.attr(String, { computed: true }) public lastModifiedTime!: string | core.StringOut; /** * (Required) Name of the CloudFront function. */ @core.attr(String) public name!: string | core.StringOut; /** * Identifier of the function's runtime. */ @core.attr(String, { computed: true }) public runtime!: string | core.StringOut; /** * (Required) The function’s stage, either `DEVELOPMENT` or `LIVE`. */ @core.attr(String) public stage!: string | core.StringOut; /** * Status of the function. Can be `UNPUBLISHED`, `UNASSOCIATED` or `ASSOCIATED`. */ @core.attr(String, { computed: true }) public status!: string | core.StringOut; constructor(name: string, args?: DsFunctionArgs) { super(name, "aws_cloudfront_function", args); } public override getNamespace(): string { return "aws_cloudfront"; } }