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

com.pulumi.aws.medialive.inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsArgs 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.aws.medialive.inputs;

import com.pulumi.aws.medialive.inputs.ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsHlsSettingsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsArgs Empty = new ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsArgs();

    @Import(name="h265PackagingType")
    private @Nullable Output h265PackagingType;

    public Optional> h265PackagingType() {
        return Optional.ofNullable(this.h265PackagingType);
    }

    @Import(name="hlsSettings", required=true)
    private Output hlsSettings;

    public Output hlsSettings() {
        return this.hlsSettings;
    }

    /**
     * String concatenated to the end of the destination filename. Required for multiple outputs of the same type.
     * 
     */
    @Import(name="nameModifier")
    private @Nullable Output nameModifier;

    /**
     * @return String concatenated to the end of the destination filename. Required for multiple outputs of the same type.
     * 
     */
    public Optional> nameModifier() {
        return Optional.ofNullable(this.nameModifier);
    }

    @Import(name="segmentModifier")
    private @Nullable Output segmentModifier;

    public Optional> segmentModifier() {
        return Optional.ofNullable(this.segmentModifier);
    }

    private ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsArgs() {}

    private ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsArgs(ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsArgs $) {
        this.h265PackagingType = $.h265PackagingType;
        this.hlsSettings = $.hlsSettings;
        this.nameModifier = $.nameModifier;
        this.segmentModifier = $.segmentModifier;
    }

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

    public static final class Builder {
        private ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsArgs $;

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

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

        public Builder h265PackagingType(@Nullable Output h265PackagingType) {
            $.h265PackagingType = h265PackagingType;
            return this;
        }

        public Builder h265PackagingType(String h265PackagingType) {
            return h265PackagingType(Output.of(h265PackagingType));
        }

        public Builder hlsSettings(Output hlsSettings) {
            $.hlsSettings = hlsSettings;
            return this;
        }

        public Builder hlsSettings(ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsHlsSettingsArgs hlsSettings) {
            return hlsSettings(Output.of(hlsSettings));
        }

        /**
         * @param nameModifier String concatenated to the end of the destination filename. Required for multiple outputs of the same type.
         * 
         * @return builder
         * 
         */
        public Builder nameModifier(@Nullable Output nameModifier) {
            $.nameModifier = nameModifier;
            return this;
        }

        /**
         * @param nameModifier String concatenated to the end of the destination filename. Required for multiple outputs of the same type.
         * 
         * @return builder
         * 
         */
        public Builder nameModifier(String nameModifier) {
            return nameModifier(Output.of(nameModifier));
        }

        public Builder segmentModifier(@Nullable Output segmentModifier) {
            $.segmentModifier = segmentModifier;
            return this;
        }

        public Builder segmentModifier(String segmentModifier) {
            return segmentModifier(Output.of(segmentModifier));
        }

        public ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsArgs build() {
            if ($.hlsSettings == null) {
                throw new MissingRequiredPropertyException("ChannelEncoderSettingsOutputGroupOutputOutputSettingsHlsOutputSettingsArgs", "hlsSettings");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy