All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.media.outputs.MultiBitrateFormatResponse Maven / Gradle / Ivy

There is a newer version: 2.72.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.media.outputs;

import com.pulumi.azurenative.media.outputs.OutputFileResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import javax.annotation.Nullable;

@CustomType
public final class MultiBitrateFormatResponse {
    /**
     * @return The file naming pattern used for the creation of output files. The following macros are supported in the file name: {Basename} - An expansion macro that will use the name of the input video file. If the base name(the file suffix is not included) of the input video file is less than 32 characters long, the base name of input video files will be used. If the length of base name of the input video file exceeds 32 characters, the base name is truncated to the first 32 characters in total length. {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {AudioStream} - string "Audio" plus audio stream number(start from 1). {Bitrate} - The audio/video bitrate in kbps. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. {Resolution} - The video resolution. Any unsubstituted macros will be collapsed and removed from the filename.
     * 
     */
    private String filenamePattern;
    /**
     * @return The discriminator for derived types.
     * Expected value is '#Microsoft.Media.MultiBitrateFormat'.
     * 
     */
    private String odataType;
    /**
     * @return The list of output files to produce.  Each entry in the list is a set of audio and video layer labels to be muxed together .
     * 
     */
    private @Nullable List outputFiles;

    private MultiBitrateFormatResponse() {}
    /**
     * @return The file naming pattern used for the creation of output files. The following macros are supported in the file name: {Basename} - An expansion macro that will use the name of the input video file. If the base name(the file suffix is not included) of the input video file is less than 32 characters long, the base name of input video files will be used. If the length of base name of the input video file exceeds 32 characters, the base name is truncated to the first 32 characters in total length. {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {AudioStream} - string "Audio" plus audio stream number(start from 1). {Bitrate} - The audio/video bitrate in kbps. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. {Resolution} - The video resolution. Any unsubstituted macros will be collapsed and removed from the filename.
     * 
     */
    public String filenamePattern() {
        return this.filenamePattern;
    }
    /**
     * @return The discriminator for derived types.
     * Expected value is '#Microsoft.Media.MultiBitrateFormat'.
     * 
     */
    public String odataType() {
        return this.odataType;
    }
    /**
     * @return The list of output files to produce.  Each entry in the list is a set of audio and video layer labels to be muxed together .
     * 
     */
    public List outputFiles() {
        return this.outputFiles == null ? List.of() : this.outputFiles;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(MultiBitrateFormatResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String filenamePattern;
        private String odataType;
        private @Nullable List outputFiles;
        public Builder() {}
        public Builder(MultiBitrateFormatResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.filenamePattern = defaults.filenamePattern;
    	      this.odataType = defaults.odataType;
    	      this.outputFiles = defaults.outputFiles;
        }

        @CustomType.Setter
        public Builder filenamePattern(String filenamePattern) {
            if (filenamePattern == null) {
              throw new MissingRequiredPropertyException("MultiBitrateFormatResponse", "filenamePattern");
            }
            this.filenamePattern = filenamePattern;
            return this;
        }
        @CustomType.Setter
        public Builder odataType(String odataType) {
            if (odataType == null) {
              throw new MissingRequiredPropertyException("MultiBitrateFormatResponse", "odataType");
            }
            this.odataType = odataType;
            return this;
        }
        @CustomType.Setter
        public Builder outputFiles(@Nullable List outputFiles) {

            this.outputFiles = outputFiles;
            return this;
        }
        public Builder outputFiles(OutputFileResponse... outputFiles) {
            return outputFiles(List.of(outputFiles));
        }
        public MultiBitrateFormatResponse build() {
            final var _resultValue = new MultiBitrateFormatResponse();
            _resultValue.filenamePattern = filenamePattern;
            _resultValue.odataType = odataType;
            _resultValue.outputFiles = outputFiles;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy