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

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

import com.pulumi.azurenative.media.enums.LiveEventInputProtocol;
import com.pulumi.azurenative.media.inputs.LiveEventEndpointArgs;
import com.pulumi.azurenative.media.inputs.LiveEventInputAccessControlArgs;
import com.pulumi.azurenative.media.inputs.LiveEventTimedMetadataEndpointArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The live event input.
 * 
 */
public final class LiveEventInputArgs extends com.pulumi.resources.ResourceArgs {

    public static final LiveEventInputArgs Empty = new LiveEventInputArgs();

    /**
     * Access control for live event input.
     * 
     */
    @Import(name="accessControl")
    private @Nullable Output accessControl;

    /**
     * @return Access control for live event input.
     * 
     */
    public Optional> accessControl() {
        return Optional.ofNullable(this.accessControl);
    }

    /**
     * A UUID in string form to uniquely identify the stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value.
     * 
     */
    @Import(name="accessToken")
    private @Nullable Output accessToken;

    /**
     * @return A UUID in string form to uniquely identify the stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value.
     * 
     */
    public Optional> accessToken() {
        return Optional.ofNullable(this.accessToken);
    }

    /**
     * The input endpoints for the live event.
     * 
     */
    @Import(name="endpoints")
    private @Nullable Output> endpoints;

    /**
     * @return The input endpoints for the live event.
     * 
     */
    public Optional>> endpoints() {
        return Optional.ofNullable(this.endpoints);
    }

    /**
     * ISO 8601 time duration of the key frame interval duration of the input. This value sets the EXT-X-TARGETDURATION property in the HLS output. For example, use PT2S to indicate 2 seconds. Leave the value empty for encoding live events.
     * 
     */
    @Import(name="keyFrameIntervalDuration")
    private @Nullable Output keyFrameIntervalDuration;

    /**
     * @return ISO 8601 time duration of the key frame interval duration of the input. This value sets the EXT-X-TARGETDURATION property in the HLS output. For example, use PT2S to indicate 2 seconds. Leave the value empty for encoding live events.
     * 
     */
    public Optional> keyFrameIntervalDuration() {
        return Optional.ofNullable(this.keyFrameIntervalDuration);
    }

    /**
     * The input protocol for the live event. This is specified at creation time and cannot be updated.
     * 
     */
    @Import(name="streamingProtocol", required=true)
    private Output> streamingProtocol;

    /**
     * @return The input protocol for the live event. This is specified at creation time and cannot be updated.
     * 
     */
    public Output> streamingProtocol() {
        return this.streamingProtocol;
    }

    /**
     * The metadata endpoints for the live event.
     * 
     */
    @Import(name="timedMetadataEndpoints")
    private @Nullable Output> timedMetadataEndpoints;

    /**
     * @return The metadata endpoints for the live event.
     * 
     */
    public Optional>> timedMetadataEndpoints() {
        return Optional.ofNullable(this.timedMetadataEndpoints);
    }

    private LiveEventInputArgs() {}

    private LiveEventInputArgs(LiveEventInputArgs $) {
        this.accessControl = $.accessControl;
        this.accessToken = $.accessToken;
        this.endpoints = $.endpoints;
        this.keyFrameIntervalDuration = $.keyFrameIntervalDuration;
        this.streamingProtocol = $.streamingProtocol;
        this.timedMetadataEndpoints = $.timedMetadataEndpoints;
    }

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

    public static final class Builder {
        private LiveEventInputArgs $;

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

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

        /**
         * @param accessControl Access control for live event input.
         * 
         * @return builder
         * 
         */
        public Builder accessControl(@Nullable Output accessControl) {
            $.accessControl = accessControl;
            return this;
        }

        /**
         * @param accessControl Access control for live event input.
         * 
         * @return builder
         * 
         */
        public Builder accessControl(LiveEventInputAccessControlArgs accessControl) {
            return accessControl(Output.of(accessControl));
        }

        /**
         * @param accessToken A UUID in string form to uniquely identify the stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value.
         * 
         * @return builder
         * 
         */
        public Builder accessToken(@Nullable Output accessToken) {
            $.accessToken = accessToken;
            return this;
        }

        /**
         * @param accessToken A UUID in string form to uniquely identify the stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value.
         * 
         * @return builder
         * 
         */
        public Builder accessToken(String accessToken) {
            return accessToken(Output.of(accessToken));
        }

        /**
         * @param endpoints The input endpoints for the live event.
         * 
         * @return builder
         * 
         */
        public Builder endpoints(@Nullable Output> endpoints) {
            $.endpoints = endpoints;
            return this;
        }

        /**
         * @param endpoints The input endpoints for the live event.
         * 
         * @return builder
         * 
         */
        public Builder endpoints(List endpoints) {
            return endpoints(Output.of(endpoints));
        }

        /**
         * @param endpoints The input endpoints for the live event.
         * 
         * @return builder
         * 
         */
        public Builder endpoints(LiveEventEndpointArgs... endpoints) {
            return endpoints(List.of(endpoints));
        }

        /**
         * @param keyFrameIntervalDuration ISO 8601 time duration of the key frame interval duration of the input. This value sets the EXT-X-TARGETDURATION property in the HLS output. For example, use PT2S to indicate 2 seconds. Leave the value empty for encoding live events.
         * 
         * @return builder
         * 
         */
        public Builder keyFrameIntervalDuration(@Nullable Output keyFrameIntervalDuration) {
            $.keyFrameIntervalDuration = keyFrameIntervalDuration;
            return this;
        }

        /**
         * @param keyFrameIntervalDuration ISO 8601 time duration of the key frame interval duration of the input. This value sets the EXT-X-TARGETDURATION property in the HLS output. For example, use PT2S to indicate 2 seconds. Leave the value empty for encoding live events.
         * 
         * @return builder
         * 
         */
        public Builder keyFrameIntervalDuration(String keyFrameIntervalDuration) {
            return keyFrameIntervalDuration(Output.of(keyFrameIntervalDuration));
        }

        /**
         * @param streamingProtocol The input protocol for the live event. This is specified at creation time and cannot be updated.
         * 
         * @return builder
         * 
         */
        public Builder streamingProtocol(Output> streamingProtocol) {
            $.streamingProtocol = streamingProtocol;
            return this;
        }

        /**
         * @param streamingProtocol The input protocol for the live event. This is specified at creation time and cannot be updated.
         * 
         * @return builder
         * 
         */
        public Builder streamingProtocol(Either streamingProtocol) {
            return streamingProtocol(Output.of(streamingProtocol));
        }

        /**
         * @param streamingProtocol The input protocol for the live event. This is specified at creation time and cannot be updated.
         * 
         * @return builder
         * 
         */
        public Builder streamingProtocol(String streamingProtocol) {
            return streamingProtocol(Either.ofLeft(streamingProtocol));
        }

        /**
         * @param streamingProtocol The input protocol for the live event. This is specified at creation time and cannot be updated.
         * 
         * @return builder
         * 
         */
        public Builder streamingProtocol(LiveEventInputProtocol streamingProtocol) {
            return streamingProtocol(Either.ofRight(streamingProtocol));
        }

        /**
         * @param timedMetadataEndpoints The metadata endpoints for the live event.
         * 
         * @return builder
         * 
         */
        public Builder timedMetadataEndpoints(@Nullable Output> timedMetadataEndpoints) {
            $.timedMetadataEndpoints = timedMetadataEndpoints;
            return this;
        }

        /**
         * @param timedMetadataEndpoints The metadata endpoints for the live event.
         * 
         * @return builder
         * 
         */
        public Builder timedMetadataEndpoints(List timedMetadataEndpoints) {
            return timedMetadataEndpoints(Output.of(timedMetadataEndpoints));
        }

        /**
         * @param timedMetadataEndpoints The metadata endpoints for the live event.
         * 
         * @return builder
         * 
         */
        public Builder timedMetadataEndpoints(LiveEventTimedMetadataEndpointArgs... timedMetadataEndpoints) {
            return timedMetadataEndpoints(List.of(timedMetadataEndpoints));
        }

        public LiveEventInputArgs build() {
            if ($.streamingProtocol == null) {
                throw new MissingRequiredPropertyException("LiveEventInputArgs", "streamingProtocol");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy