import * as core from "@terrascript/core"; export interface ThumbnailsArgs extends core.SchemaArgs { aspectRatio?: string | core.StringOut; format?: string | core.StringOut; interval?: string | core.StringOut; maxHeight?: string | core.StringOut; maxWidth?: string | core.StringOut; paddingPolicy?: string | core.StringOut; resolution?: string | core.StringOut; sizingPolicy?: string | core.StringOut; } export class Thumbnails extends core.Schema { @core.attr(String) public aspectRatio?: string | core.StringOut; @core.attr(String) public format?: string | core.StringOut; @core.attr(String) public interval?: string | core.StringOut; @core.attr(String) public maxHeight?: string | core.StringOut; @core.attr(String) public maxWidth?: string | core.StringOut; @core.attr(String) public paddingPolicy?: string | core.StringOut; @core.attr(String) public resolution?: string | core.StringOut; @core.attr(String) public sizingPolicy?: string | core.StringOut; } export interface VideoWatermarksArgs extends core.SchemaArgs { horizontalAlign?: string | core.StringOut; horizontalOffset?: string | core.StringOut; id?: string | core.StringOut; maxHeight?: string | core.StringOut; maxWidth?: string | core.StringOut; opacity?: string | core.StringOut; sizingPolicy?: string | core.StringOut; target?: string | core.StringOut; verticalAlign?: string | core.StringOut; verticalOffset?: string | core.StringOut; } export class VideoWatermarks extends core.Schema { @core.attr(String) public horizontalAlign?: string | core.StringOut; @core.attr(String) public horizontalOffset?: string | core.StringOut; @core.attr(String) public id?: string | core.StringOut; @core.attr(String) public maxHeight?: string | core.StringOut; @core.attr(String) public maxWidth?: string | core.StringOut; @core.attr(String) public opacity?: string | core.StringOut; @core.attr(String) public sizingPolicy?: string | core.StringOut; @core.attr(String) public target?: string | core.StringOut; @core.attr(String) public verticalAlign?: string | core.StringOut; @core.attr(String) public verticalOffset?: string | core.StringOut; } export interface VideoArgs extends core.SchemaArgs { aspectRatio?: string | core.StringOut; bitRate?: string | core.StringOut; codec?: string | core.StringOut; displayAspectRatio?: string | core.StringOut; fixedGop?: string | core.StringOut; frameRate?: string | core.StringOut; keyframesMaxDist?: string | core.StringOut; maxFrameRate?: string | core.StringOut; maxHeight?: string | core.StringOut; maxWidth?: string | core.StringOut; paddingPolicy?: string | core.StringOut; resolution?: string | core.StringOut; sizingPolicy?: string | core.StringOut; } export class Video extends core.Schema { @core.attr(String) public aspectRatio?: string | core.StringOut; @core.attr(String, { computed: true }) public bitRate?: string | core.StringOut; @core.attr(String) public codec?: string | core.StringOut; @core.attr(String) public displayAspectRatio?: string | core.StringOut; @core.attr(String) public fixedGop?: string | core.StringOut; @core.attr(String) public frameRate?: string | core.StringOut; @core.attr(String) public keyframesMaxDist?: string | core.StringOut; @core.attr(String, { computed: true }) public maxFrameRate?: string | core.StringOut; @core.attr(String) public maxHeight?: string | core.StringOut; @core.attr(String) public maxWidth?: string | core.StringOut; @core.attr(String) public paddingPolicy?: string | core.StringOut; @core.attr(String) public resolution?: string | core.StringOut; @core.attr(String) public sizingPolicy?: string | core.StringOut; } export interface AudioArgs extends core.SchemaArgs { audioPackingMode?: string | core.StringOut; bitRate?: string | core.StringOut; channels?: string | core.StringOut; codec?: string | core.StringOut; sampleRate?: string | core.StringOut; } export class Audio extends core.Schema { @core.attr(String) public audioPackingMode?: string | core.StringOut; @core.attr(String, { computed: true }) public bitRate?: string | core.StringOut; @core.attr(String) public channels?: string | core.StringOut; @core.attr(String) public codec?: string | core.StringOut; @core.attr(String) public sampleRate?: string | core.StringOut; } export interface AudioCodecOptionsArgs extends core.SchemaArgs { bitDepth?: string | core.StringOut; bitOrder?: string | core.StringOut; profile?: string | core.StringOut; signed?: string | core.StringOut; } export class AudioCodecOptions extends core.Schema { @core.attr(String, { computed: true }) public bitDepth?: string | core.StringOut; @core.attr(String, { computed: true }) public bitOrder?: string | core.StringOut; @core.attr(String, { computed: true }) public profile?: string | core.StringOut; @core.attr(String, { computed: true }) public signed?: string | core.StringOut; } export interface PresetArgs extends core.ResourceArgs { /** * (Optional, Forces new resource) Audio parameters object (documented below). */ audio?: Audio; /** * (Optional, Forces new resource) Codec options for the audio parameters (documented below) */ audioCodecOptions?: AudioCodecOptions; /** * (Required, Forces new resource) The container type for the output file. Valid values are `flac`, `fl * v`, `fmp4`, `gif`, `mp3`, `mp4`, `mpg`, `mxf`, `oga`, `ogg`, `ts`, and `webm`. */ container: string | core.StringOut; /** * (Optional, Forces new resource) A description of the preset (maximum 255 characters) */ description?: string | core.StringOut; /** * (Optional, Forces new resource) The name of the preset. (maximum 40 characters) */ name?: string | core.StringOut; /** * (Optional, Forces new resource) Thumbnail parameters object (documented below) */ thumbnails?: Thumbnails; type?: string | core.StringOut; /** * (Optional, Forces new resource) Video parameters object (documented below) */ video?: Video; videoCodecOptions?: core.Map | core.MapOut; /** * (Optional, Forces new resource) Watermark parameters for the video parameters (documented below) */ videoWatermarks?: | core.Array | core.ArrayOut; } export class Preset extends core.Resource { /** * Amazon Resource Name (ARN) of the Elastic Transcoder Preset. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional, Forces new resource) Audio parameters object (documented below). */ @core.attr(Audio) public audio?: Audio; /** * (Optional, Forces new resource) Codec options for the audio parameters (documented below) */ @core.attr(AudioCodecOptions, { computed: true }) public audioCodecOptions?: AudioCodecOptions; /** * (Required, Forces new resource) The container type for the output file. Valid values are `flac`, `fl * v`, `fmp4`, `gif`, `mp3`, `mp4`, `mpg`, `mxf`, `oga`, `ogg`, `ts`, and `webm`. */ @core.attr(String) public container!: string | core.StringOut; /** * (Optional, Forces new resource) A description of the preset (maximum 255 characters) */ @core.attr(String) public description?: string | core.StringOut; /** * A unique identifier for the settings for one watermark. The value of Id can be up to 40 characters l * ong. You can specify settings for up to four watermarks. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional, Forces new resource) The name of the preset. (maximum 40 characters) */ @core.attr(String, { computed: true }) public name?: string | core.StringOut; /** * (Optional, Forces new resource) Thumbnail parameters object (documented below) */ @core.attr(Thumbnails) public thumbnails?: Thumbnails; @core.attr(String, { computed: true }) public type?: string | core.StringOut; /** * (Optional, Forces new resource) Video parameters object (documented below) */ @core.attr(Video) public video?: Video; @core.attr(String, { kind: "map" }) public videoCodecOptions?: | core.Map | core.MapOut; /** * (Optional, Forces new resource) Watermark parameters for the video parameters (documented below) */ @core.attr(VideoWatermarks, { kind: "array" }) public videoWatermarks?: | core.Array | core.ArrayOut; constructor(name: string, args?: PresetArgs) { super(name, "aws_elastictranscoder_preset", args); } public override getNamespace(): string { return "aws_elastictranscoder"; } }