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

com.pulumi.azurenative.media.outputs.JobInputHttpResponse 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.outputs;

import com.pulumi.azurenative.media.outputs.AbsoluteClipTimeResponse;
import com.pulumi.azurenative.media.outputs.FromAllInputFileResponse;
import com.pulumi.azurenative.media.outputs.FromEachInputFileResponse;
import com.pulumi.azurenative.media.outputs.InputFileResponse;
import com.pulumi.azurenative.media.outputs.UtcClipTimeResponse;
import com.pulumi.core.Either;
import com.pulumi.core.annotations.CustomType;
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;

@CustomType
public final class JobInputHttpResponse {
    /**
     * @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.
     * 
     */
    private @Nullable String baseUri;
    /**
     * @return Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media.
     * 
     */
    private @Nullable Either end;
    /**
     * @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.
     * 
     */
    private @Nullable List files;
    /**
     * @return Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
     * 
     */
    private @Nullable List inputDefinitions;
    /**
     * @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'.
     * 
     */
    private @Nullable String label;
    /**
     * @return The discriminator for derived types.
     * Expected value is '#Microsoft.Media.JobInputHttp'.
     * 
     */
    private String odataType;
    /**
     * @return Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media.
     * 
     */
    private @Nullable Either start;

    private JobInputHttpResponse() {}
    /**
     * @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);
    }
    /**
     * @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);
    }
    /**
     * @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 List files() {
        return this.files == null ? List.of() : this.files;
    }
    /**
     * @return Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata.
     * 
     */
    public List inputDefinitions() {
        return this.inputDefinitions == null ? List.of() : this.inputDefinitions;
    }
    /**
     * @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);
    }
    /**
     * @return The discriminator for derived types.
     * Expected value is '#Microsoft.Media.JobInputHttp'.
     * 
     */
    public String odataType() {
        return this.odataType;
    }
    /**
     * @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);
    }

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

    public static Builder builder(JobInputHttpResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String baseUri;
        private @Nullable Either end;
        private @Nullable List files;
        private @Nullable List inputDefinitions;
        private @Nullable String label;
        private String odataType;
        private @Nullable Either start;
        public Builder() {}
        public Builder(JobInputHttpResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.baseUri = defaults.baseUri;
    	      this.end = defaults.end;
    	      this.files = defaults.files;
    	      this.inputDefinitions = defaults.inputDefinitions;
    	      this.label = defaults.label;
    	      this.odataType = defaults.odataType;
    	      this.start = defaults.start;
        }

        @CustomType.Setter
        public Builder baseUri(@Nullable String baseUri) {

            this.baseUri = baseUri;
            return this;
        }
        @CustomType.Setter
        public Builder end(@Nullable Either end) {

            this.end = end;
            return this;
        }
        @CustomType.Setter
        public Builder files(@Nullable List files) {

            this.files = files;
            return this;
        }
        public Builder files(String... files) {
            return files(List.of(files));
        }
        @CustomType.Setter
        public Builder inputDefinitions(@Nullable List inputDefinitions) {

            this.inputDefinitions = inputDefinitions;
            return this;
        }
        public Builder inputDefinitions(Object... inputDefinitions) {
            return inputDefinitions(List.of(inputDefinitions));
        }
        @CustomType.Setter
        public Builder label(@Nullable String label) {

            this.label = label;
            return this;
        }
        @CustomType.Setter
        public Builder odataType(String odataType) {
            if (odataType == null) {
              throw new MissingRequiredPropertyException("JobInputHttpResponse", "odataType");
            }
            this.odataType = odataType;
            return this;
        }
        @CustomType.Setter
        public Builder start(@Nullable Either start) {

            this.start = start;
            return this;
        }
        public JobInputHttpResponse build() {
            final var _resultValue = new JobInputHttpResponse();
            _resultValue.baseUri = baseUri;
            _resultValue.end = end;
            _resultValue.files = files;
            _resultValue.inputDefinitions = inputDefinitions;
            _resultValue.label = label;
            _resultValue.odataType = odataType;
            _resultValue.start = start;
            return _resultValue;
        }
    }
}