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

com.pulumi.azurenative.media.LiveOutputArgs 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;

import com.pulumi.azurenative.media.inputs.HlsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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;


public final class LiveOutputArgs extends com.pulumi.resources.ResourceArgs {

    public static final LiveOutputArgs Empty = new LiveOutputArgs();

    /**
     * The Media Services account name.
     * 
     */
    @Import(name="accountName", required=true)
    private Output accountName;

    /**
     * @return The Media Services account name.
     * 
     */
    public Output accountName() {
        return this.accountName;
    }

    /**
     * ISO 8601 time between 1 minute to 25 hours to indicate the maximum content length that can be archived in the asset for this live output. This also sets the maximum content length for the rewind window. For example, use PT1H30M to indicate 1 hour and 30 minutes of archive window.
     * 
     */
    @Import(name="archiveWindowLength", required=true)
    private Output archiveWindowLength;

    /**
     * @return ISO 8601 time between 1 minute to 25 hours to indicate the maximum content length that can be archived in the asset for this live output. This also sets the maximum content length for the rewind window. For example, use PT1H30M to indicate 1 hour and 30 minutes of archive window.
     * 
     */
    public Output archiveWindowLength() {
        return this.archiveWindowLength;
    }

    /**
     * The asset that the live output will write to.
     * 
     */
    @Import(name="assetName", required=true)
    private Output assetName;

    /**
     * @return The asset that the live output will write to.
     * 
     */
    public Output assetName() {
        return this.assetName;
    }

    /**
     * The description of the live output.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the live output.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * HTTP Live Streaming (HLS) packing setting for the live output.
     * 
     */
    @Import(name="hls")
    private @Nullable Output hls;

    /**
     * @return HTTP Live Streaming (HLS) packing setting for the live output.
     * 
     */
    public Optional> hls() {
        return Optional.ofNullable(this.hls);
    }

    /**
     * The name of the live event, maximum length is 32.
     * 
     */
    @Import(name="liveEventName", required=true)
    private Output liveEventName;

    /**
     * @return The name of the live event, maximum length is 32.
     * 
     */
    public Output liveEventName() {
        return this.liveEventName;
    }

    /**
     * The name of the live output.
     * 
     */
    @Import(name="liveOutputName")
    private @Nullable Output liveOutputName;

    /**
     * @return The name of the live output.
     * 
     */
    public Optional> liveOutputName() {
        return Optional.ofNullable(this.liveOutputName);
    }

    /**
     * The manifest file name. If not provided, the service will generate one automatically.
     * 
     */
    @Import(name="manifestName")
    private @Nullable Output manifestName;

    /**
     * @return The manifest file name. If not provided, the service will generate one automatically.
     * 
     */
    public Optional> manifestName() {
        return Optional.ofNullable(this.manifestName);
    }

    /**
     * The initial timestamp that the live output will start at, any content before this value will not be archived.
     * 
     */
    @Import(name="outputSnapTime")
    private @Nullable Output outputSnapTime;

    /**
     * @return The initial timestamp that the live output will start at, any content before this value will not be archived.
     * 
     */
    public Optional> outputSnapTime() {
        return Optional.ofNullable(this.outputSnapTime);
    }

    /**
     * The name of the resource group within the Azure subscription.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group within the Azure subscription.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * ISO 8601 time between 1 minute to the duration of archiveWindowLength to control seek-able window length during Live. The service won't use this property once LiveOutput stops. The archived VOD will have full content with original ArchiveWindowLength. For example, use PT1H30M to indicate 1 hour and 30 minutes of rewind window length. Service will use implicit default value 30m only if Live Event enables LL.
     * 
     */
    @Import(name="rewindWindowLength")
    private @Nullable Output rewindWindowLength;

    /**
     * @return ISO 8601 time between 1 minute to the duration of archiveWindowLength to control seek-able window length during Live. The service won't use this property once LiveOutput stops. The archived VOD will have full content with original ArchiveWindowLength. For example, use PT1H30M to indicate 1 hour and 30 minutes of rewind window length. Service will use implicit default value 30m only if Live Event enables LL.
     * 
     */
    public Optional> rewindWindowLength() {
        return Optional.ofNullable(this.rewindWindowLength);
    }

    private LiveOutputArgs() {}

    private LiveOutputArgs(LiveOutputArgs $) {
        this.accountName = $.accountName;
        this.archiveWindowLength = $.archiveWindowLength;
        this.assetName = $.assetName;
        this.description = $.description;
        this.hls = $.hls;
        this.liveEventName = $.liveEventName;
        this.liveOutputName = $.liveOutputName;
        this.manifestName = $.manifestName;
        this.outputSnapTime = $.outputSnapTime;
        this.resourceGroupName = $.resourceGroupName;
        this.rewindWindowLength = $.rewindWindowLength;
    }

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

    public static final class Builder {
        private LiveOutputArgs $;

        public Builder() {
            $ = new LiveOutputArgs();
        }

        public Builder(LiveOutputArgs defaults) {
            $ = new LiveOutputArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param accountName The Media Services account name.
         * 
         * @return builder
         * 
         */
        public Builder accountName(Output accountName) {
            $.accountName = accountName;
            return this;
        }

        /**
         * @param accountName The Media Services account name.
         * 
         * @return builder
         * 
         */
        public Builder accountName(String accountName) {
            return accountName(Output.of(accountName));
        }

        /**
         * @param archiveWindowLength ISO 8601 time between 1 minute to 25 hours to indicate the maximum content length that can be archived in the asset for this live output. This also sets the maximum content length for the rewind window. For example, use PT1H30M to indicate 1 hour and 30 minutes of archive window.
         * 
         * @return builder
         * 
         */
        public Builder archiveWindowLength(Output archiveWindowLength) {
            $.archiveWindowLength = archiveWindowLength;
            return this;
        }

        /**
         * @param archiveWindowLength ISO 8601 time between 1 minute to 25 hours to indicate the maximum content length that can be archived in the asset for this live output. This also sets the maximum content length for the rewind window. For example, use PT1H30M to indicate 1 hour and 30 minutes of archive window.
         * 
         * @return builder
         * 
         */
        public Builder archiveWindowLength(String archiveWindowLength) {
            return archiveWindowLength(Output.of(archiveWindowLength));
        }

        /**
         * @param assetName The asset that the live output will write to.
         * 
         * @return builder
         * 
         */
        public Builder assetName(Output assetName) {
            $.assetName = assetName;
            return this;
        }

        /**
         * @param assetName The asset that the live output will write to.
         * 
         * @return builder
         * 
         */
        public Builder assetName(String assetName) {
            return assetName(Output.of(assetName));
        }

        /**
         * @param description The description of the live output.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of the live output.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param hls HTTP Live Streaming (HLS) packing setting for the live output.
         * 
         * @return builder
         * 
         */
        public Builder hls(@Nullable Output hls) {
            $.hls = hls;
            return this;
        }

        /**
         * @param hls HTTP Live Streaming (HLS) packing setting for the live output.
         * 
         * @return builder
         * 
         */
        public Builder hls(HlsArgs hls) {
            return hls(Output.of(hls));
        }

        /**
         * @param liveEventName The name of the live event, maximum length is 32.
         * 
         * @return builder
         * 
         */
        public Builder liveEventName(Output liveEventName) {
            $.liveEventName = liveEventName;
            return this;
        }

        /**
         * @param liveEventName The name of the live event, maximum length is 32.
         * 
         * @return builder
         * 
         */
        public Builder liveEventName(String liveEventName) {
            return liveEventName(Output.of(liveEventName));
        }

        /**
         * @param liveOutputName The name of the live output.
         * 
         * @return builder
         * 
         */
        public Builder liveOutputName(@Nullable Output liveOutputName) {
            $.liveOutputName = liveOutputName;
            return this;
        }

        /**
         * @param liveOutputName The name of the live output.
         * 
         * @return builder
         * 
         */
        public Builder liveOutputName(String liveOutputName) {
            return liveOutputName(Output.of(liveOutputName));
        }

        /**
         * @param manifestName The manifest file name. If not provided, the service will generate one automatically.
         * 
         * @return builder
         * 
         */
        public Builder manifestName(@Nullable Output manifestName) {
            $.manifestName = manifestName;
            return this;
        }

        /**
         * @param manifestName The manifest file name. If not provided, the service will generate one automatically.
         * 
         * @return builder
         * 
         */
        public Builder manifestName(String manifestName) {
            return manifestName(Output.of(manifestName));
        }

        /**
         * @param outputSnapTime The initial timestamp that the live output will start at, any content before this value will not be archived.
         * 
         * @return builder
         * 
         */
        public Builder outputSnapTime(@Nullable Output outputSnapTime) {
            $.outputSnapTime = outputSnapTime;
            return this;
        }

        /**
         * @param outputSnapTime The initial timestamp that the live output will start at, any content before this value will not be archived.
         * 
         * @return builder
         * 
         */
        public Builder outputSnapTime(Double outputSnapTime) {
            return outputSnapTime(Output.of(outputSnapTime));
        }

        /**
         * @param resourceGroupName The name of the resource group within the Azure subscription.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group within the Azure subscription.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param rewindWindowLength ISO 8601 time between 1 minute to the duration of archiveWindowLength to control seek-able window length during Live. The service won't use this property once LiveOutput stops. The archived VOD will have full content with original ArchiveWindowLength. For example, use PT1H30M to indicate 1 hour and 30 minutes of rewind window length. Service will use implicit default value 30m only if Live Event enables LL.
         * 
         * @return builder
         * 
         */
        public Builder rewindWindowLength(@Nullable Output rewindWindowLength) {
            $.rewindWindowLength = rewindWindowLength;
            return this;
        }

        /**
         * @param rewindWindowLength ISO 8601 time between 1 minute to the duration of archiveWindowLength to control seek-able window length during Live. The service won't use this property once LiveOutput stops. The archived VOD will have full content with original ArchiveWindowLength. For example, use PT1H30M to indicate 1 hour and 30 minutes of rewind window length. Service will use implicit default value 30m only if Live Event enables LL.
         * 
         * @return builder
         * 
         */
        public Builder rewindWindowLength(String rewindWindowLength) {
            return rewindWindowLength(Output.of(rewindWindowLength));
        }

        public LiveOutputArgs build() {
            if ($.accountName == null) {
                throw new MissingRequiredPropertyException("LiveOutputArgs", "accountName");
            }
            if ($.archiveWindowLength == null) {
                throw new MissingRequiredPropertyException("LiveOutputArgs", "archiveWindowLength");
            }
            if ($.assetName == null) {
                throw new MissingRequiredPropertyException("LiveOutputArgs", "assetName");
            }
            if ($.liveEventName == null) {
                throw new MissingRequiredPropertyException("LiveOutputArgs", "liveEventName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("LiveOutputArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy