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

com.pulumi.azurenative.media.outputs.JobInputAssetResponse Maven / Gradle / Ivy

There is a newer version: 2.82.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 JobInputAssetResponse {
    /**
     * @return The name of the input Asset.
     * 
     */
    private String assetName;
    /**
     * @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.JobInputAsset'.
     * 
     */
    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 JobInputAssetResponse() {}
    /**
     * @return The name of the input Asset.
     * 
     */
    public String assetName() {
        return this.assetName;
    }
    /**
     * @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.JobInputAsset'.
     * 
     */
    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(JobInputAssetResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String assetName;
        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(JobInputAssetResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.assetName = defaults.assetName;
    	      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 assetName(String assetName) {
            if (assetName == null) {
              throw new MissingRequiredPropertyException("JobInputAssetResponse", "assetName");
            }
            this.assetName = assetName;
            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("JobInputAssetResponse", "odataType");
            }
            this.odataType = odataType;
            return this;
        }
        @CustomType.Setter
        public Builder start(@Nullable Either start) {

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