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

com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutput Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

The 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.aws.medialive.outputs;

import com.pulumi.aws.medialive.outputs.ChannelEncoderSettingsOutputGroupOutputOutputSettings;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ChannelEncoderSettingsOutputGroupOutput {
    /**
     * @return The names of the audio descriptions used as audio sources for the output.
     * 
     */
    private @Nullable List audioDescriptionNames;
    /**
     * @return The names of the caption descriptions used as caption sources for the output.
     * 
     */
    private @Nullable List captionDescriptionNames;
    /**
     * @return The name used to identify an output.
     * 
     */
    private @Nullable String outputName;
    /**
     * @return Settings for output. See Output Settings for more details.
     * 
     */
    private ChannelEncoderSettingsOutputGroupOutputOutputSettings outputSettings;
    /**
     * @return The name of the video description used as video source for the output.
     * 
     */
    private @Nullable String videoDescriptionName;

    private ChannelEncoderSettingsOutputGroupOutput() {}
    /**
     * @return The names of the audio descriptions used as audio sources for the output.
     * 
     */
    public List audioDescriptionNames() {
        return this.audioDescriptionNames == null ? List.of() : this.audioDescriptionNames;
    }
    /**
     * @return The names of the caption descriptions used as caption sources for the output.
     * 
     */
    public List captionDescriptionNames() {
        return this.captionDescriptionNames == null ? List.of() : this.captionDescriptionNames;
    }
    /**
     * @return The name used to identify an output.
     * 
     */
    public Optional outputName() {
        return Optional.ofNullable(this.outputName);
    }
    /**
     * @return Settings for output. See Output Settings for more details.
     * 
     */
    public ChannelEncoderSettingsOutputGroupOutputOutputSettings outputSettings() {
        return this.outputSettings;
    }
    /**
     * @return The name of the video description used as video source for the output.
     * 
     */
    public Optional videoDescriptionName() {
        return Optional.ofNullable(this.videoDescriptionName);
    }

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

    public static Builder builder(ChannelEncoderSettingsOutputGroupOutput defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List audioDescriptionNames;
        private @Nullable List captionDescriptionNames;
        private @Nullable String outputName;
        private ChannelEncoderSettingsOutputGroupOutputOutputSettings outputSettings;
        private @Nullable String videoDescriptionName;
        public Builder() {}
        public Builder(ChannelEncoderSettingsOutputGroupOutput defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.audioDescriptionNames = defaults.audioDescriptionNames;
    	      this.captionDescriptionNames = defaults.captionDescriptionNames;
    	      this.outputName = defaults.outputName;
    	      this.outputSettings = defaults.outputSettings;
    	      this.videoDescriptionName = defaults.videoDescriptionName;
        }

        @CustomType.Setter
        public Builder audioDescriptionNames(@Nullable List audioDescriptionNames) {

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

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

            this.outputName = outputName;
            return this;
        }
        @CustomType.Setter
        public Builder outputSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettings outputSettings) {
            if (outputSettings == null) {
              throw new MissingRequiredPropertyException("ChannelEncoderSettingsOutputGroupOutput", "outputSettings");
            }
            this.outputSettings = outputSettings;
            return this;
        }
        @CustomType.Setter
        public Builder videoDescriptionName(@Nullable String videoDescriptionName) {

            this.videoDescriptionName = videoDescriptionName;
            return this;
        }
        public ChannelEncoderSettingsOutputGroupOutput build() {
            final var _resultValue = new ChannelEncoderSettingsOutputGroupOutput();
            _resultValue.audioDescriptionNames = audioDescriptionNames;
            _resultValue.captionDescriptionNames = captionDescriptionNames;
            _resultValue.outputName = outputName;
            _resultValue.outputSettings = outputSettings;
            _resultValue.videoDescriptionName = videoDescriptionName;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy