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

com.pulumi.azurenative.media.inputs.CommonEncryptionCbcsArgs 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.CbcsDrmConfigurationArgs;
import com.pulumi.azurenative.media.inputs.ClearKeyEncryptionConfigurationArgs;
import com.pulumi.azurenative.media.inputs.EnabledProtocolsArgs;
import com.pulumi.azurenative.media.inputs.StreamingPolicyContentKeysArgs;
import com.pulumi.azurenative.media.inputs.TrackSelectionArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Class for CommonEncryptionCbcs encryption scheme
 * 
 */
public final class CommonEncryptionCbcsArgs extends com.pulumi.resources.ResourceArgs {

    public static final CommonEncryptionCbcsArgs Empty = new CommonEncryptionCbcsArgs();

    /**
     * Optional configuration supporting ClearKey in CommonEncryptionCbcs encryption scheme.
     * 
     */
    @Import(name="clearKeyEncryptionConfiguration")
    private @Nullable Output clearKeyEncryptionConfiguration;

    /**
     * @return Optional configuration supporting ClearKey in CommonEncryptionCbcs encryption scheme.
     * 
     */
    public Optional> clearKeyEncryptionConfiguration() {
        return Optional.ofNullable(this.clearKeyEncryptionConfiguration);
    }

    /**
     * Representing which tracks should not be encrypted
     * 
     */
    @Import(name="clearTracks")
    private @Nullable Output> clearTracks;

    /**
     * @return Representing which tracks should not be encrypted
     * 
     */
    public Optional>> clearTracks() {
        return Optional.ofNullable(this.clearTracks);
    }

    /**
     * Representing default content key for each encryption scheme and separate content keys for specific tracks
     * 
     */
    @Import(name="contentKeys")
    private @Nullable Output contentKeys;

    /**
     * @return Representing default content key for each encryption scheme and separate content keys for specific tracks
     * 
     */
    public Optional> contentKeys() {
        return Optional.ofNullable(this.contentKeys);
    }

    /**
     * Configuration of DRMs for current encryption scheme
     * 
     */
    @Import(name="drm")
    private @Nullable Output drm;

    /**
     * @return Configuration of DRMs for current encryption scheme
     * 
     */
    public Optional> drm() {
        return Optional.ofNullable(this.drm);
    }

    /**
     * Representing supported protocols
     * 
     */
    @Import(name="enabledProtocols")
    private @Nullable Output enabledProtocols;

    /**
     * @return Representing supported protocols
     * 
     */
    public Optional> enabledProtocols() {
        return Optional.ofNullable(this.enabledProtocols);
    }

    private CommonEncryptionCbcsArgs() {}

    private CommonEncryptionCbcsArgs(CommonEncryptionCbcsArgs $) {
        this.clearKeyEncryptionConfiguration = $.clearKeyEncryptionConfiguration;
        this.clearTracks = $.clearTracks;
        this.contentKeys = $.contentKeys;
        this.drm = $.drm;
        this.enabledProtocols = $.enabledProtocols;
    }

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

    public static final class Builder {
        private CommonEncryptionCbcsArgs $;

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

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

        /**
         * @param clearKeyEncryptionConfiguration Optional configuration supporting ClearKey in CommonEncryptionCbcs encryption scheme.
         * 
         * @return builder
         * 
         */
        public Builder clearKeyEncryptionConfiguration(@Nullable Output clearKeyEncryptionConfiguration) {
            $.clearKeyEncryptionConfiguration = clearKeyEncryptionConfiguration;
            return this;
        }

        /**
         * @param clearKeyEncryptionConfiguration Optional configuration supporting ClearKey in CommonEncryptionCbcs encryption scheme.
         * 
         * @return builder
         * 
         */
        public Builder clearKeyEncryptionConfiguration(ClearKeyEncryptionConfigurationArgs clearKeyEncryptionConfiguration) {
            return clearKeyEncryptionConfiguration(Output.of(clearKeyEncryptionConfiguration));
        }

        /**
         * @param clearTracks Representing which tracks should not be encrypted
         * 
         * @return builder
         * 
         */
        public Builder clearTracks(@Nullable Output> clearTracks) {
            $.clearTracks = clearTracks;
            return this;
        }

        /**
         * @param clearTracks Representing which tracks should not be encrypted
         * 
         * @return builder
         * 
         */
        public Builder clearTracks(List clearTracks) {
            return clearTracks(Output.of(clearTracks));
        }

        /**
         * @param clearTracks Representing which tracks should not be encrypted
         * 
         * @return builder
         * 
         */
        public Builder clearTracks(TrackSelectionArgs... clearTracks) {
            return clearTracks(List.of(clearTracks));
        }

        /**
         * @param contentKeys Representing default content key for each encryption scheme and separate content keys for specific tracks
         * 
         * @return builder
         * 
         */
        public Builder contentKeys(@Nullable Output contentKeys) {
            $.contentKeys = contentKeys;
            return this;
        }

        /**
         * @param contentKeys Representing default content key for each encryption scheme and separate content keys for specific tracks
         * 
         * @return builder
         * 
         */
        public Builder contentKeys(StreamingPolicyContentKeysArgs contentKeys) {
            return contentKeys(Output.of(contentKeys));
        }

        /**
         * @param drm Configuration of DRMs for current encryption scheme
         * 
         * @return builder
         * 
         */
        public Builder drm(@Nullable Output drm) {
            $.drm = drm;
            return this;
        }

        /**
         * @param drm Configuration of DRMs for current encryption scheme
         * 
         * @return builder
         * 
         */
        public Builder drm(CbcsDrmConfigurationArgs drm) {
            return drm(Output.of(drm));
        }

        /**
         * @param enabledProtocols Representing supported protocols
         * 
         * @return builder
         * 
         */
        public Builder enabledProtocols(@Nullable Output enabledProtocols) {
            $.enabledProtocols = enabledProtocols;
            return this;
        }

        /**
         * @param enabledProtocols Representing supported protocols
         * 
         * @return builder
         * 
         */
        public Builder enabledProtocols(EnabledProtocolsArgs enabledProtocols) {
            return enabledProtocols(Output.of(enabledProtocols));
        }

        public CommonEncryptionCbcsArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy