import * as core from "@terrascript/core"; export interface ThumbnailConfigArgs extends core.SchemaArgs { bucket?: string | core.StringOut; storageClass?: string | core.StringOut; } export class ThumbnailConfig extends core.Schema { @core.attr(String, { computed: true }) public bucket?: string | core.StringOut; @core.attr(String) public storageClass?: string | core.StringOut; } export interface NotificationsArgs extends core.SchemaArgs { completed?: string | core.StringOut; error?: string | core.StringOut; progressing?: string | core.StringOut; warning?: string | core.StringOut; } export class Notifications extends core.Schema { @core.attr(String) public completed?: string | core.StringOut; @core.attr(String) public error?: string | core.StringOut; @core.attr(String) public progressing?: string | core.StringOut; @core.attr(String) public warning?: string | core.StringOut; } export interface ContentConfigPermissionsArgs extends core.SchemaArgs { access?: core.Array | core.ArrayOut; grantee?: string | core.StringOut; granteeType?: string | core.StringOut; } export class ContentConfigPermissions extends core.Schema { @core.attr(String, { kind: "array" }) public access?: core.Array | core.ArrayOut; @core.attr(String) public grantee?: string | core.StringOut; @core.attr(String) public granteeType?: string | core.StringOut; } export interface ThumbnailConfigPermissionsArgs extends core.SchemaArgs { access?: core.Array | core.ArrayOut; grantee?: string | core.StringOut; granteeType?: string | core.StringOut; } export class ThumbnailConfigPermissions extends core.Schema { @core.attr(String, { kind: "array" }) public access?: core.Array | core.ArrayOut; @core.attr(String) public grantee?: string | core.StringOut; @core.attr(String) public granteeType?: string | core.StringOut; } export interface ContentConfigArgs extends core.SchemaArgs { bucket?: string | core.StringOut; storageClass?: string | core.StringOut; } export class ContentConfig extends core.Schema { @core.attr(String, { computed: true }) public bucket?: string | core.StringOut; @core.attr(String) public storageClass?: string | core.StringOut; } export interface PipelineArgs extends core.ResourceArgs { /** * (Optional) The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline. */ awsKmsKeyArn?: string | core.StringOut; /** * (Optional) The ContentConfig object specifies information about the Amazon S3 bucket in which you wa * nt Elastic Transcoder to save transcoded files and playlists. (documented below) */ contentConfig?: ContentConfig; /** * (Optional) The permissions for the `content_config` object. (documented below) */ contentConfigPermissions?: | core.Array | core.ArrayOut; /** * (Required) The Amazon S3 bucket in which you saved the media files that you want to transcode and th * e graphics that you want to use as watermarks. */ inputBucket: string | core.StringOut; /** * (Optional, Forces new resource) The name of the pipeline. Maximum 40 characters */ name?: string | core.StringOut; /** * (Optional) The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to repo * rt job status. (documented below) */ notifications?: Notifications; /** * (Optional) The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. */ outputBucket?: string | core.StringOut; /** * (Required) The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use t * o transcode jobs for this pipeline. */ role: string | core.StringOut; /** * (Optional) The ThumbnailConfig object specifies information about the Amazon S3 bucket in which you * want Elastic Transcoder to save thumbnail files. (documented below) */ thumbnailConfig?: ThumbnailConfig; /** * (Optional) The permissions for the `thumbnail_config` object. (documented below) */ thumbnailConfigPermissions?: | core.Array | core.ArrayOut; } export class Pipeline extends core.Resource { /** * The ARN of the Elastictranscoder pipeline. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline. */ @core.attr(String) public awsKmsKeyArn?: string | core.StringOut; /** * (Optional) The ContentConfig object specifies information about the Amazon S3 bucket in which you wa * nt Elastic Transcoder to save transcoded files and playlists. (documented below) */ @core.attr(ContentConfig, { computed: true }) public contentConfig?: ContentConfig; /** * (Optional) The permissions for the `content_config` object. (documented below) */ @core.attr(ContentConfigPermissions, { kind: "array" }) public contentConfigPermissions?: | core.Array | core.ArrayOut; /** * The ID of the Elastictranscoder pipeline. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The Amazon S3 bucket in which you saved the media files that you want to transcode and th * e graphics that you want to use as watermarks. */ @core.attr(String) public inputBucket!: string | core.StringOut; /** * (Optional, Forces new resource) The name of the pipeline. Maximum 40 characters */ @core.attr(String, { computed: true }) public name?: string | core.StringOut; /** * (Optional) The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to repo * rt job status. (documented below) */ @core.attr(Notifications) public notifications?: Notifications; /** * (Optional) The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. */ @core.attr(String, { computed: true }) public outputBucket?: string | core.StringOut; /** * (Required) The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use t * o transcode jobs for this pipeline. */ @core.attr(String) public role!: string | core.StringOut; /** * (Optional) The ThumbnailConfig object specifies information about the Amazon S3 bucket in which you * want Elastic Transcoder to save thumbnail files. (documented below) */ @core.attr(ThumbnailConfig, { computed: true }) public thumbnailConfig?: ThumbnailConfig; /** * (Optional) The permissions for the `thumbnail_config` object. (documented below) */ @core.attr(ThumbnailConfigPermissions, { kind: "array" }) public thumbnailConfigPermissions?: | core.Array | core.ArrayOut; constructor(name: string, args?: PipelineArgs) { super(name, "aws_elastictranscoder_pipeline", args); } public override getNamespace(): string { return "aws_elastictranscoder"; } }