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

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

// *** 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.inputs.AudioAnalyzerPresetArgs;
import com.pulumi.azurenative.media.inputs.BuiltInStandardEncoderPresetArgs;
import com.pulumi.azurenative.media.inputs.FaceDetectorPresetArgs;
import com.pulumi.azurenative.media.inputs.StandardEncoderPresetArgs;
import com.pulumi.azurenative.media.inputs.VideoAnalyzerPresetArgs;
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.Object;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Represents an Asset used as a JobOutput.
 * 
 */
public final class JobOutputAssetArgs extends com.pulumi.resources.ResourceArgs {

    public static final JobOutputAssetArgs Empty = new JobOutputAssetArgs();

    /**
     * The name of the output Asset.
     * 
     */
    @Import(name="assetName", required=true)
    private Output assetName;

    /**
     * @return The name of the output Asset.
     * 
     */
    public Output assetName() {
        return this.assetName;
    }

    /**
     * A label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform.
     * 
     */
    @Import(name="label")
    private @Nullable Output label;

    /**
     * @return A label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform.
     * 
     */
    public Optional> label() {
        return Optional.ofNullable(this.label);
    }

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

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

    /**
     * A preset used to override the preset in the corresponding transform output.
     * 
     */
    @Import(name="presetOverride")
    private @Nullable Output presetOverride;

    /**
     * @return A preset used to override the preset in the corresponding transform output.
     * 
     */
    public Optional> presetOverride() {
        return Optional.ofNullable(this.presetOverride);
    }

    private JobOutputAssetArgs() {}

    private JobOutputAssetArgs(JobOutputAssetArgs $) {
        this.assetName = $.assetName;
        this.label = $.label;
        this.odataType = $.odataType;
        this.presetOverride = $.presetOverride;
    }

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

    public static final class Builder {
        private JobOutputAssetArgs $;

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

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

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

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

        /**
         * @param label A label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform.
         * 
         * @return builder
         * 
         */
        public Builder label(@Nullable Output label) {
            $.label = label;
            return this;
        }

        /**
         * @param label A label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform.
         * 
         * @return builder
         * 
         */
        public Builder label(String label) {
            return label(Output.of(label));
        }

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

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

        /**
         * @param presetOverride A preset used to override the preset in the corresponding transform output.
         * 
         * @return builder
         * 
         */
        public Builder presetOverride(@Nullable Output presetOverride) {
            $.presetOverride = presetOverride;
            return this;
        }

        /**
         * @param presetOverride A preset used to override the preset in the corresponding transform output.
         * 
         * @return builder
         * 
         */
        public Builder presetOverride(Object presetOverride) {
            return presetOverride(Output.of(presetOverride));
        }

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

}