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

com.pulumi.azurenative.media.inputs.JobInputHttpArgs 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.inputs.AbsoluteClipTimeArgs;
import com.pulumi.azurenative.media.inputs.FromAllInputFileArgs;
import com.pulumi.azurenative.media.inputs.FromEachInputFileArgs;
import com.pulumi.azurenative.media.inputs.InputFileArgs;
import com.pulumi.azurenative.media.inputs.UtcClipTimeArgs;
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.Object;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Represents HTTPS job input.
 * 
 */
public final class JobInputHttpArgs extends com.pulumi.resources.ResourceArgs {

    public static final JobInputHttpArgs Empty = new JobInputHttpArgs();

    /**
     * Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. Maximum length of 4000 characters. The query strings will not be returned in service responses to prevent sensitive data exposure.
     * 
     */
    @Import(name="baseUri")
    private @Nullable Output baseUri;

    /**
     * @return Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. Maximum length of 4000 characters. The query strings will not be returned in service responses to prevent sensitive data exposure.
     * 
     */
    public Optional> baseUri() {
        return Optional.ofNullable(this.baseUri);
    }

    /**
     * Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
     * 
     */
    @Import(name="end")
    private @Nullable Output> end;

    /**
     * @return Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
     * 
     */
    public Optional>> end() {
        return Optional.ofNullable(this.end);
    }

    /**
     * List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure.
     * 
     */
    @Import(name="files")
    private @Nullable Output> files;

    /**
     * @return List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure.
     * 
     */
    public Optional>> files() {
        return Optional.ofNullable(this.files);
    }

    /**
     * Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
     * 
     */
    @Import(name="inputDefinitions")
    private @Nullable Output> inputDefinitions;

    /**
     * @return Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
     * 
     */
    public Optional>> inputDefinitions() {
        return Optional.ofNullable(this.inputDefinitions);
    }

    /**
     * A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'.
     * 
     */
    @Import(name="label")
    private @Nullable Output label;

    /**
     * @return A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'.
     * 
     */
    public Optional> label() {
        return Optional.ofNullable(this.label);
    }

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

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

    /**
     * Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
     * 
     */
    @Import(name="start")
    private @Nullable Output> start;

    /**
     * @return Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
     * 
     */
    public Optional>> start() {
        return Optional.ofNullable(this.start);
    }

    private JobInputHttpArgs() {}

    private JobInputHttpArgs(JobInputHttpArgs $) {
        this.baseUri = $.baseUri;
        this.end = $.end;
        this.files = $.files;
        this.inputDefinitions = $.inputDefinitions;
        this.label = $.label;
        this.odataType = $.odataType;
        this.start = $.start;
    }

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

    public static final class Builder {
        private JobInputHttpArgs $;

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

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

        /**
         * @param baseUri Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. Maximum length of 4000 characters. The query strings will not be returned in service responses to prevent sensitive data exposure.
         * 
         * @return builder
         * 
         */
        public Builder baseUri(@Nullable Output baseUri) {
            $.baseUri = baseUri;
            return this;
        }

        /**
         * @param baseUri Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. Maximum length of 4000 characters. The query strings will not be returned in service responses to prevent sensitive data exposure.
         * 
         * @return builder
         * 
         */
        public Builder baseUri(String baseUri) {
            return baseUri(Output.of(baseUri));
        }

        /**
         * @param end Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
         * 
         * @return builder
         * 
         */
        public Builder end(@Nullable Output> end) {
            $.end = end;
            return this;
        }

        /**
         * @param end Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
         * 
         * @return builder
         * 
         */
        public Builder end(Either end) {
            return end(Output.of(end));
        }

        /**
         * @param end Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
         * 
         * @return builder
         * 
         */
        public Builder end(AbsoluteClipTimeArgs end) {
            return end(Either.ofLeft(end));
        }

        /**
         * @param end Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
         * 
         * @return builder
         * 
         */
        public Builder end(UtcClipTimeArgs end) {
            return end(Either.ofRight(end));
        }

        /**
         * @param files List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure.
         * 
         * @return builder
         * 
         */
        public Builder files(@Nullable Output> files) {
            $.files = files;
            return this;
        }

        /**
         * @param files List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure.
         * 
         * @return builder
         * 
         */
        public Builder files(List files) {
            return files(Output.of(files));
        }

        /**
         * @param files List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure.
         * 
         * @return builder
         * 
         */
        public Builder files(String... files) {
            return files(List.of(files));
        }

        /**
         * @param inputDefinitions Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
         * 
         * @return builder
         * 
         */
        public Builder inputDefinitions(@Nullable Output> inputDefinitions) {
            $.inputDefinitions = inputDefinitions;
            return this;
        }

        /**
         * @param inputDefinitions Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
         * 
         * @return builder
         * 
         */
        public Builder inputDefinitions(List inputDefinitions) {
            return inputDefinitions(Output.of(inputDefinitions));
        }

        /**
         * @param inputDefinitions Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
         * 
         * @return builder
         * 
         */
        public Builder inputDefinitions(Object... inputDefinitions) {
            return inputDefinitions(List.of(inputDefinitions));
        }

        /**
         * @param label A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'.
         * 
         * @return builder
         * 
         */
        public Builder label(@Nullable Output label) {
            $.label = label;
            return this;
        }

        /**
         * @param label A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'.
         * 
         * @return builder
         * 
         */
        public Builder label(String label) {
            return label(Output.of(label));
        }

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

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

        /**
         * @param start Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
         * 
         * @return builder
         * 
         */
        public Builder start(@Nullable Output> start) {
            $.start = start;
            return this;
        }

        /**
         * @param start Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
         * 
         * @return builder
         * 
         */
        public Builder start(Either start) {
            return start(Output.of(start));
        }

        /**
         * @param start Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
         * 
         * @return builder
         * 
         */
        public Builder start(AbsoluteClipTimeArgs start) {
            return start(Either.ofLeft(start));
        }

        /**
         * @param start Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
         * 
         * @return builder
         * 
         */
        public Builder start(UtcClipTimeArgs start) {
            return start(Either.ofRight(start));
        }

        public JobInputHttpArgs build() {
            $.odataType = Codegen.stringProp("odataType").output().arg($.odataType).require();
            return $;
        }
    }

}