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

com.pulumi.azurenative.media.inputs.SelectVideoTrackByAttributeArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.AttributeFilter;
import com.pulumi.azurenative.media.enums.TrackAttribute;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Select video tracks from the input by specifying an attribute and an attribute filter.
 * 
 */
public final class SelectVideoTrackByAttributeArgs extends com.pulumi.resources.ResourceArgs {

    public static final SelectVideoTrackByAttributeArgs Empty = new SelectVideoTrackByAttributeArgs();

    /**
     * The TrackAttribute to filter the tracks by.
     * 
     */
    @Import(name="attribute", required=true)
    private Output> attribute;

    /**
     * @return The TrackAttribute to filter the tracks by.
     * 
     */
    public Output> attribute() {
        return this.attribute;
    }

    /**
     * The type of AttributeFilter to apply to the TrackAttribute in order to select the tracks.
     * 
     */
    @Import(name="filter", required=true)
    private Output> filter;

    /**
     * @return The type of AttributeFilter to apply to the TrackAttribute in order to select the tracks.
     * 
     */
    public Output> filter() {
        return this.filter;
    }

    /**
     * The value to filter the tracks by.  Only used when AttributeFilter.ValueEquals is specified for the Filter property. For TrackAttribute.Bitrate, this should be an integer value in bits per second (e.g: '1500000').  The TrackAttribute.Language is not supported for video tracks.
     * 
     */
    @Import(name="filterValue")
    private @Nullable Output filterValue;

    /**
     * @return The value to filter the tracks by.  Only used when AttributeFilter.ValueEquals is specified for the Filter property. For TrackAttribute.Bitrate, this should be an integer value in bits per second (e.g: '1500000').  The TrackAttribute.Language is not supported for video tracks.
     * 
     */
    public Optional> filterValue() {
        return Optional.ofNullable(this.filterValue);
    }

    /**
     * The discriminator for derived types.
     * Expected value is '#Microsoft.Media.SelectVideoTrackByAttribute'.
     * 
     */
    @Import(name="odataType", required=true)
    private Output odataType;

    /**
     * @return The discriminator for derived types.
     * Expected value is '#Microsoft.Media.SelectVideoTrackByAttribute'.
     * 
     */
    public Output odataType() {
        return this.odataType;
    }

    private SelectVideoTrackByAttributeArgs() {}

    private SelectVideoTrackByAttributeArgs(SelectVideoTrackByAttributeArgs $) {
        this.attribute = $.attribute;
        this.filter = $.filter;
        this.filterValue = $.filterValue;
        this.odataType = $.odataType;
    }

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

    public static final class Builder {
        private SelectVideoTrackByAttributeArgs $;

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

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

        /**
         * @param attribute The TrackAttribute to filter the tracks by.
         * 
         * @return builder
         * 
         */
        public Builder attribute(Output> attribute) {
            $.attribute = attribute;
            return this;
        }

        /**
         * @param attribute The TrackAttribute to filter the tracks by.
         * 
         * @return builder
         * 
         */
        public Builder attribute(Either attribute) {
            return attribute(Output.of(attribute));
        }

        /**
         * @param attribute The TrackAttribute to filter the tracks by.
         * 
         * @return builder
         * 
         */
        public Builder attribute(String attribute) {
            return attribute(Either.ofLeft(attribute));
        }

        /**
         * @param attribute The TrackAttribute to filter the tracks by.
         * 
         * @return builder
         * 
         */
        public Builder attribute(TrackAttribute attribute) {
            return attribute(Either.ofRight(attribute));
        }

        /**
         * @param filter The type of AttributeFilter to apply to the TrackAttribute in order to select the tracks.
         * 
         * @return builder
         * 
         */
        public Builder filter(Output> filter) {
            $.filter = filter;
            return this;
        }

        /**
         * @param filter The type of AttributeFilter to apply to the TrackAttribute in order to select the tracks.
         * 
         * @return builder
         * 
         */
        public Builder filter(Either filter) {
            return filter(Output.of(filter));
        }

        /**
         * @param filter The type of AttributeFilter to apply to the TrackAttribute in order to select the tracks.
         * 
         * @return builder
         * 
         */
        public Builder filter(String filter) {
            return filter(Either.ofLeft(filter));
        }

        /**
         * @param filter The type of AttributeFilter to apply to the TrackAttribute in order to select the tracks.
         * 
         * @return builder
         * 
         */
        public Builder filter(AttributeFilter filter) {
            return filter(Either.ofRight(filter));
        }

        /**
         * @param filterValue The value to filter the tracks by.  Only used when AttributeFilter.ValueEquals is specified for the Filter property. For TrackAttribute.Bitrate, this should be an integer value in bits per second (e.g: '1500000').  The TrackAttribute.Language is not supported for video tracks.
         * 
         * @return builder
         * 
         */
        public Builder filterValue(@Nullable Output filterValue) {
            $.filterValue = filterValue;
            return this;
        }

        /**
         * @param filterValue The value to filter the tracks by.  Only used when AttributeFilter.ValueEquals is specified for the Filter property. For TrackAttribute.Bitrate, this should be an integer value in bits per second (e.g: '1500000').  The TrackAttribute.Language is not supported for video tracks.
         * 
         * @return builder
         * 
         */
        public Builder filterValue(String filterValue) {
            return filterValue(Output.of(filterValue));
        }

        /**
         * @param odataType The discriminator for derived types.
         * Expected value is '#Microsoft.Media.SelectVideoTrackByAttribute'.
         * 
         * @return builder
         * 
         */
        public Builder odataType(Output odataType) {
            $.odataType = odataType;
            return this;
        }

        /**
         * @param odataType The discriminator for derived types.
         * Expected value is '#Microsoft.Media.SelectVideoTrackByAttribute'.
         * 
         * @return builder
         * 
         */
        public Builder odataType(String odataType) {
            return odataType(Output.of(odataType));
        }

        public SelectVideoTrackByAttributeArgs build() {
            if ($.attribute == null) {
                throw new MissingRequiredPropertyException("SelectVideoTrackByAttributeArgs", "attribute");
            }
            if ($.filter == null) {
                throw new MissingRequiredPropertyException("SelectVideoTrackByAttributeArgs", "filter");
            }
            $.odataType = Codegen.stringProp("odataType").output().arg($.odataType).require();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy