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

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

There is a newer version: 2.78.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.RectangleResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class VideoOverlayResponse {
    /**
     * @return The gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0.
     * 
     */
    private @Nullable Double audioGainLevel;
    /**
     * @return An optional rectangular window used to crop the overlay image or video.
     * 
     */
    private @Nullable RectangleResponse cropRectangle;
    /**
     * @return The end position, with reference to the input video, at which the overlay ends. The value should be in ISO 8601 format. For example, PT30S to end the overlay at 30 seconds into the input video. If not specified or the value is greater than the input video duration, the overlay will be applied until the end of the input video if the overlay media duration is greater than the input video duration, else the overlay will last as long as the overlay media duration.
     * 
     */
    private @Nullable String end;
    /**
     * @return The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade in (same as PT0S).
     * 
     */
    private @Nullable String fadeInDuration;
    /**
     * @return The duration over which the overlay fades out of the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade out (same as PT0S).
     * 
     */
    private @Nullable String fadeOutDuration;
    /**
     * @return The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG, PNG, GIF or BMP format, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats.
     * 
     */
    private String inputLabel;
    /**
     * @return The discriminator for derived types.
     * Expected value is '#Microsoft.Media.VideoOverlay'.
     * 
     */
    private String odataType;
    /**
     * @return The opacity of the overlay. This is a value in the range [0 - 1.0]. Default is 1.0 which mean the overlay is opaque.
     * 
     */
    private @Nullable Double opacity;
    /**
     * @return The location in the input video where the overlay is applied.
     * 
     */
    private @Nullable RectangleResponse position;
    /**
     * @return The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video.
     * 
     */
    private @Nullable String start;

    private VideoOverlayResponse() {}
    /**
     * @return The gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0.
     * 
     */
    public Optional audioGainLevel() {
        return Optional.ofNullable(this.audioGainLevel);
    }
    /**
     * @return An optional rectangular window used to crop the overlay image or video.
     * 
     */
    public Optional cropRectangle() {
        return Optional.ofNullable(this.cropRectangle);
    }
    /**
     * @return The end position, with reference to the input video, at which the overlay ends. The value should be in ISO 8601 format. For example, PT30S to end the overlay at 30 seconds into the input video. If not specified or the value is greater than the input video duration, the overlay will be applied until the end of the input video if the overlay media duration is greater than the input video duration, else the overlay will last as long as the overlay media duration.
     * 
     */
    public Optional end() {
        return Optional.ofNullable(this.end);
    }
    /**
     * @return The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade in (same as PT0S).
     * 
     */
    public Optional fadeInDuration() {
        return Optional.ofNullable(this.fadeInDuration);
    }
    /**
     * @return The duration over which the overlay fades out of the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade out (same as PT0S).
     * 
     */
    public Optional fadeOutDuration() {
        return Optional.ofNullable(this.fadeOutDuration);
    }
    /**
     * @return The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG, PNG, GIF or BMP format, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats.
     * 
     */
    public String inputLabel() {
        return this.inputLabel;
    }
    /**
     * @return The discriminator for derived types.
     * Expected value is '#Microsoft.Media.VideoOverlay'.
     * 
     */
    public String odataType() {
        return this.odataType;
    }
    /**
     * @return The opacity of the overlay. This is a value in the range [0 - 1.0]. Default is 1.0 which mean the overlay is opaque.
     * 
     */
    public Optional opacity() {
        return Optional.ofNullable(this.opacity);
    }
    /**
     * @return The location in the input video where the overlay is applied.
     * 
     */
    public Optional position() {
        return Optional.ofNullable(this.position);
    }
    /**
     * @return The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video.
     * 
     */
    public Optional start() {
        return Optional.ofNullable(this.start);
    }

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

    public static Builder builder(VideoOverlayResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Double audioGainLevel;
        private @Nullable RectangleResponse cropRectangle;
        private @Nullable String end;
        private @Nullable String fadeInDuration;
        private @Nullable String fadeOutDuration;
        private String inputLabel;
        private String odataType;
        private @Nullable Double opacity;
        private @Nullable RectangleResponse position;
        private @Nullable String start;
        public Builder() {}
        public Builder(VideoOverlayResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.audioGainLevel = defaults.audioGainLevel;
    	      this.cropRectangle = defaults.cropRectangle;
    	      this.end = defaults.end;
    	      this.fadeInDuration = defaults.fadeInDuration;
    	      this.fadeOutDuration = defaults.fadeOutDuration;
    	      this.inputLabel = defaults.inputLabel;
    	      this.odataType = defaults.odataType;
    	      this.opacity = defaults.opacity;
    	      this.position = defaults.position;
    	      this.start = defaults.start;
        }

        @CustomType.Setter
        public Builder audioGainLevel(@Nullable Double audioGainLevel) {

            this.audioGainLevel = audioGainLevel;
            return this;
        }
        @CustomType.Setter
        public Builder cropRectangle(@Nullable RectangleResponse cropRectangle) {

            this.cropRectangle = cropRectangle;
            return this;
        }
        @CustomType.Setter
        public Builder end(@Nullable String end) {

            this.end = end;
            return this;
        }
        @CustomType.Setter
        public Builder fadeInDuration(@Nullable String fadeInDuration) {

            this.fadeInDuration = fadeInDuration;
            return this;
        }
        @CustomType.Setter
        public Builder fadeOutDuration(@Nullable String fadeOutDuration) {

            this.fadeOutDuration = fadeOutDuration;
            return this;
        }
        @CustomType.Setter
        public Builder inputLabel(String inputLabel) {
            if (inputLabel == null) {
              throw new MissingRequiredPropertyException("VideoOverlayResponse", "inputLabel");
            }
            this.inputLabel = inputLabel;
            return this;
        }
        @CustomType.Setter
        public Builder odataType(String odataType) {
            if (odataType == null) {
              throw new MissingRequiredPropertyException("VideoOverlayResponse", "odataType");
            }
            this.odataType = odataType;
            return this;
        }
        @CustomType.Setter
        public Builder opacity(@Nullable Double opacity) {

            this.opacity = opacity;
            return this;
        }
        @CustomType.Setter
        public Builder position(@Nullable RectangleResponse position) {

            this.position = position;
            return this;
        }
        @CustomType.Setter
        public Builder start(@Nullable String start) {

            this.start = start;
            return this;
        }
        public VideoOverlayResponse build() {
            final var _resultValue = new VideoOverlayResponse();
            _resultValue.audioGainLevel = audioGainLevel;
            _resultValue.cropRectangle = cropRectangle;
            _resultValue.end = end;
            _resultValue.fadeInDuration = fadeInDuration;
            _resultValue.fadeOutDuration = fadeOutDuration;
            _resultValue.inputLabel = inputLabel;
            _resultValue.odataType = odataType;
            _resultValue.opacity = opacity;
            _resultValue.position = position;
            _resultValue.start = start;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy