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

com.pulumi.azurenative.media.LiveEventArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.enums.StreamOptionsFlag;
import com.pulumi.azurenative.media.inputs.CrossSiteAccessPoliciesArgs;
import com.pulumi.azurenative.media.inputs.LiveEventEncodingArgs;
import com.pulumi.azurenative.media.inputs.LiveEventInputArgs;
import com.pulumi.azurenative.media.inputs.LiveEventPreviewArgs;
import com.pulumi.azurenative.media.inputs.LiveEventTranscriptionArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final LiveEventArgs Empty = new LiveEventArgs();

    /**
     * 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;
    }

    /**
     * The flag indicates if the resource should be automatically started on creation.
     * 
     */
    @Import(name="autoStart")
    private @Nullable Output autoStart;

    /**
     * @return The flag indicates if the resource should be automatically started on creation.
     * 
     */
    public Optional> autoStart() {
        return Optional.ofNullable(this.autoStart);
    }

    /**
     * Live event cross site access policies.
     * 
     */
    @Import(name="crossSiteAccessPolicies")
    private @Nullable Output crossSiteAccessPolicies;

    /**
     * @return Live event cross site access policies.
     * 
     */
    public Optional> crossSiteAccessPolicies() {
        return Optional.ofNullable(this.crossSiteAccessPolicies);
    }

    /**
     * A description for the live event.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return A description for the live event.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Encoding settings for the live event. It configures whether a live encoder is used for the live event and settings for the live encoder if it is used.
     * 
     */
    @Import(name="encoding")
    private @Nullable Output encoding;

    /**
     * @return Encoding settings for the live event. It configures whether a live encoder is used for the live event and settings for the live encoder if it is used.
     * 
     */
    public Optional> encoding() {
        return Optional.ofNullable(this.encoding);
    }

    /**
     * When useStaticHostname is set to true, the hostnamePrefix specifies the first part of the hostname assigned to the live event preview and ingest endpoints. The final hostname would be a combination of this prefix, the media service account name and a short code for the Azure Media Services data center.
     * 
     */
    @Import(name="hostnamePrefix")
    private @Nullable Output hostnamePrefix;

    /**
     * @return When useStaticHostname is set to true, the hostnamePrefix specifies the first part of the hostname assigned to the live event preview and ingest endpoints. The final hostname would be a combination of this prefix, the media service account name and a short code for the Azure Media Services data center.
     * 
     */
    public Optional> hostnamePrefix() {
        return Optional.ofNullable(this.hostnamePrefix);
    }

    /**
     * Live event input settings. It defines how the live event receives input from a contribution encoder.
     * 
     */
    @Import(name="input", required=true)
    private Output input;

    /**
     * @return Live event input settings. It defines how the live event receives input from a contribution encoder.
     * 
     */
    public Output input() {
        return this.input;
    }

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

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

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Live event preview settings. Preview allows live event producers to preview the live streaming content without creating any live output.
     * 
     */
    @Import(name="preview")
    private @Nullable Output preview;

    /**
     * @return Live event preview settings. Preview allows live event producers to preview the live streaming content without creating any live output.
     * 
     */
    public Optional> preview() {
        return Optional.ofNullable(this.preview);
    }

    /**
     * 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;
    }

    /**
     * The options to use for the LiveEvent. This value is specified at creation time and cannot be updated. The valid values for the array entry values are 'Default' and 'LowLatency'.
     * 
     */
    @Import(name="streamOptions")
    private @Nullable Output>> streamOptions;

    /**
     * @return The options to use for the LiveEvent. This value is specified at creation time and cannot be updated. The valid values for the array entry values are 'Default' and 'LowLatency'.
     * 
     */
    public Optional>>> streamOptions() {
        return Optional.ofNullable(this.streamOptions);
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Live transcription settings for the live event. See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature.
     * 
     */
    @Import(name="transcriptions")
    private @Nullable Output> transcriptions;

    /**
     * @return Live transcription settings for the live event. See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature.
     * 
     */
    public Optional>> transcriptions() {
        return Optional.ofNullable(this.transcriptions);
    }

    /**
     * Specifies whether a static hostname would be assigned to the live event preview and ingest endpoints. This value can only be updated if the live event is in Standby state
     * 
     */
    @Import(name="useStaticHostname")
    private @Nullable Output useStaticHostname;

    /**
     * @return Specifies whether a static hostname would be assigned to the live event preview and ingest endpoints. This value can only be updated if the live event is in Standby state
     * 
     */
    public Optional> useStaticHostname() {
        return Optional.ofNullable(this.useStaticHostname);
    }

    private LiveEventArgs() {}

    private LiveEventArgs(LiveEventArgs $) {
        this.accountName = $.accountName;
        this.autoStart = $.autoStart;
        this.crossSiteAccessPolicies = $.crossSiteAccessPolicies;
        this.description = $.description;
        this.encoding = $.encoding;
        this.hostnamePrefix = $.hostnamePrefix;
        this.input = $.input;
        this.liveEventName = $.liveEventName;
        this.location = $.location;
        this.preview = $.preview;
        this.resourceGroupName = $.resourceGroupName;
        this.streamOptions = $.streamOptions;
        this.tags = $.tags;
        this.transcriptions = $.transcriptions;
        this.useStaticHostname = $.useStaticHostname;
    }

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

    public static final class Builder {
        private LiveEventArgs $;

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

        public Builder(LiveEventArgs defaults) {
            $ = new LiveEventArgs(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 autoStart The flag indicates if the resource should be automatically started on creation.
         * 
         * @return builder
         * 
         */
        public Builder autoStart(@Nullable Output autoStart) {
            $.autoStart = autoStart;
            return this;
        }

        /**
         * @param autoStart The flag indicates if the resource should be automatically started on creation.
         * 
         * @return builder
         * 
         */
        public Builder autoStart(Boolean autoStart) {
            return autoStart(Output.of(autoStart));
        }

        /**
         * @param crossSiteAccessPolicies Live event cross site access policies.
         * 
         * @return builder
         * 
         */
        public Builder crossSiteAccessPolicies(@Nullable Output crossSiteAccessPolicies) {
            $.crossSiteAccessPolicies = crossSiteAccessPolicies;
            return this;
        }

        /**
         * @param crossSiteAccessPolicies Live event cross site access policies.
         * 
         * @return builder
         * 
         */
        public Builder crossSiteAccessPolicies(CrossSiteAccessPoliciesArgs crossSiteAccessPolicies) {
            return crossSiteAccessPolicies(Output.of(crossSiteAccessPolicies));
        }

        /**
         * @param description A description for the live event.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

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

        /**
         * @param encoding Encoding settings for the live event. It configures whether a live encoder is used for the live event and settings for the live encoder if it is used.
         * 
         * @return builder
         * 
         */
        public Builder encoding(@Nullable Output encoding) {
            $.encoding = encoding;
            return this;
        }

        /**
         * @param encoding Encoding settings for the live event. It configures whether a live encoder is used for the live event and settings for the live encoder if it is used.
         * 
         * @return builder
         * 
         */
        public Builder encoding(LiveEventEncodingArgs encoding) {
            return encoding(Output.of(encoding));
        }

        /**
         * @param hostnamePrefix When useStaticHostname is set to true, the hostnamePrefix specifies the first part of the hostname assigned to the live event preview and ingest endpoints. The final hostname would be a combination of this prefix, the media service account name and a short code for the Azure Media Services data center.
         * 
         * @return builder
         * 
         */
        public Builder hostnamePrefix(@Nullable Output hostnamePrefix) {
            $.hostnamePrefix = hostnamePrefix;
            return this;
        }

        /**
         * @param hostnamePrefix When useStaticHostname is set to true, the hostnamePrefix specifies the first part of the hostname assigned to the live event preview and ingest endpoints. The final hostname would be a combination of this prefix, the media service account name and a short code for the Azure Media Services data center.
         * 
         * @return builder
         * 
         */
        public Builder hostnamePrefix(String hostnamePrefix) {
            return hostnamePrefix(Output.of(hostnamePrefix));
        }

        /**
         * @param input Live event input settings. It defines how the live event receives input from a contribution encoder.
         * 
         * @return builder
         * 
         */
        public Builder input(Output input) {
            $.input = input;
            return this;
        }

        /**
         * @param input Live event input settings. It defines how the live event receives input from a contribution encoder.
         * 
         * @return builder
         * 
         */
        public Builder input(LiveEventInputArgs input) {
            return input(Output.of(input));
        }

        /**
         * @param liveEventName The name of the live event, maximum length is 32.
         * 
         * @return builder
         * 
         */
        public Builder liveEventName(@Nullable 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 location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param preview Live event preview settings. Preview allows live event producers to preview the live streaming content without creating any live output.
         * 
         * @return builder
         * 
         */
        public Builder preview(@Nullable Output preview) {
            $.preview = preview;
            return this;
        }

        /**
         * @param preview Live event preview settings. Preview allows live event producers to preview the live streaming content without creating any live output.
         * 
         * @return builder
         * 
         */
        public Builder preview(LiveEventPreviewArgs preview) {
            return preview(Output.of(preview));
        }

        /**
         * @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 streamOptions The options to use for the LiveEvent. This value is specified at creation time and cannot be updated. The valid values for the array entry values are 'Default' and 'LowLatency'.
         * 
         * @return builder
         * 
         */
        public Builder streamOptions(@Nullable Output>> streamOptions) {
            $.streamOptions = streamOptions;
            return this;
        }

        /**
         * @param streamOptions The options to use for the LiveEvent. This value is specified at creation time and cannot be updated. The valid values for the array entry values are 'Default' and 'LowLatency'.
         * 
         * @return builder
         * 
         */
        public Builder streamOptions(List> streamOptions) {
            return streamOptions(Output.of(streamOptions));
        }

        /**
         * @param streamOptions The options to use for the LiveEvent. This value is specified at creation time and cannot be updated. The valid values for the array entry values are 'Default' and 'LowLatency'.
         * 
         * @return builder
         * 
         */
        public Builder streamOptions(Either... streamOptions) {
            return streamOptions(List.of(streamOptions));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param transcriptions Live transcription settings for the live event. See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature.
         * 
         * @return builder
         * 
         */
        public Builder transcriptions(@Nullable Output> transcriptions) {
            $.transcriptions = transcriptions;
            return this;
        }

        /**
         * @param transcriptions Live transcription settings for the live event. See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature.
         * 
         * @return builder
         * 
         */
        public Builder transcriptions(List transcriptions) {
            return transcriptions(Output.of(transcriptions));
        }

        /**
         * @param transcriptions Live transcription settings for the live event. See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature.
         * 
         * @return builder
         * 
         */
        public Builder transcriptions(LiveEventTranscriptionArgs... transcriptions) {
            return transcriptions(List.of(transcriptions));
        }

        /**
         * @param useStaticHostname Specifies whether a static hostname would be assigned to the live event preview and ingest endpoints. This value can only be updated if the live event is in Standby state
         * 
         * @return builder
         * 
         */
        public Builder useStaticHostname(@Nullable Output useStaticHostname) {
            $.useStaticHostname = useStaticHostname;
            return this;
        }

        /**
         * @param useStaticHostname Specifies whether a static hostname would be assigned to the live event preview and ingest endpoints. This value can only be updated if the live event is in Standby state
         * 
         * @return builder
         * 
         */
        public Builder useStaticHostname(Boolean useStaticHostname) {
            return useStaticHostname(Output.of(useStaticHostname));
        }

        public LiveEventArgs build() {
            if ($.accountName == null) {
                throw new MissingRequiredPropertyException("LiveEventArgs", "accountName");
            }
            if ($.input == null) {
                throw new MissingRequiredPropertyException("LiveEventArgs", "input");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("LiveEventArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy