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

com.pulumi.azurenative.videoanalyzer.LivePipelineArgs 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.videoanalyzer;

import com.pulumi.azurenative.videoanalyzer.inputs.ParameterDefinitionArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final LivePipelineArgs Empty = new LivePipelineArgs();

    /**
     * The Azure Video Analyzer account name.
     * 
     */
    @Import(name="accountName", required=true)
    private Output accountName;

    /**
     * @return The Azure Video Analyzer account name.
     * 
     */
    public Output accountName() {
        return this.accountName;
    }

    /**
     * Maximum bitrate capacity in Kbps reserved for the live pipeline. The allowed range is from 500 to 3000 Kbps in increments of 100 Kbps. If the RTSP camera exceeds this capacity, then the service will disconnect temporarily from the camera. It will retry to re-establish connection (with exponential backoff), checking to see if the camera bitrate is now below the reserved capacity. Doing so will ensure that one 'noisy neighbor' does not affect other live pipelines in your account.
     * 
     */
    @Import(name="bitrateKbps", required=true)
    private Output bitrateKbps;

    /**
     * @return Maximum bitrate capacity in Kbps reserved for the live pipeline. The allowed range is from 500 to 3000 Kbps in increments of 100 Kbps. If the RTSP camera exceeds this capacity, then the service will disconnect temporarily from the camera. It will retry to re-establish connection (with exponential backoff), checking to see if the camera bitrate is now below the reserved capacity. Doing so will ensure that one 'noisy neighbor' does not affect other live pipelines in your account.
     * 
     */
    public Output bitrateKbps() {
        return this.bitrateKbps;
    }

    /**
     * An optional description for the pipeline.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return An optional description for the pipeline.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Live pipeline unique identifier.
     * 
     */
    @Import(name="livePipelineName")
    private @Nullable Output livePipelineName;

    /**
     * @return Live pipeline unique identifier.
     * 
     */
    public Optional> livePipelineName() {
        return Optional.ofNullable(this.livePipelineName);
    }

    /**
     * List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden.
     * 
     */
    @Import(name="parameters")
    private @Nullable Output> parameters;

    /**
     * @return List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden.
     * 
     */
    public Optional>> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The reference to an existing pipeline topology defined for real-time content processing. When activated, this live pipeline will process content according to the pipeline topology definition.
     * 
     */
    @Import(name="topologyName", required=true)
    private Output topologyName;

    /**
     * @return The reference to an existing pipeline topology defined for real-time content processing. When activated, this live pipeline will process content according to the pipeline topology definition.
     * 
     */
    public Output topologyName() {
        return this.topologyName;
    }

    private LivePipelineArgs() {}

    private LivePipelineArgs(LivePipelineArgs $) {
        this.accountName = $.accountName;
        this.bitrateKbps = $.bitrateKbps;
        this.description = $.description;
        this.livePipelineName = $.livePipelineName;
        this.parameters = $.parameters;
        this.resourceGroupName = $.resourceGroupName;
        this.topologyName = $.topologyName;
    }

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

    public static final class Builder {
        private LivePipelineArgs $;

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

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

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

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

        /**
         * @param bitrateKbps Maximum bitrate capacity in Kbps reserved for the live pipeline. The allowed range is from 500 to 3000 Kbps in increments of 100 Kbps. If the RTSP camera exceeds this capacity, then the service will disconnect temporarily from the camera. It will retry to re-establish connection (with exponential backoff), checking to see if the camera bitrate is now below the reserved capacity. Doing so will ensure that one 'noisy neighbor' does not affect other live pipelines in your account.
         * 
         * @return builder
         * 
         */
        public Builder bitrateKbps(Output bitrateKbps) {
            $.bitrateKbps = bitrateKbps;
            return this;
        }

        /**
         * @param bitrateKbps Maximum bitrate capacity in Kbps reserved for the live pipeline. The allowed range is from 500 to 3000 Kbps in increments of 100 Kbps. If the RTSP camera exceeds this capacity, then the service will disconnect temporarily from the camera. It will retry to re-establish connection (with exponential backoff), checking to see if the camera bitrate is now below the reserved capacity. Doing so will ensure that one 'noisy neighbor' does not affect other live pipelines in your account.
         * 
         * @return builder
         * 
         */
        public Builder bitrateKbps(Integer bitrateKbps) {
            return bitrateKbps(Output.of(bitrateKbps));
        }

        /**
         * @param description An optional description for the pipeline.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description An optional description for the pipeline.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param livePipelineName Live pipeline unique identifier.
         * 
         * @return builder
         * 
         */
        public Builder livePipelineName(@Nullable Output livePipelineName) {
            $.livePipelineName = livePipelineName;
            return this;
        }

        /**
         * @param livePipelineName Live pipeline unique identifier.
         * 
         * @return builder
         * 
         */
        public Builder livePipelineName(String livePipelineName) {
            return livePipelineName(Output.of(livePipelineName));
        }

        /**
         * @param parameters List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden.
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output> parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden.
         * 
         * @return builder
         * 
         */
        public Builder parameters(List parameters) {
            return parameters(Output.of(parameters));
        }

        /**
         * @param parameters List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden.
         * 
         * @return builder
         * 
         */
        public Builder parameters(ParameterDefinitionArgs... parameters) {
            return parameters(List.of(parameters));
        }

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

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param topologyName The reference to an existing pipeline topology defined for real-time content processing. When activated, this live pipeline will process content according to the pipeline topology definition.
         * 
         * @return builder
         * 
         */
        public Builder topologyName(Output topologyName) {
            $.topologyName = topologyName;
            return this;
        }

        /**
         * @param topologyName The reference to an existing pipeline topology defined for real-time content processing. When activated, this live pipeline will process content according to the pipeline topology definition.
         * 
         * @return builder
         * 
         */
        public Builder topologyName(String topologyName) {
            return topologyName(Output.of(topologyName));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy